Extension:Highlight Links in Category
![]() リリースの状態: 安定 |
|
---|---|
![]() |
|
実装 | ユーザー インターフェイス, 自分のウィキ |
説明 | Adds a CSS class to links pointing to members of a category |
作者 | Brent Laabs (BrentLaabsトーク) |
最新バージョン | 0.9.0 (2021-05-29) |
MediaWiki | 1.25+ |
データベースの変更 | いいえ |
ライセンス | MIT ライセンス |
ダウンロード | readme repository |
例 | https://allthetropes.org/ |
$wgHighlightLinksInCategory |
|
Highlight Links in Categoryは、あるカテゴリのメンバーを指すリンクにCSSクラスを追加する拡張機能です。
問題やバグを報告するには、Miraheze Phabricatorを使用してください。
インストール
- ダウンロードして、ファイルを
extensions/
フォルダー内のHighlightLinksInCategory
という名前のディレクトリ内に配置します。
開発者とコード寄稿者は、上記の代わりに以下を使用してGitからインストールします:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/HighlightLinksInCategory - 以下のコードを LocalSettings.php ファイルの末尾に追加します:
wfLoadExtension( 'HighlightLinksInCategory' );
- 完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。
構成パラメーター
- $wgHighlightLinksInCategory
- このグローバルは、どのカテゴリに CSS クラスが追加されるかを設定する配列です。キーはカテゴリ名で、空白ではなく「_」 (アンダースコア) を含む必要があります。「Category:」(カテゴリ:) は含めないでください。各キーの値は、そのカテゴリに追加したい CSS クラスです。たとえば、以下のようになります。
$wgHighlightLinksInCategory = array(
"Disambiguation_pages" => 'disambig',
"Templates" => 'templates',
);
複数のクラスを追加する場合は、以下のようにクラス名をスペースで区切ってください。
$wgHighlightLinksInCategory = array( "My_Cat" => "class1 class2 class3" );
好きなだけ追加できますが、UXの観点からすると、500種類のスタイルリンクを追加するのはすごいことではないのかもしれません。
$wgHighlightLinksInCategory が設定されていないか、空である場合、この拡張機能は何もしません。
Wikiファームを運営していて、いくつかのWikiでこれをオフにする必要がある場合、$wgHighlightLinksInCategory = null
を設定してください; false
を使用すると、正しくない動作につながる可能性があります。
スタイル
これらのリンクに必要なスタイルを、あなたのwikiのMediaWiki:Common.cssに追加するだけです。たとえば
a.disambig {
color: rebeccapurple
}
a.templates {
font-weight: bold;
background-color: #efe;
}
あるカテゴリを他のカテゴリより優先させたい場合は、CSS で指定する必要があります。
a.templates.disambig {
font-weight: normal;
background-color: transparent;
color: rebeccapurple;
}
あるいは、代わりに元のa.templates
ルールを a.templates:not(.disambig)
として定義することもできたでしょう。
リンクアイコンのアプローチもあります。
a.superlink {
background-image: url(super.png);
padding-left: 16px;
}
利用者の切り替え
このハイライトの切り替えを簡単に設定する方法は、CSS を含む Gadget を作成することです。そう、これはパーソナライズ部分を他の拡張機能に外部委託するパーソナライズの拡張機能です。夜も眠れるようになりました。
動作の仕組み
MediaWikiがどのリンクされたページが存在するか決定した直後に(レッドリンクを作成するために)、GetLinkColours
フックを実行します(LinkHolderArray.phpを参照)。
そのページにリンクされているすべてのページIDのリストがあるので、データベースのクエリを実行すれば、これらのリンクのうち、強調したいカテゴリのセットに含まれるものを確認することができます。
このクエリは categorylinks
テーブルのインデックスに対してのみ発生するので、それなりに高速です。
そして、$wgHighlightLinksInCategory
でユーザが設定した構成値を使って、結果に基づいてCSSクラスが割り当てられます。
CSSの仕組みの説明は、ドキュメントの範囲外です。
既知の問題点
- CSS スタイルはFlowに追加されません。なぜなら、そこでは GetLinkColorsフックを呼び出していないようです。
関連項目
- Category:LinkEnd extensions - その他の方法でリンクをカスタマイズする
この拡張機能は以下のウィキ ファーム/ウィキ ホスト/パッケージに含まれています: これは正式な一覧ではありません。 一部のウィキ ファーム/ウィキ ホスト/パッケージは、ここに記載されていなくてもこの拡張機能を含んでいる場合があります。 必ずご利用のウィキ ファーム、ウィキ ホスト、バンドルで確認してください。 |
この拡張機能は Miraheze が保守しています。 Some Miraheze extensions are very Miraheze-specific and you may encounter issues you don't see on Miraheze. バグの報告や設定変更の依頼は、ウィキメディアの Phabricator ではなく、Miraheze Phabricator でお願いします。 |