Extension:Labeled Section Transclusion
![]() Stav rozšíření: stabilní |
|
---|---|
Zavádění | Značka , Funkce analyzátoru |
Popis | Umožňuje převést označené části textu |
Napsal(i) | Steve Sanbeg |
Zásady kompatibility | Vydání snímků následuje MediaWiki. Hlavní vývojová větev není zpětně kompatibilní. |
MediaWiki | 1.19+ |
Změny v databázi | Ne |
Licence | GNU General Public License 2.0 nebo pozdější |
Zdrojový kód | |
Používání veřejných wikin | 6,919 (Ranked 26th) |
Přeložte rozšíření Labeled Section Transclusion, používá-li lokalizaci z translatewiki.net | |
Problémy | Otevřené úkoly · Nahlásit chybu |
Rozšíření Labeled Section Transclusion umožňuje selektivní převedení označené části textu, přičemž wikitext analyzuje jako obvykle. Jeho funkčnost je podobná vylepšené verzi značky <onlyinclude>
s normálním překladem wiki, který vybírá sekce pro zahrnutí. Je povoleno na všech wikinách Wikimedie.
Zatímco normální transkluze je primárně určena k transkluzi velkých částí malých šablon, transkluze označené sekce je určena pro malé části velkých stránek.
Existují však určité rozdíly. V transkluzi nativní šablony jsou sekce označeny chováním. Můžete tedy mít pouze jednu (možná nesouvislou) sekci, která má být zahrnuta nebo přeskočena.
Zde jsou sekce označeny názvem a chování volí volající, který může sekce podle potřeby zahrnovat nebo přeskakovat. Různé stránky mohou obsahovat nebo vylučovat vybrané sekce. Může být libovolný počet sekcí, které se také mohou libovolně překrývat.
Označení sekcí podle názvu spíše než podle chování umožňuje vhodnější vykreslení odkazů na sekce pro získání úryvků z větších textů, protože rozšíření nyní může zohledňovat sekce, které jsou na začátku stránky přeskočeny, což umožňuje vhodné posunutí transkludovaných sekcí.
Instalace
- Stáhněte soubor/y a vložte je do adresáře pojmenovaného
LabeledSectionTransclusion
ve vaší složceextensions/
.
Vývojáři a přispěvatelé kódu by si místo toho měli nainstalovat rozšíření from Git pomocí:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/LabeledSectionTransclusion - Na konec vašeho souboru LocalSettings.php přidejte následující kód:
wfLoadExtension( 'LabeledSectionTransclusion' );
- Dokončeno – Přejděte na stránku Special:Version vaší wiki a zkontrolujte, zda bylo rozšíření úspěšně nainstalováno.
Na různých wikin Wikisource.org se také používá Gadget, který umožňuje definovat sekce se zjednodušenou syntaxí ## label ##
.
Jeho kód lze nalézt na Wikisource:MediaWiki:Gadget-Easy_LST.js.
Funkce
Přenesení jakékoli označené části
Krok 1: Označte sekce
Označte části v textu pomocí značek <section>
takto:
<section begin="chapter1" />this is chapter 1<section end="chapter1" />
Všimněte si, že tyto značky nejsou HTML/XML a nepoužívají normální syntaxi atributů.
Z tohoto důvodu a protože značky begin
a end
jsou individuální, spíše než běžné značky XML open/close, umožňuje to vnořené nebo překrývající se sekce. To vám umožní vkládat značky sekcí, aniž byste se museli obávat, že budou překážet v jiných sekcích.
Krok 2a: Přeložte sekci
Zavolejte funkci analyzátoru #lst, abyste jej transkludovali, tzn. chcete-li převést sekci s názvem chapter1 ze stránky s názvem articleX:
{{#lst:articleX|chapter1}}
Cílový článek definuje umístění sekce. Jeho chování je určeno funkcí analyzátoru.
Krok 2b: Přeložte stránku, ale vylučte sekci
Chcete-li převést stránku, ale vyloučit zadanou sekci, použijte funkci #lstx:
{{#lstx:articleX|chapter1}}
Volitelně můžete do vyloučené části přidat náhradní text.
{{#lstx:articleX|chapter1|replacement_text}}
Příklad:
{{#lstx:articleX|chapter1|See chapter 1 in [[articleX]].}}
Náhradní text se objeví v oblasti, kde je oddíl přeskočen (vyloučen).
Nesouvislé úseky
Je možné mít více sekcí se stejným názvem. V tomto případě bude každá sekce s tímto názvem zahrnuta/vyloučena. To je užitečné zejména pro označení různých diskusí.
Rozsahy sekcí
Tyto funkce mají další volitelný argument pro určení rozsahu sekce. Tj. {{#lst:articleX|chapter1|chapter3}}, zahrnout vše od začátku kapitoly 1 do konce kapitoly 3. To umožňuje použití prázdných párů značek k označení jednoho konce sekce, případně v šabloně. Podobný mechanismus se v současnosti používá na francouzském Wikisource.
Nahrazování
To také funguje s nahrazováním. Je dokonce možné, aby článek nahradil část sebe sama. Jedno použití tohoto poskytuje úhledný způsob archivace diskusních stránek: Označte text k archivaci pomocí <section begin=archive />
atd. Poté vytvořte archivní stránku s textem pomocí {{subst:#lst:talk_page|archive}}, která zkopíruje archivované sekce. Nakonec nahraďte obsah talk_page {{subst:#lstx:talk_page|archive}}, abyste tyto sekce odstranili.
K dispozici je volitelná podpora pro přepis částí textu označených normálními nadpisy, tj. ==this section==
. Pokud je nainstalováno, provádí se to pomocí funkce lsth.
Přeložení před první nadpis
Chcete-li přepsat úvod stránky (tj. obsah před prvním nadpisem), použijte
{{#lsth:pagename}}
Převedení konkrétní sekce
Můžete také převést celý obsah sectionX (který zahrnuje všechny jeho podsekce, ale vylučuje samotný nadpis sectionX).
{{#lsth:pagename|sectionX}}
Důležité poznámky:
- Pokud máte více než jednu sekci se stejným názvem, bude transkludován pouze první výskyt sectionX.
- Ujistěte se, že zadáváte nadpis sectionX ve wikitextu, ne jak je zobrazen. Pokud je například nadpis sekce
==List of [[Extension]]==
, měli byste zadat "List of [[Extension]]
" nikoli "List of Extension
". - Při přepisu části ze stránky označené k překladu pomocí rozšíření Translante převádějte z jazykové verze. Např. z pagename/en spíše než z pagename.
- Porovnávání je citlivé na malá a velká písmena, aby se zabránilo přerušení odkazů v důsledku změn velkých a malých písmen.
Překládání více sekcí
Můžete také transkludovat od prvního výskytu sectionX (kromě samotného záhlaví sectionX), dokud nedosáhne dalšího výskytu sectionY. Všimněte si, že sectionY funguje jako koncový bod, takže transkluze neobsahuje obsah sectionY.
{{#lsth:pagename|sectionX|sectionY}}
Poznámky k přeskočeným nadpisům
Vzhledem k tomu, že tradiční transkluze v MediaWiki není určena k přepisování sekcí, nebere v úvahu vynechané nadpisy. V důsledku toho, pokud byste převedli šablonu s více nadpisy a přeskočili první nadpis, všechny odkazy na sekce úprav by odkazovaly na nesprávnou sekci v šabloně.
Když je toto rozšíření použito (v MediaWiki 1.9 nebo novější), funkce #lst a #lsth počítají nadpisy v "přeskočené" počáteční části a odpovídajícím způsobem odsazují transkludované nadpisy. To umožní, aby tyto odkazy v jednoduchém případě ukazovaly na správnou sekci.
Všimněte si, že #lstx nepočítá přeskočené nadpisy a že přeskočené nadpisy v nesouvislých sekcích nejsou posunuty. Zdá se ale, že je to nyní opraveno (pravděpodobně při portování na nový preprocesor MediaWiki). Transkludované nadpisy lze propojit se správnými sekcemi.
Lokalizace
Interně všechny funkce analyzátoru používají předponu lst pro konzistenci s názvem rozšíření. Vzhledem k tomu, že tato zkratka může být pro nevývojáře matoucí, byly zavedeny čitelné anglické varianty, takže funkce lze aktuálně volat z obou jmen.
funkce | angličtina | němčina | hebrejština (RTL) | portugalština |
---|---|---|---|---|
#lst | #section | #Abschnitt | #קטע |
#trecho |
#lstx | #section-x | #Abschnitt-x | #בלי קטע |
#trecho-x |
#lsth | #section-h |
Navíc lze značku nyní lokalizovat. V současné době: angličtina, němčina, hebrejština, portugalština; tj.:
- angličtina
<section begin=x/> ... <section end=x/>
- němčina
<Abschnitt Anfang=x/> ... <Abschnitt Ende=x/>
- hebrejština (RTL)
<קטע התחלה=א> ... <קטע סוף=א>
("start" kód vpravo a "end" kód vlevo)- portugalština
<trecho começo=x/> ... <trecho fim=x/>
Každá lokalizace je povolena pouze v případě, že stránka odpovídá příslušnému jazyku obsahu.
Omezení
- {{#lsth:pagename|sectionX}} funguje pouze v první sekci, pokud má více sekcí název sectionX. Pokud má článek více než jednu sekci se stejným názvem, je přepsán pouze první výskyt sekceX.
- I když je možné použít toto rozšíření napříč jmennými prostory, reference interwiki nejsou vyřešeny. Zatím není možné například zahrnout část stránky Wikisource do vzdálené instalace MediaWiki.
- Značky sekcí nelze samy o sobě převést, aby fungovaly na jiných stránkách.
{{#lst:}}
and{{#lstx:}}
funguje pouze v případě, že se značky sekcí objevují přímo ve wikitextu přeložené stránky. To například znamená, že tyto značky nelze vložit do šablony pomocí parametrů šablony a parser funkcí. Kouzelné slovo#tag
nefunguje se značkami sekcí. - Od roku 2014 nemají značky sekcí při použití v parametru šablony žádný účinek. Pokud stránka A obsahuje text {{B|X}}, {{#lst:A|...}} nemůže nijak získat přístup k X.
Příklady
- wikisource:user:sanbeg/Includer - první ukázka, která ukazuje několik základních funkcí.
Související odkazy
- DynamicPageList (třetí strana) obsahuje mírně upravenou vestavěnou verzi Labeled Section Transclusion
Toto rozšíření se používá na jednom nebo více projektech Wikimedie. Pravděpodobně to znamená, že rozšíření je stabilní a funguje dostatečně dobře, aby jej mohly používat weby s tak vysokou návštěvností. Vyhledejte tento název rozšíření v konfiguračních souborech CommonSettings.php a InitialiseSettings.php Wikimedie, abyste viděli, kde je nainstalováno. Úplný seznam rozšíření nainstalovaných na konkrétní wiki lze vidět na stránce wiki Special:Version. |
Toto rozšíření je zahrnuto v následujících wiki farmách/hostitelích a/nebo balíčcích: Toto není autoritativní seznam. Některé wiki farmy/hostitelé a/nebo balíčky mohou toto rozšíření obsahovat, i když zde nejsou uvedeny. Pro potvrzení se vždy obraťte na své wiki farmy/hostitele nebo balíček. |