Extension:Highlight Links in Category/zh
Highlight Links in Category 发行状态: 稳定版 |
|
---|---|
实现 | 用户界面, MyWiki |
描述 | 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 is an extension that adds a CSS class to links pointing to members of a category.
For reporting an issue or a bug, please use Miraheze Phabricator.
Installation
- 下载文件,并将解压后的
HighlightLinksInCategory
文件夹移动到extensions/
目录中。
开发者和代码贡献人员应从Git安装扩展,输入:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/HighlightLinksInCategory - 将下列代码放置在您的LocalSettings.php 的底部:
wfLoadExtension( 'HighlightLinksInCategory' );
- 完成 – 在您的wiki上导航至Special:Version,以验证已成功安装扩展。
Configuration parameters
- $wgHighlightLinksInCategory
- This global is an array that configures which categories get an added CSS class. The keys are the Category names, which must include underscores instead of spaces. Do not include the Category: namespace. The value for each key is the CSS class you would like to add to that category. For example:
$wgHighlightLinksInCategory = array(
"Disambiguation_pages" => 'disambig',
"Templates" => 'templates',
);
If you want add more than one class, separate the class names with spaces, like
$wgHighlightLinksInCategory = array( "My_Cat" => "class1 class2 class3" );
You can add as many of these as you want, but from a UX perspective it's probably not awesome to add 500 different style links.
If $wgHighlightLinksInCategory is not set or empty, this extension will do nothing.
If you're running a wiki farm and need to turn it off on some wikis, set $wgHighlightLinksInCategory = null
; using false
could lead to incorrect behavior.
Styling
Simply add the styles you need for these links to MediaWiki:Common.css on your wiki. For example:
a.disambig {
color: rebeccapurple
}
a.templates {
font-weight: bold;
background-color: #efe;
}
If you want one category to override another, you'll have to specify it with CSS.
a.templates.disambig {
font-weight: normal;
background-color: transparent;
color: rebeccapurple;
}
Or alternatively, you could have defined the original a.templates
rule as a.templates:not(.disambig)
instead.
There's also the link icon approach:
a.superlink {
background-image: url(super.png);
padding-left: 16px;
}
User Toggles
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.
How this works
Right after MediaWiki determines which linked pages exist (to make redlinks), it runs the GetLinkColours
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 categorylinks
table, it's reasonably fast.
Then CSS classes are assigned based on the result, using the configuration values the user sets in $wgHighlightLinksInCategory
.
Explaining how CSS works is outside the scope of this document.
Known issues
- CSS styles are not added in Flow, because it doesn't appear to call the GetLinkColors hook there.
See also
- Category:LinkEnd extensions - which customize links in other ways
此扩展在以下wiki农场/托管网站和/或软件包中提供: 這不是一份權威名單。 即使某些wiki农场/托管网站和/或软件包未在这里列出,它们也可能提供此扩展。 请检查你的wiki农场/托管网站或软件包以确认提供情况。 |
This extension is maintained by Miraheze. Some Miraheze extensions are very Miraheze-specific and you may encounter issues you don't see on Miraheze. To report a bug or request a configuration change, please do so on the Miraheze Issue Tracker and not on Wikimedia Phabricator. |
- Stable extensions/zh
- User interface extensions/zh
- Personalization extensions/zh
- MIT licensed extensions/zh
- Extensions in GitHub version control/zh
- GetLinkColours extensions/zh
- All extensions/zh
- Extensions included in Miraheze/zh
- Extensions included in WikiForge/zh
- Extensions by Miraheze/zh
- Simple extensions/zh
- Category extensions/zh