Modul:Transcluder/doc: Unterschied zwischen den Versionen

Aus Steel Beasts Wiki
sc>FoXFTW
K (FoXFTW verschob die Seite Modul:Transcluder/Doku nach Modul:Transcluder/doc, ohne dabei eine Weiterleitung anzulegen)
 
K (1 Version importiert)
 

Aktuelle Version vom 3. September 2023, 08:02 Uhr

Function list
L 11 — truthy
L 20 — matchAny
L 30 — matchAnyLink
L 40 — escapeString
L 45 — removeString
L 57 — parseFlags
L 101 — matchFlag
L 118 — parseArgs
L 127 — throwError
L 136 — getError
L 147 — getNamespaces
L 157 — getText
L 186 — getFiles
L 213 — getTables
L 238 — getTemplates
L 264 — getParameters
L 309 — getLists
L 330 — getParagraphs
L 367 — getCategories
L 393 — getReferences
L 429 — getLead
L 441 — getSections
L 464 — getSection
L 493 — fixReferences
L 525 — linkBold
L 547 — removeNonFreeFiles
L 570 — removeSelfLinks
L 584 — removeLinks
L 594 — removeComments
L 600 — removeBehaviorSwitches
L 606 — removeBold
L 612 — get
L 681 — main
L 690 — p.main
L 693 — p.get
L 694 — p.getText
L 695 — p.getLead
L 696 — p.getSection
L 697 — p.getSections
L 698 — p.getParagraphs
L 699 — p.getParameters
L 700 — p.getCategories
L 701 — p.getReferences
L 702 — p.getTemplates
L 703 — p.getTables
L 704 — p.getLists
L 705 — p.getFiles
L 706 — p.getError
L 709 — p.truthy
L 710 — p.parseArgs
L 711 — p.matchAny
L 712 — p.matchFlag
L 713 — p.getNamespaces
L 714 — p.removeBold
L 715 — p.removeLinks
L 716 — p.removeSelfLinks
L 717 — p.removeNonFreeFiles
L 718 — p.removeBehaviorSwitches
L 719 — p.removeComments

Modulinfo

Dieses Modul ist eine universelle Transclusion-Engine, die in der Lage ist, jeden beliebigen Teil einer Seite zu transcluden und viele Optionen bietet, die normale Transclusion nicht bietet.

Verwendung

Module

Der Haupteinstiegspunkt für Module ist die get-Methode.

  • get( 'Titel' ) - Holt die angeforderte Seite (exakt dasselbe Ergebnis wie bei normaler Transklusion)
  • get( 'Title#' ) - Liefert den Hauptteil der angeforderten Seite
  • get( 'Titel#Überschrift' ) - Ermittelt den angeforderten Abschnitt oder den <section>-Tag (einschließlich aller Unterabschnitte)

