User:Mzm5zbC3/MediaWiki question/過去ログ

From mediawiki.org

User:Mzm5zbC3/MediaWiki question の解決した問題を質問とその解決した方法を過去ログにまとめています。

検索時の interlang link について[edit]

説明しにくいけど検索時に例えば JAWP なら 特別:Search/ja: と(JAWP 上で)すると ja: は JAWP のプリフィックスなので ja: は無視される。特別:Search/ja:Wikipedia:井戸端などは特別:Search/Wikipedia:井戸端として検索されたる(存在しないページの検索では 特別:Search/ja:Wikipedia:A とすると #contentSub の部分は ja:Wikipedia:A のような表示になる)が 普通に MediaWiki を設置すると Ja: や Ja:Wikipedia:井戸端 というページ名として検索される模様。 ja: や ja:Wikipedia: と検索した場合は JAWP では #contentSub の部分がページ名を入れずに名前空間名だけで検索したときと同様に無効のままリンクされない。動作としては $wgNamespaceAliases と同様みたいなのでこれを使用するのかと思っていたけど、標準名前空間は空のためか標準名前空間の別名は有効にならないらしい。また、すべての名前空間及び疑似名前空間とそれらの別名(英語名)をすべて設定するのは非効率でありそのように設定しているとは思えない。 interlang link を設定すると他の interlang link と同様に動作してしまう。

A.
$wgLocalInterwiki を設定する
例えば ja: が接頭辞なら $wgLocalInterwiki = 'ja'; とする。

出力される HTML が違う[edit]

箇条書きで出力される HTML が Wikimedia プロジェクトと自分で設置した MediaWiki とで何故か異なる。他の MediaWiki を導入しているサイトや wikia などでも同様なので自分だけの問題ではない模様。因みに Wikimedia プロジェクトの MediaWiki だけ動作が違うけど(最初の例以外は)XHTML 文法上は Wikimedia プロジェクトの MediaWiki が出力する HTML の方が正しい。最初の例だけは表示(パース)結果は同じ。

番号 Wiki 文法 返される HTML
Wikimedia プロジェクト 自分で設置した MediaWiki
1.
; test
: test
<dl>
<dt>test</dt>
<dd>test</dd>
</dl>
<dl><dt> test
</dt><dd> test
</dd></dl>
2.
; test
:* test
<dl>
<dt>test</dt>
<dd>
<ul>
<li>test</li>
</ul>
</dd>
</dl>
<dl><dt> test
<ul><li> test
</li></ul>
</dt></dl>
3.
; test
:# test
<dl>
<dt>test</dt>
<dd>
<ol>
<li>test</li>
</ol>
</dd>
</dl>
<dl><dt> test
<ol><li> test
</li></ol>
</dt></dl>
4.
<dl>
<dt>test</dt>
<dd>test</dd>
</dl>
<dl>
<dt>test</dt>
<dd>test</dd>
</dl>
<dl>
<dt>test&lt;/dt&gt;
<dd>test&lt;/dd&gt;
</dl>
5.
<dl>
<dt>test</dt>
<dd>
<ul>
<li>test</li>
</ul>
</dd>
</dl>
<dl>
<dt>test</dt>
<dd>
<ul>
<li>test</li>
</ul>
</dd>
</dl>
<p><dl>
<dt>test</dt>
<dd>
</p>
<ul>
<li>test</li>
</ul>
<p>&lt;/dd&gt;
</dl>
</p>
6.
<dl>
<dt>test</dt>
<dd>
<ol>
<li>test</li>
</ol>
</dd>
</dl>
<dl>
<dt>test</dt>
<dd>
<ol>
<li>test</li>
</ol>
</dd>
</dl>
<p><dl>
<dt>test&lt;/dt&gt;
<dd>
</p>
<ol>
<li>test</li>
</ol>
<p>&lt;/dd&gt;
</dl>
</p>
補足追記
  • 上記では主に定義リスト(DL-DT-DD)の例だがリスト及び番号リストでも出力される HTML が違ったり問題があったりする
  • 他にも TABLE など一部のタグも出力が異なることがある
  • Wikimedia プロジェクトで Special:ParserDiffTest から比較プレビューしたときは正常な HTML を返すが Special:ExpandTemplates でプレビューしたときは何故か自分で設置したときと同様におかしな HTML が返される模様
  • svn:trunk/phase3/includes/Parser.php を見た限りでは Wikimedia プロジェクトのような動作はしないように見えるのでパーサーフックか何かを使用している可能性ありだが、そうする(本体を修正しないで独自に修正している)意味が分からない
  • 4. 番目の例は mediazilla:11748 と同一の可能性あり(英語が読めないので詳細は分からないがリンク先のサンプルに同様のものがあった)
A.
$wgUseTidy を true に設定して Tidy を有効にする。
Tidy は Linux ならソースから自分でコンパイルするか HTML Tidy日本語版を導入する(ただしバージョンが古い)。
Windows 版のバイナリも配布されている。