Extension:Highlight Links in Category/ja

Highlight Links in Categoryは、あるカテゴリのメンバーを指すリンクにCSSクラスを追加する拡張機能です.

問題やバグを報告するには、Miraheze Phabricatorを使用してください.

インストール


構成パラメーター

 * $wgHighlightLinksInCategory
 * このグローバルは、どのカテゴリに CSS クラスが追加されるかを設定する配列です. キーはカテゴリ名で、空白ではなく「_」 (アンダースコア) を含む必要があります. 「Category:」(カテゴリ:) は含めないでください. 各キーの値は、そのカテゴリに追加したい CSS クラスです. たとえば、以下のようになります.

複数のクラスを追加する場合は、以下のようにクラス名をスペースで区切ってください.

好きなだけ追加できますが、UXの観点からすると、500種類のスタイルリンクを追加するのはすごいことではないのかもしれません.

$wgHighlightLinksInCategory が設定されていないか、空である場合、この拡張機能は何もしません. Wikiファームを運営していて、いくつかのWikiでこれをオフにする必要がある場合、 を設定してください; を使用すると、正しくない動作につながる可能性があります.

スタイル
これらのリンクに必要なスタイルを、あなたのwikiのMediaWiki:Common.cssに追加するだけです. たとえば

あるカテゴリを他のカテゴリより優先させたい場合は、CSS で指定する必要があります.

あるいは、代わりに元の ルールを として定義することもできたでしょう.

リンクアイコンのアプローチもあります.



利用者の切り替え
このハイライトのオン・オフを簡単に設定する方法は、CSSを入れたGadgetを作成することです. そう、これはパーソナライズ部分を他のエクステンションにアウトソースするパーソナライズ拡張機能です. 夜も眠れるようになりました.



動作の仕組み
MediaWikiがどのリンクされたページが存在するか決定した直後に(レッドリンクを作成するために)、 フックを実行します(LinkHolderArray.phpを参照). そのページにリンクされているすべてのページIDのリストがあるので、データベースのクエリを実行すれば、これらのリンクのうち、強調したいカテゴリのセットに含まれるものを確認することができます. このクエリは テーブルのインデックスに対してのみ発生するので、それなりに高速です. そして、 でユーザが設定した構成値を使って、結果に基づいてCSSクラスが割り当てられます.

CSSの仕組みの説明は、ドキュメントの範囲外です.



既知の問題点

 * CSS スタイルはFlowに追加されません. なぜなら、そこでは GetLinkColorsフックを呼び出していないようです.



関連項目

 * Category:LinkEnd extensions - その他の方法でリンクをカスタマイズする