<noinclude> und <onlyinclude> Tags werden die übliche Art und Weise behandelt und es gibt auch einen optionalen zweiten Parameter, um verschiedene Elemente vom Ergebnis auszuschließen:

  • get( 'Titel#Überschrift', { files = 0 } ) - Alle Dateien ausschließen
  • get( 'Titel#Überschrift', { files = 1 } ) - Alle Dateien außer der ersten ausschließen
  • get( 'Titel#Überschrift', { files = 2 } ) - Alle Dateien außer der zweiten ausschließen
  • get( 'Titel#Überschrift', { files = '1,2' } ) - Alle Dateien außer der ersten und zweiten ausschließen
  • get( 'Titel#Überschrift', { files = '1-3' } ) - Alle Dateien außer der ersten, zweiten und dritten ausschließen
  • get( 'Titel#Überschrift', { files = '1,3-5' } ) - Alle Dateien außer der ersten, dritten, vierten und fünften ausschließen
  • get( 'Titel#Überschrift', { files = -2 } ) - Die zweite Datei ausschließen
  • get( 'Titel#Überschrift', { files = '-2,3' } ) - Die zweite und dritte Datei ausschließen
  • get( 'Titel#Überschrift', { files = '-1,3-5' } ) - Die erste, dritte, vierte und fünfte Datei ausschließen
  • get( 'Titel#Überschrift', { files = 'A.png' } ) - Alle Dateien außer A.png ausschließen
  • get( 'Titel#Überschrift', { files = '-A.png' } ) - A.png ausschließen
  • get( 'Titel#Überschrift', { files = 'A.png, B.jpg, C.gif' } ) - Alle Dateien außer A.png, B.jpg und C.gif ausschließen
  • get( 'Titel#Überschrift', { files = '-A.png, B.jpg, C.gif' } ) - A.png, B.jpg und C.gif ausschließen
  • get( 'Titel#Überschrift', { files = { [1] = true, [3] = true } ) - Alle Dateien außer der ersten und dritten ausschließen
  • get( 'Titel#Überschrift', { files = { [1] = false, [3] = false } ) - Die erste und dritte Datei ausschließen
  • get( 'Titel#Überschrift', { files = { ['A.png'] = false, ['B.jpg'] = false } } ) - A.png und B.jpg ausschließen
  • get( 'Titel#Überschrift', { files = '.+%.png' } ) - Alle Dateien außer PNG-Dateien ausschließen (siehe Lua-Muster)
  • get( 'Titel#Überschrift', { files = '-.+%.png' } ) - Alle PNG-Dateien ausschließen

Mit der gleichen Syntax lassen sich auch viele andere Elemente ausschließen:

  • get( 'Titel#Überschrift', { sections = 0 } ) - Alle Unterabschnitte ausschließen
  • get( 'Titel#Überschrift', { sections = 'Geschichte, Ursachen' } ) - Alle Unterabschnitte außer 'Geschichte' und 'Ursachen' ausschließen
  • get( 'Titel#Überschrift', { lists = 1 } ) - Alle Listen außer der ersten ausschließen
  • get( 'Titel#Überschrift', { tables = 'stats' } ) - Schließt alle Tabellen aus, außer der mit der ID 'stats'
  • get( 'Titel#Überschrift', { paragraphs = '1-3' } ) - Alle Absätze außer dem ersten, zweiten und dritten ausschließen
  • get( 'Titel#Überschrift', { references = 0 } ) - Alle Referenzen ausschließen
  • get( 'Titel#Überschrift', { categories = '0' } ) - Alle Kategorien ausschließen
  • get( 'Titel#Überschrift', { templates = '-.+infobox' } ) - Infobox-Vorlagen ausschließen
  • get( 'Titel#Überschrift', { parameters = 'image' } ) - Schließt alle Parameter von allen Vorlagen aus, außer der mit dem Namen 'image'

Die Optionen können beliebig kombiniert werden. Ein Beispiel:

  • get( 'Titel#Überschrift', { sections = 0, files = 1, paragraphs = '1-3' } ) - Schließen Sie alle Unterabschnitte, alle Dateien außer der ersten und alle Absätze außer den ersten drei aus

Du kannst auch nur einige Elemente wie folgt erhalten:

  • get( 'Titel#Überschrift', { only = 'files' } ) - Nur die Dateien holen
  • get( 'Titel#Überschrift', { only = 'lists', lists = 1 } ) - Nur die erste Liste auslesen
  • get( 'Titel#Überschrift', { only = 'tables', tables = 'stats' } ) - Holt nur die Tabelle mit der ID 'stats'
  • get( 'Titel#Überschrift', { only = 'paragraphs', paragraphs = '1,3-5' } ) - Liefert nur den ersten, dritten, vierten und fünften Absatz
  • get( 'Titel#Überschrift', { only = 'templates', templates = 'Infobox' } ) - Holt nur die Infobox
  • get( 'Titel#Überschrift', { only = 'files, lists', files = 1 } ) - Holt nur den ersten, gefolgt von allen Listen

Die Ausgabe kann mit ein paar speziellen Optionen weiter modifiziert werden:

  • get( 'Titel#Überschrift', { noFollow = true } ) - Weiterleitungen nicht folgen
  • get( 'Titel#Überschrift', { linkBold = true } ) - Den fettgedruckten Titel oder das Synonym am Anfang des Textes verlinken
  • get( 'Titel#Überschrift', { noBold = true } ) - Fett gedruckten Text entfernen
  • get( 'Titel#Überschrift', { noSelfLinks = true } ) - Selbstverknüpfungen entfernen
  • get( 'Titel#Überschrift', { noBehaviorSwitches = true } ) - Entfernt Verhaltensschalter wie __NOTOC__
  • get( 'Titel#Überschrift', { fixReferences = true } ) - Präfixiert Referenznamen mit 'Titel ', um Namenskonflikte beim Transkludieren zu vermeiden und rettet Referenzen, die außerhalb des angeforderten Abschnitts definiert sind, um undefinierte Referenzfehler zu vermeiden.

Neben der get-Methode stellt das Modul mehrere andere Methoden zur Verfügung, um bestimmte Teile des Wikitextes zu erhalten. Dies erlaubt anderen Modulen, Elemente auf fortgeschrittenere Weise zu kombinieren.

Templates

Der Haupteinstiegspunkt für Templates ist die main-Methode. Sie ist im Wesentlichen ein Wrapper der get-Methode, um sie für Templates nutzbar zu machen. In der Dokumentation der get-Methode finden Sie weitere Details und Optionen.

  • {{#invoke:Transcluder|main|Title}} - Schließt die angeforderte Seite ein.
  • {{#invoke:Transcluder|main|Title#}} - Schließt den Hauptteil der angeforderten Seite aus
  • {{#invoke:Transcluder|main|Title#Section}} - Holt den angeforderten Abschnitt oder den <section>-Tag (einschließlich aller Unterabschnitte)
  • {{#invoke:Transcluder|main|Title#Section|sections=0}} - Schließt den angeforderten Abschnitt ein, ohne Unterabschnitte
  • {{#invoke:Transcluder|main|Title|only=files|files=1}} - Schließt nur die erste Datei der Seite ein
  • {{#invoke:Transcluder|main|Title#Section|only=tables|tables=2}} - Nur die zweite Tabelle des gewünschten Abschnitts einschließen
  • {{#invoke:Transcluder|main|Title#|only=paragraphs|linkBold=yes}} - Nur die Absätze des Aufmacherabschnitts einschließen und den fetten Text verlinken