Extension:Labeled Section Transclusion/nl
Release status: stabiel |
|
|---|---|
| Implementatie | Tag, Parser functie |
| Beschrijving | Maakt het mogelijk om gemarkeerde tekstgedeelten te transcluden |
| Auteur(s) | Steve Sanbeg |
| Compatibiliteit beleid | Snapshots releases samen met MediaWiki. Master is niet achterwaarts compatibel. |
| MediaWiki | 1.45+ |
| Database wijzigingen | Nee |
| Licentie | GNU General Public Licentie 2.0 of hoger |
| Download | |
| Vertaal de Labeled Section Transclusion extensie indien beschikbaar op translatewiki.net | |
| Problemen | Open taken · Rapporteer een bug |
De extensie Labeled Section Transclusion maakt het mogelijk om transclusie van gemarkeerde tekstsecties te selecteren, waarbij wikitext zoals gewoonlijk wordt geparseerd. De functionaliteit is vergelijkbaar met een verbeterde versie van de tag <onlyinclude> met normale wiki-transclusie, die secties selecteert voor opname. De extensie is ingeschakeld op alle Wikimedia-wiki's.
Terwijl de normale transclusie voornamelijk bedoeld is voor het transcluseren van grote delen van kleine sjablonen, is de 'Labeled Section transclusion' bedoeld voor het transcluden van kleine delen van grote pagina's.
Er zijn echter enkele verschillen. In de vertaling van het interne sjabloon worden secties gemarkeerd door gedrag; dus kan men slechts één (mogelijk niet-aaneengesloten) sectie opnemen of overslaan.
Hier worden secties met namen gemarkeerd en het gedrag wordt gekozen door de aanroeper, die secties kan omvatten of overslaan indien nodig. Verschillende pagina's kunnen geselecteerde secties bevatten of uitsluiten; er kan een willekeurig aantal secties zijn, die elkaar ook kunnen overlappen.
Het markeren van secties op naam in plaats van naar gedrag maakt het mogelijk om secties te redigeren links beter te laten weergeven voor het verkrijgen van gedeelten uit grotere teksten, omdat de extensie account kan maken voor secties die aan het begin van de pagina worden overgeslagen, waardoor de transcluded secties op passende wijze worden gekozen.
Installatie
- Download en plaats de bestanden in de map
LabeledSectionTransclusionin de mapextensions/.
Ontwikkelaars en bijdragers van code moeten in plaats daarvan de extensie van Git installeren, met behulp van:cd extensions/ git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/LabeledSectionTransclusion
- Voeg de volgende code onderaan het bestand LocalSettings.php toe:
wfLoadExtension( 'LabeledSectionTransclusion' );
Klaar – Navigeer naar Special:Version op de wiki om te controleren dat de extensie geïnstalleerd is.
Er is ook een Gadget in gebruik op Wikisource.org wiki's die het mogelijk maken om secties te definiëren met een vereenvoudigde ## label ## syntaxis.
De code is te vinden op Wikisource:MediaWiki:Gadget-Easy_LST.js.
Functies
Transcluden van elk gemarkeerd deel
Stap 1: Secties markeren
Markeer secties in de tekst met behulp van <section> tags als volgt:
<section begin="chapter1" />this is chapter 1<section end="chapter1" />
Houd er rekening mee dat deze tags geen HTML/XML zijn en niet de normale syntaxis van attributen gebruiken.
Om deze reden, en omdat de -markeringen begin en end afzonderlijk zijn, in plaats van normale XML-open/dicht-tags, zijn geneste of overlappende secties mogelijk. Hierdoor kunt u sectietags invoegen zonder dat u zich zorgen hoeft te maken over interferentie met andere secties.
Stap 2a: Transclude de sectie
Roep de parserfunctie #lst aan om het te transcluderen, d.w.z. om een sectie genaamd chapter1 uit een pagina genaamd articleX te transcluden:
{{#lst:articleX|chapter1}}
Het doel-artikel bepaalt de locatie van de sectie; de parserfunctie bepaalt het gedrag ervan.
Stap 2b: Transcludeer de pagina maar exclusief de sectie
Om een pagina te transcluderen, maar een bepaald gedeelte over te slaan, gebruik de functie #lstx:
{{#lstx:articleX|chapter1}}
U kunt optioneel vervangende tekst toevoegen voor de overgeslagen sectie.
{{#lstx:articleX|chapter1|replacement_text}}
Voorbeeld:
{{#lstx:articleX|chapter1|See chapter 1 in [[articleX]].}}
De vervangende tekst wordt weergegeven in het gebied waarvan de sectie is overgeslagen (excluded).
Niet aaneengesloten secties
Het is mogelijk om meerdere secties met dezelfde naam te hebben; in dit geval wordt elk sectie met die naam opgenomen/overgeslagen. Dit is vooral nuttig om verschillende discussies te markeren.
Sectie bereiken
Deze functies hebben een extra, optioneel argument om een sectiebereik op te geven; bijv. {{#lst:articleX|chapter1|chapter3}}, om alles op te nemen van het begin van chapter 1 tot het einde van chapter 3. Dit maakt het mogelijk om lege markeringsparen te gebruiken om het ene uiteinde van de sectie te markeren, eventueel in een sjabloon. Een soortgelijk mechanisme wordt nu gebruikt op de Franse Wikisource.
Substitutie
Dit werkt ook met substitutie; het is zelfs mogelijk dat een artikel een deel van zichzelf vervangt. Een van de toepassingen hiervan is om een nette manier te bieden om overlegpagina's te archiveren: marker de te archiveren tekst met <section begin=archive />, enz. Maak dan een archiefpagina met de tekst, met {{subst:#lst:talk_page|archive}}, die gearchiveerde secties kopieert. Vervang de inhoud van talk_page ten slotte met code3 om die secties te verwijderen.
Er is optionele ondersteuning voor het transcluderen van secties die zijn gemarkeerd met de standaardkoppen, d.w.z. ==this section==. Indien geïnstalleerd, wordt dit gedaan met behulp van de functie lsth.
Transcluderen voor de eerste kop
Om de introductie van een pagina (d.w.z. de inhoud vóór de eerste kop) te transcluden, gebruik
{{#lsth:pagename}}
Een specifieke sectie transcluden
U kunt ook de volledige inhoud van sectionX (waaronder alle subsecties, maar de titel van sectionX zelf niet is opgenomen) transcluden.
{{#lsth:pagename|sectionX}}
Zaken om op te letten:
- Alleen het eerste voorkomen van $sectie wordt overgenomen als er meer dan één sectie met dezelfde naam is.
- Zorg ervoor dat u in wikitext de titel van $sectie typt, niet hoe deze wordt weergegeven. Als de titel van de kop
==List of [[Extension]]==is, moet u bijvoorbeeld "List of [[Extension]]" typen, niet "List of Extension". - Wanneer u een gedeelte van een pagina die is gemarkeerd voor vertaling met de extensie Translate wilt transcluden, zorg dan dat u uit een specifieke taalversie laat overnemen. Bijv. van pagename/en en niet van pagename.
- De matching is hoofdletterongevoelig, om te voorkomen dat links worden verbroken als gevolg van hoofdletterwijzigingen.
Meerdere secties transcluden
U kunt ook transcluden van het eerste voorkomen van sectionX (met uitzondering van de titel van sectionX zelf) tot het bereiken van het volgende voorkomen van sectionY. Merk op dat sectionY fungeert als een stoppunt, zodat de transclusie niet de inhoud van sectionY bevat.
{{#lsth:pagename|sectionX|sectionY}}
Opmerkingen over het overslaan van koppen
Aangezien de traditionele transclusie in MediaWiki geen secties omvat, is het niet van belang dat er koppen worden overgeslagen. Als u een sjabloon met meerdere kopieën zou transcluden en de eerste kop zou overslaan, dan zouden alle links van de bewerkingssecties naar het verkeerde gedeelte in het sjabloon wijzen.
Wanneer deze extensie wordt gebruikt (in MediaWiki 1.9 of hoger), tellen de functies #lst en #lsth de koppen in het "overgeslagen" begingedeelte en verschuiven de getranscludeerde koppen op de juiste manier. Hierdoor kunnen deze links in een eenvoudig geval naar de juiste sectie verwijzen.
Houd er rekening mee dat overgeslagen koppen niet worden meegeteld door #lstx en dat overgeslagen koppen in niet-aaneengesloten secties niet worden verschoven. Maar het lijkt erop dat het nu is opgelost (waarschijnlijk wanneer het wordt geport naar de nieuwe preprocessor van MediaWiki). De getranscludeerde koppen kunnen aan de juiste secties worden gekoppeld.
Lokalisatie
Intern gebruiken de parserfuncties allemaal het voorvoegsel lst, voor consistentie met de naam van de extensie. Omdat dit acroniem verwarrend kan zijn voor niet-ontwikkelaars, zijn er leesbare Engelse varianten geïntroduceerd, waardoor functies met beide namen kunnen worden aangeroepen.
| functie | Engels | Duits | Hebreeuws (RTL) | Portugees |
|---|---|---|---|---|
| #lst | #section | #Abschnitt | #קטע |
#trecho |
| #lstx | #section-x | #Abschnitt-x | #בלי קטע |
#trecho-x |
| #lsth | #section-h |
Bovendien kan de tag nu worden vertaald; nu: Engels, Duits, Hebreeuws, Portugees; dit is:
- Engels
<section begin=x/> ... <section end=x/>- Duits
<Abschnitt Anfang=x/> ... <Abschnitt Ende=x/>- Hebreeuws (RTL)
<קטע התחלה=א> ... <קטע סוף=א>("start" code aan de rechterkant en "end" code aan de linkerkant)- Portugees
<trecho começo=x/> ... <trecho fim=x/>
Elke lokalisatie is alleen ingeschakeld als de pagina overeenkomt met de respectievelijke inhoudstaal.
Beperkingen
- {{#lsth:pagename|sectionX}} werkt alleen op de eerste sectie als meerdere secties de naam sectionX hebben. Alleen het eerste voorkomen van sectionX wordt getranscludeerd als een artikel meer dan één sectie met dezelfde naam heeft.
- Hoewel het mogelijk is om deze extensie in namespaces te gebruiken, worden interwiki-verwijzingen niet opgelost. Het is bijvoorbeeld nog niet mogelijk om een deel van een Wikisource-pagina op te nemen in een externe MediaWiki-installatie.
- Sectietags kunnen zelf niet worden getranscludeerd om op andere pagina's te werken.
{{#lst:}}and{{#lstx:}}alleen werken als sectietags direct in de wikitext van de getranscludeerde pagina verschijnen. Dit betekent bijvoorbeeld dat deze tags niet kunnen worden ingebed in een sjabloon met behulp van sjabloonparameters en parserfuncties. Het magische woord#tagwerkt niet met sectietags. - Vanaf 2014 hebben sectietags geen enkel effect meer wanneer ze worden gebruikt in een sjabloonparameter. Als pagina A de tekst {{B|X}} bevat, er is geen enkele manier waarop {{B|X}} toegang heeft tot X.
Voorbeelden
- wikisource:user:sanbeg/Includer - een vroege demonstratie die een aantal van de basisfuncties laat zien.
Zie ook
- DynamicPageList (third-party) bevat een licht gewijzigde ingebouwde versie van Labeled Section Transclusion
| Deze uitbreiding wordt gebruikt op een of meerdere Wikimedia projecten. Dit betekent waarschijnlijk dat de uitbreiding stabiel is en goed werkt op dergelijke vaak bezochte websites. Zoek op de naam van deze uitbreiding in Wikimedia's CommonSettings.php en InitialiseSettings.php om te zien waar deze is geïnstalleerd. Een volledige lijst van de uitbreidingen die geïnstalleerd zijn op een bepaalde wiki kan worden gevonden op de Special:Version pagina van de wiki. |
| Deze uitbreiding is beschikbaar op de volgende wiki-families en/of onderdeel van de volgende pakketten: Dit is geen gezaghebbende lijst. Sommige wikifarms/hosts en/of pakketten kunnen deze extensie bevatten, zelfs als ze hier niet worden vermeld. Controleer het altijd bij uw wiki farms/hosts of bundel. |
- Stable extensions/nl
- Tag extensions/nl
- Parser function extensions/nl
- GPL licensed extensions/nl
- Extensions in Wikimedia version control/nl
- ParserFirstCallInit extensions/nl
- All extensions/nl
- Extensions used on Wikimedia/nl
- Extensions included in Canasta/nl
- Extensions included in Fandom/nl
- Extensions included in Miraheze/nl
- Extensions included in MyWikis/nl
- Extensions included in wiki.gg/nl
