Extension:Display Title/ru
Display Title Статус релиза: стабильно |
|
---|---|
Реализация | Пользовательский интерфейс, Функция парсера |
Описание | Uses displaytitle page property in link text and talk page title; optionally displays original page title as subtitle; and provides parser function to query displaytitle |
Автор(ы) | |
Последняя версия | 4.0.3 (2023-07-26) |
Политика совместимости | Снэпшоты выходят вместе с MediaWiki. Мастер не имеет обратной совместимости. |
MediaWiki | 1.39+ |
PHP | 7.4+ |
Composer | mediawiki/display-title |
Лицензия | MIT License |
Скачать | |
|
|
Ежеквартальные загрузки | 56 (Ranked 76th) |
Переведите расширение Display Title | |
Проблемы | Открытые задачи · Сообщить об ошибке |
The Display Title extension allows a page's display title to be used as the default link text in links to the page - both links from other pages as well as self-links on the page. Display Title also uses the display title of a page as part of the title of its talk page. It optionally displays the original page title as a subtitle on the page. And, it provides a parser function to query a page's display title.
This extension builds on functionality in MediaWiki core that supports setting a page's display title using the DISPLAYTITLE
magic word.
Placing {{DISPLAYTITLE:My Display Title}}
on a page stores the value of the display title (My Display Title in this case) in the displaytitle page property of the MediaWiki page_props table and, if configured appropriately, displays that value on the page as the title in the title bar.
The extension queries the displaytitle
value in the page_props
table to provide its features.
Установка
- Скачайте и распакуйте файл(ы) в папку с названием
DisplayTitle
в вашей папкеextensions/
.
Вместо этого разработчикам и соавторам кода следует установить расширение из Git, используя:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/DisplayTitle - Добавьте следующий код в конце вашего файла LocalSettings.php :
wfLoadExtension( 'DisplayTitle' );
- Configure as required.
- Готово – Перейдите на страницу Special:Version на своей вики, чтобы удостовериться в том, что расширение успешно установлено.
Параметры конфигурации
Configuration flag | Значение по умолчанию | Описание |
---|---|---|
$wgDisplayTitleHideSubtitle
|
false
|
If false, display the page's original title as a subtitle below the title bar. |
$wgDisplayTitleExcludes
|
[ ]
|
An array of names of pages that should not have their page names replaced with their display title in links to the page. |
$wgDisplayTitleFollowRedirects
|
true
|
Defines whether redirects should be followed for displaying of the title. |
While not strictly necessary for the functioning of Display Title, in order to allow the {{DISPLAYTITLE:...}}
magic word to function as expected, set the following MediaWiki core configuration variables:
$wgAllowDisplayTitle = true; // defaults to {{phpi|true}}
$wgRestrictDisplayTitle = false; // defaults to {{phpi|true}}
Display title on edit pages and edit links
In order for the Display Title to be used on edit pages and links to them, edit the following system messages on your wiki (substituting the wiki's local language where appropriate):
System Message Page Name | Old Page Content | New Page Content |
---|---|---|
MediaWiki:Editing | Editing $1 | Editing {{#if: {{NAMESPACE}} | {{NAMESPACE}}: |}}{{#getdisplaytitle:{{SUBJECTPAGENAME}}}} |
MediaWiki:Editingcomment | Editing $1 (new section) | Editing {{#if: {{NAMESPACE}} | {{NAMESPACE}}: |}}{{#getdisplaytitle:{{SUBJECTPAGENAME}}}} (new section) |
MediaWiki:Editingsection | Editing $1 (section) | Editing {{#if: {{NAMESPACE}} | {{NAMESPACE}}: |}}{{#getdisplaytitle:{{SUBJECTPAGENAME}}}} (section) |
MediaWiki:Editsectionhint | Edit section: $1 | Edit section: {{#if: {{NAMESPACE}} | {{NAMESPACE}}: |}}{{#getdisplaytitle:{{SUBJECTPAGENAME}}}} |
MediaWiki:Creating | Creating $1 | Creating {{#if:{{NAMESPACE}}|{{NAMESPACE}}:}} {{#getdisplaytitle: {{SUBJECTPAGENAME}} }} |
And if you also use Page Forms .
System Message Page Name | Old Page Content | New Page Content |
---|---|---|
MediaWiki:Pf formedit createtitle | Create $1: $2 | Create $1: {{#if:{{NAMESPACE}}|{{NAMESPACE}}:}} {{#getdisplaytitle: {{SUBJECTPAGENAME}} }} |
MediaWiki:Pf formedit edittitle | Edit $1: $2 | Edit $1: {{#if:{{NAMESPACE}}|{{NAMESPACE}}:}} {{#getdisplaytitle: {{SUBJECTPAGENAME}} }} |
Использование
Linking
The behavior of the Display Title extension for different types of links is summarized below. The table shows what the link text will be for different situations. In the table, A represents a page title and a represents the page title with the first character of the page name (i.e. the part after the Namespace: if there is a namespace) in lower case. Note that if a page is a redirect (i.e. Page A in the "Page A Redirects to Page B" columns below) and has a display title set, that display title will be ignored by this extension.
Source page contains link: | Page A Does Not Redirect | Page A Redirects to Page B | ||
---|---|---|---|---|
Page A Does Not Have Display Title | Page A Has Display Title Z | Page B Does Not Have Display Title | Page B Has Display Title Y | |
[[A]] | A | Z | B | Y |
[[a]] | a | |||
[[A | A]] | A | Z | B | Y |
[[a | A]] | A | Z | B | Y |
[[A | a]] | a | |||
[[a | a]] | a | |||
[[A | X]] | X | |||
[[a | X]] | X |
<span id="#getdisplaytitle
_parser_function">
Функция парсера #getdisplaytitle
The #getdisplaytitle
parser function gets the display title of the page provided.
Например:
{{#getdisplaytitle:Book:42}}
will show the displaytitle of page Book:42
.
To get the display title of the current page, use:
{{#getdisplaytitle:{{FULLPAGENAME}}}}
Lua/Scribunto support
Two Lua (see Расширение:Scribunto ) functions exist for getting and setting a page's display title: mw.ext.displaytitle.get()
and mw.ext.displaytitle.set()
.
To use them, you could create a page Module:DisplayTitle
containing the following:
local p = {}
function p.set(frame)
return mw.ext.displaytitle.set(frame.args[1])
end
function p.get(frame)
return mw.ext.displaytitle.get(frame.args[1])
end
return p
You could then use {{#invoke:DisplayTitle|set|My Display Title}}
on a page to set the page's display title to My Display Title, and you could use {{#invoke:DisplayTitle|get|My Page}}
to get the display title of page My Page.
Перенаправления
For redirect pages, if the target page has a display title, it will be used as the display title of the redirect page.
Note that this has two implications that may be unexpected the first time a user sees them. When a page with a display title is moved leaving a redirect, on the page indicating that the move was a success the link text will be the same for both the source and target pages. And, on the Special:WhatLinksHere page for a page with a display title that is the target of a redirect, the link text of the redirect page will be the display title of the target page.
A single level of redirect will be followed.
История
The functionality in this extension evolved as part of the Semantic Title extension. Special thanks go to Van de Bugger, the author of version 1.0 of Semantic Title.
Display Title relies only on functionality in MediaWiki core; it does not depend on any other extension.
The functionality in Display Title has been removed from Semantic Title, which now retains solely the functionality to set a page's display title from a Semantic MediaWiki property or Cargo field.
However, it is recommended that a page's display title be set using {{DISPLAYTITLE:...}}
rather than the functionality in Semantic Title.
Semantic Title is being maintained for backward compatibility.
Release notes
- Version 4.0.2
- Fix Lua class name (T343929)
- Version 4.0.1
- Fix title handling in hooks (T342672)
- Revert user preference to disable the extension due to a bug (T342727) and since the current approach introduces latency and risk
- Version 4.0.0
- Drop support for MediaWiki 1.38 and earlier
- Add
mw-displaytitle-subtitle
class to subtitle (T205250) - Fix subpage subtitles for subpages more than two levels deep (T188872)
- Fix redirect subtitle so it does not use the displaytitle (T306459)
- Add name and description properties to composer.json (T311321)
- Add a user preference to disable the extension (T217179)
- Coding style and test improvements
- Version 3.3
- Do not remove fragments if not proper part of text
- Change
PersonalUrls
hook toSkinTemplateNavigation::Universal
hook - Replace deprecated
WikiPage::factory/Use WikiPageFactory
- Version 3.2
- Add config option for changing redirect display (
$wgDisplayTitleFollowRedirects
) - Replace deprecated
PageProps::getInstance
- Version 3.1
- Fix incompatibility with the Cite extension
- Version 3.0
- Several fixes to anchor/fragment behavior
- Updates due to code deprecations in MediaWiki
- Compatibility dropped with MW 1.34 and lower
- Version 2.2.0
- Add
$wgDisplayTitleExcludes
array to define a list of pages on which links should not use DisplayTitle - Fix behavior when there are underscores in the link text
- Don't use deprecated ParserBeforeStrip hook
- Version 2.1.0
- Added tests
- Added null title check
- Version 2.0.0
- Compatibility dropped with MW 1.28 and lower
- Bug fixes:
- T181669: Handle integers passed as link text
- Fixed bug introduced in version 1.5.2 that caused self links to be wrapped in HtmlArmor
- Version 1.5.3
- On redirect pages, show display title of target page
- Follows a single level of redirect
- Version 1.5.2
- Version 1.5.1
- Fixed issue for logged-in users on using action "info"
- Version 1.5
- Text that should have overridden link text was being ignored
- Fix link to user page in header (personal URLs)
- Version 1.4
- Updated to work with MediaWiki 1.28+
- Version 1.3
- Modified self-links to determine display text identically to non-self-links
- Version 1.2
- Added mw.ext.displaytitle.get() and mw.ext.displaytitle.get() Lua functions written by User:Oetterer
- Version 1.1
- Added check for title with only fragment when creating link
- Version 1.0
- Initial release
Известные несовместимости
- Configuration parameter
$wgDisplayTitleHideSubtitle
will not work if you also have the Semantic Breadcrumb Links extension lower than version 1.5.0 installed.
Thus the original page title will not display below the title bar.
См. также
Это расширение включено в следующие вики-фермы/хостинги и/или пакеты: Это не исчерпывающий список. Некоторые вики-фермы/хостинги и/или пакеты могут содержать это расширение, даже если они не перечислены здесь. Всегда сверяйтесь со своими вики-фермами/хостингами или комплектами/бандлами для подтверждения. |
- Stable extensions/ru
- User interface extensions/ru
- Parser function extensions/ru
- Extensions supporting Composer/ru
- MIT licensed extensions/ru
- Extensions in Wikimedia version control/ru
- BeforePageDisplay extensions/ru
- HtmlPageLinkRendererBegin extensions/ru
- OutputPageParserOutput extensions/ru
- ParserFirstCallInit extensions/ru
- ScribuntoExternalLibraries extensions/ru
- SelfLinkBegin extensions/ru
- SkinTemplateNavigation::Universal extensions/ru
- All extensions/ru
- Extensions included in Canasta/ru
- Extensions included in Miraheze/ru
- Extensions included in MyWikis/ru
- Extensions included in ProWiki/ru
- Extensions included in semantic::core/ru
- Extensions included in WikiForge/ru
- Extensions by MITRE/ru