Rozszerzenie:Oznaczenie sekcji oznaczonych
Labeled Section Transclusion Status wydania: stabilne |
|
---|---|
Realizacja | Znaczniki , Funkcja parsera |
Opis | Umożliwia przełączenie oznaczonych sekcji tekstu |
Autor(zy) | Steve Sanbeg |
Polityka zgodności | Snapshots releases along with MediaWiki. Master nie jest kompatybilny wstecznie. |
MediaWiki | 1.19+ |
Zmiany w bazie danych | Nie |
Licencja | Licencja GNU General Public License 2.0 lub nowsza |
Pobieranie | |
Public wikis using | 6,919 (Ranked 26th) |
Przetłumacz rozszerzenie Labeled Section Transclusion jeżeli jest dostępne na translatewiki.net | |
Problemy | Otwarte zadania · Zgłoś błąd |
The Labeled Section Transclusion extension allows selective transclusion of marked-off sections of text, parsing wikitext as normal. Its functionality is similar to an enhanced version of the <onlyinclude>
tag with normal wiki transclusion, which selects sections for inclusion. It is enabled on all Wikimedia wikis.
Podczas gdy normalne transkludzenie ma przede wszystkim na celu wykluczenie dużych części małych szablonów, oznakowane sekcje transkludujące mają na celu małe części dużych stron.
Istnieją jednak pewne różnice. W transklusacji dominującego szablonu sekcje są oznaczone zachowaniem; można więc mieć tylko jedną (prawdopodobnie nieprzestronną) sekcję do włączenia lub pomijania.
Tutaj sekcje są oznaczone nazwą, a zachowanie jest wybierane przez osoby, która może włączyć lub pominąć sekcje w razie potrzeby. Różne strony mogą zawierać lub wykluczać wybrane sekcje; może istnieć arbitralna liczba sekcji, które mogą również arbitralnie się pokrywać.
Oznaczenie sekcji nazwą zamiast zachowaniem pozwala na odpowiedniej wypełnienie linków do edycji sekcji w celu uzyskania fragmentów z większych tekstów, ponieważ rozszerzenie może teraz uwzględnić sekcje, które zostały pominięte na początku strony, umożliwiając odpowiednie skompensowanie sekcji przełączonych.
Instalacja
- Pobierz i umieść plik(i) w katalogu o nazwie
LabeledSectionTransclusion
w folderzeextensions/
.
Developers and code contributors should install the extension from Git instead, using:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/LabeledSectionTransclusion - Dodaj poniższy kod na dole twojego pliku LocalSettings.php :
wfLoadExtension( 'LabeledSectionTransclusion' );
- Zrobione – Przejdź do Special:Version na twojej wiki, aby sprawdzić czy rozszerzenie zostało pomyślnie zainstalowane.
There is also a Gadget in use on Wikisource.org wikis that makes it possible to define sections with a simplified ## label ##
syntax.
Its code can be found at Wikisource:MediaWiki:Gadget-Easy_LST.js.
Funkcje
Transclude any marked part
Krok 1: Zaznaczanie sekcji
Odkładać sekcje w tekście za pomocą $sekcji tagów, takich jak:
<section begin="chapter1" />this is chapter 1<section end="chapter1" />
Uwaga, że te tagy nie są HTML/XML i nie używają zwykłej syntaxy atrybutów.
For this reason, and because the begin
and end
markers are individual, rather than normal XML open/close tags, this allows nested or overlapping sections. This allows you to insert section tags without worrying about interfering with other sections.
Step 2a: Transclude the section
Nazwaj funkcję #lst, aby ją przełączyć, tj. przełączyć sekcję zwaną $sekcja z strony zwanej articleX:
{{#lst:articleX|chapter1}}
Celem artykułu jest określenie lokalizacji sekcji; jej zachowanie jest określone przez funkcję parser.
Step 2b: Transclude the page but excluding the section
To transclude a page, but exclude a specified section, use the #lstx function:
{{#lstx:articleX|chapter1}}
Optionally, you may add replacement text to the excluded section.
{{#lstx:articleX|chapter1|replacement_text}}
Przykład:
{{#lstx:articleX|chapter1|See chapter 1 in [[articleX]].}}
The replacement text will appear in the area where the section is skipped (excluded).
Discontiguous sections
It is possible to have multiple sections with the same name; in this case, every section with that name will be included/excluded. This is especially useful to mark various discussions.
Zakresy sekcji
These functions have an additional, optional argument to specify a section range; i.e. {{#lst:articleX|chapter1|chapter3}}, to include everything from the beginning of chapter 1 to the end of chapter 3. This allows using empty marker pairs to mark one end of the section, possibly in a template. A similar mechanism is currently used at the French Wikisource.
Substitution
This also works with substitution; it's even possible for an article to substitute a section of itself. One use of this provides a neat way to archive talk pages: Mark the text to be archived using <section begin=archive />
, etc. Then create an archive page with the text, using {{subst:#lst:talk_page|archive}}, which copies archived sections. Lastly, replace the contents of talk_page with {{subst:#lstx:talk_page|archive}} to remove those sections.
There is optional support for transcluding sections of text marked with the normal headings, i.e. ==this section==
. If installed, this is done with the lsth function.
Transclude before the first heading
To transclude the introduction of a page (i.e. the content before the first heading), use
{{#lsth:pagename}}
Transclude a specific section
You can also transclude the whole content of the sectionX (which includes all its sub-sections but excludes the heading of sectionX itself).
{{#lsth:pagename|sectionX}}
Rzeczy, na które trzeba zwrócić uwagę:
- Only the first occurrence of the sectionX is transcluded if you have more than one section with the same name.
- Make sure you type what the heading of sectionX is in wikitext, not how it is displayed. For example if the heading of the section is
==List of [[Extension]]==
, you should type "List of [[Extension]]
" not "List of Extension
".
- When transcluding a section from a page marked for translation using the translate extension, transclude from the language-specific version.
E.g. from pagename/en rather than from pagename.
- The matching is case insensitive, to prevent links from breaking due to case changes.
Transclude multiple sections
You can also transclude from the first occurrence of sectionX (excluding the heading of sectionX itself) until it reaches the next occurrence of sectionY. Note that sectionY acts as a stop point so the transclusion doesn't contain the content of sectionY.
{{#lsth:pagename|sectionX|sectionY}}
Notes about skipped headings
Since the traditional transclusion in MediaWiki isn't intended to transclude sections, it doesn't account for skipped headings. As a result, if you were to transclude a template with multiple headings, and skip the first heading, then all of the edit sections links would point to the wrong section in the template.
When this extension is used (with MediaWiki 1.9 or later), the #lst and #lsth functions count headings in the "skipped" beginning part, and offset transcluded headings appropriately. This will allow these links to point to the correct section in the simple case.
Note that #lstx does not count skipped headings, and that skipped headings within discontiguous sections are not offset.
But it seems it has been fixed now (likely when ported to MediaWiki's new preprocessor). The transcluded headings can be linked to the correct sections.
Lokalizacja
Internally, the parser functions all use the lst prefix, for consistency with the name of the extension. Since this acronym may be confusing to non-developers, readable English variants have been introduced, so the functions can currently be called from either name.
funkcja | angielski | niemiecki | hebrajski (RTL) | portugalski |
---|---|---|---|---|
#lst | #section | #Abschnitt | #קטע |
#trecho |
#lstx | #section-x | #Abschnitt-x | #בלי קטע |
#trecho-x |
#lsth | #section-h |
Additionally, the tag can now be localised; currently:
angielski, niemiecki, hebrajski, portugalski; i.e.:
- angielski
<section begin=x/> ... <section end=x/>
- niemiecki
<Abschnitt Anfang=x/> ... <Abschnitt Ende=x/>
- hebrajski (RTL)
<קטע התחלה=א> ... <קטע סוף=א>
("start" code to the right and "end" code to the left)- portugalski
<trecho começo=x/> ... <trecho fim=x/>
Each localization is enabled only if the page matches the respective content language.
Ograniczenia
- {{#lsth:pagename|sectionX}} only works on the first section if multiple sections have name sectionX. Only the first occurrence of sectionX is transcluded if an article has more than one section with the same name.
- While it is possible to use this extension across namespaces, interwiki references are not resolved. It is not yet possible, for example, to include part of a Wikisource page into a remote MediaWiki installation.
- Section tags cannot themselves be transcluded in order to work on other pages.
{{#lst:}}
and{{#lstx:}}
work only if section tags appear directly in the wikitext of the transcluded page. This means, for instance, that these tags cannot be embedded in a template using template parameters and parser functions. The#tag
magic word does not work with section tags.
- As of 2014, section tags don't have any effect when used inside a template parameter. If page A contains a text {{B|X}}, there's no way {{#lst:A|...}} can access X.
Przykłady
- wikisource:user:sanbeg/Includer - an early demonstration that shows several of the basic features.
Zobacz też
- DynamicPageList (third-party) includes a slightly modified built-in version of Labeled Section Transclusion
To rozszerzenie jest wykorzystywane przez jeden lub więcej projektów Wikimedia. Oznacza to prawdopodobnie, że to rozszerzenie jest stabilne i działa wystarczająco dobrze, aby wykorzystywać je na stronach o dużym natężeniu ruchu. Odnajdź nazwę tego rozszerzenia w plikach konfiguracyjnych Wikimedia CommonSettings.php oraz InitialiseSettings.php, aby zobaczyć gdzie są zainstalowane. Pełną listę rozszerzeń zainstalowanych na określonej wiki można znaleźć na stronie Special:Version na danej wiki. |
To rozszerzenie jest dołączone do następujących farm/hostów wiki lub pakietów: To nie jest pełna lista. Niektóre farmy/hosty wiki lub pakiety mogą zawierać to rozszerzenie nawet jeśli nie są one tutaj wymienione. Zawsze sprawdzaj swoje farmy/hosty wiki, aby to potwierdzić. |
- Stable extensions/pl
- Tag extensions/pl
- Parser function extensions/pl
- GPL licensed extensions/pl
- Extensions in Wikimedia version control/pl
- ParserFirstCallInit extensions/pl
- All extensions/pl
- Extensions used on Wikimedia/pl
- Extensions included in Canasta/pl
- Extensions included in Fandom/pl
- Extensions included in Miraheze/pl
- Extensions included in MyWikis/pl
- Extensions included in wiki.gg/pl
- Extensions included in WikiForge/pl