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で指定する必要があります.

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

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

利用者ページ
An easy way to set up toggling this highlighting on or off is to make a Gadget with CSS in it. Yes, this is a personalization extension that outsources the personalization part to other extensions; I can still sleep at night.

動作の仕組み
Right after MediaWiki determines which linked pages exist (to make redlinks), it runs the  hook (see LinkHolderArray.php). As we have a list of all of the page ids which are linked on that page, we can run one database query to see which of these links are in the set of categories we want to highlight. Because the query only happens on an index of the  table, it's reasonably fast. Then CSS classes are assigned based on the result, using the configuration values the user sets in.

Explaining how CSS works is outside the scope of this document.

既知の問題点

 * CSS styles are not added in Flow, because it doesn't appear to call the GetLinkColors hook there.

関連項目

 * Category:LinkEnd extensions - which customize links in other ways