Wikipedia:Lua/Modul/PageTree/de

Vorlagenprogrammierung Diskussionen Lua Unterseiten
Modul Deutsch English

Modul: Dokumentation
Weiterleitung der Diskussionsseite fehlt

PageTree – Modul zur Darstellung und Verwaltung hierarchisch strukturierter Wiki-Seiten.

Aus ein und derselben Seitendefinition können unterschiedliche – konsistente – Darstellungen generiert werden:

  • Aufgeklappter Pfad zu einer aktuellen Seite, wie er in Linkboxen gezeigt wird, nebst Schwestereinträgen
  • Liste aller Seiten
  • „Sitemap“ mit der vollständigen Baumstruktur

Die Seitenstruktur wird über ein entsprechendes Untermodul definiert.

Funktionen für Vorlagen

Werkeln

Alle Funktionen (ausgenommen failsafe) haben einen unbenannten Pflichtparameter mit dem Bezeichner der Struktur. Weitere benannte Parameter können angegeben werden.

Der Rückgabewert ist eine Zeichenkette entsprechend Anforderung und aktuellem Seitennamen; auch leer oder Fehlermeldung.

all
Liste alle Einträge als (nicht-hierarchische) Liste in alphabetischer Ordnung auf.
Parameter: light lineup list lazy stamped suppress
check
Überprüfe alle Einträge (auf Existenz der Seite), sofern ein Linkziel.
Parameter: linked – Ist jede Weiterleitung als shift deklariert?
path
Stelle Pfad zum aktuellen Eintrag dar, nebst jeweiligen Schwestereinträgen in vorgegebener Ordnung.
Parameter: lazy segment
subpages
Stelle Abfolge der Unterseiten dar.
Parameter: subpager – Abfolge an die benannte Vorlage übergeben.
tree
Stelle alle Einträge als Baumstruktur in vorgegebener Ordnung dar.
Parameter: list lazy segment stamped suppress
failsafe
Versionsbezeichnung (lokal): 2018-09-13
Optionaler Zusatzparameter:
  • 1 – Mindestversionsbezeichnung oder wikidata
Rückgabewert:
  • Leer, falls Mindestversionsbezeichnung nicht erfüllt
  • Versionsbezeichnung (auf Wikidata registriert: 2018-09-13 bei wikidata) oder lokal falls dort keine gefunden

Parameter beim Funktionsaufruf

Werkeln
1
Bezeichner der Struktur
Pflichtparameter
lazy
Verwende neutraleres Aufzählungszeichen.
Vorgabe: # in Gesamtdarstellungen, * beim path
Neutraler: * bzw. :
level
Keine Unterseiten zeigen.
Vorgabe: Unterseiten zeigen.
light
Gesamtzusammenstellung all ohne Präfix zeigen.
Vorgabe: Präfix voranstellen.
lineup
Gesamtzusammenstellung all fortlaufend ohne Aufzählungszeichen zeigen.
Vorgabe: Aufzählung, eine Zeile pro Eintrag.
linked
Weiterleitungen (shift) zeigen.
Vorgabe: Keine Weiterleitungen zeigen.
list
Alles auflisten.
Vorgabe: Mit list=false gekennzeichnete Seiteneinträge in Strukturen nicht zeigen.
segment
Pfad path an alternativem root-Element beginnen.
Wenn mit / beginnend, wird relativ zu start ausgewertet.
stamped
Zeitformat, für Parserfunktion #time usw.
suppress
Unterdrücke die Anzeige von Seitennamen, die dieses pattern erfüllen.
subpager
Name einer Vorlage für Unterseiten.
subpager=Subpage

Parameter, deren Name mit l beginnt, sind gesetzt, wenn ihnen eine 1 zugewiesen wird.

Definition einer Struktur

Werkeln

Es wird die Definition in einem Untermodul erwartet, dessen Strukturbezeichner an Modul:PageTree/ angehängt wird.

Format des Untermoduls

Werkeln
  • Das Untermodul muss die Bedingungen von mw.loadData() erfüllen.
  • Es ist eine table zurückzugeben.

Die folgenden Komponenten können in der table geliefert werden:

stamp
Datum/Uhrzeit gemäß ISO 8601
start
Präfix; ersetzt führenden / in Seitennamen
sub
Bezeichner eines Unter-Untermoduls relativ zum momentanen Untermodul; ohne führenden /
Das Unter-Untermodul wird im Anschluss nach genau gleichen Regeln importiert.
Für wiederholte Deklarationen gilt:
  • Ein jüngerer stamp überschreibt den älteren.
  • start wird neu zugewiesen.
  • Ein tieferes sub kann erneut gestartet werden.
  • Einträge in pages mit bereits vorhandener Definition werden ignoriert.
pages
Liste von Seiten-Einträgen als table – jeweils gemäß Seiteneintragsformat

Format eines Seiteneintrags

Werkeln

Ein Seiteneintrag kann auf eine von drei Arten in der table pages enthalten sein:

  • Zeichenkette
    "Seitenname"
  • Benanntes Element mit weiteren Einzelheiten
    ["Seitenname"] = { detailA= ... }
    Ein benanntes Element muss statt der Zeichenkette mit dem Seitennamen den Wert true enthalten. Dies ist das root-Element.
  • table mit Einzelheiten; Seitenname ist seed-Element.
    { seed="Seitenname", detailA= ... }

Jeder Seitenname darf nur genau einmal in einer table pages auftreten.

Jeder Eintrag kann die folgenden Eigenschaften enthalten:

seed
Seitenname als Zeichenkette; oder true beim root-Element.
Pflichtangabe
Wenn fehlt, aber benanntes Element, wird der Bezeichner des Elements benutzt.
Wenn Element keine table, sondern Zeichenkette, dann wird diese als Seitenname benutzt.
Wenn mit / beginnend, wird relativ zu start verlinkt.
shift
Ziel einer Weiterleitung
Wenn mit / beginnend, wird relativ zu start verlinkt.
show
Angezeigter Linktitel
Vorgabe: Letztes Unterseiten-Segment; oder sonst Seitentitel ohne Namensraum.
suffix
Zusätzlicher Text nach der verlinkten Seite
super
Oberseite in der Hierachie; Zeichenkette oder true.
Wenn mit / beginnend, wird relativ zu start verlinkt.
Vorgabe: nächste Oberseite vor /.
less
path – keine tieferliegende Ebene mehr zeigen.
Vorgabe: zeigen.
list
Anzeige standardmäßig unterdrücken, sofern Darstellung nicht mit list abgefordert.
Vorgabe: zeigen.
Zuweisung: list=false
loose
Verwaistes root-Element kennzeichnen.
  • all – falls auch mit list=false markiert, dann ignorieren
  • path – für aktuelle Seite anzeigen, auch wenn sonst mit list=false markiert.
  • subpages – für aktuelle Seite nicht anzeigen, wenn nicht auf ein deklariertes root-Element zurückgehend.
Vorgabe: Element zeigen.
Zuweisung: loose=true
index
Numerische Sortierfolge.
Vorgabe: alphabetisch nach Seitenname bzw. Linktitel.

Funktionen für Lua-Module

Werkeln

Es gibt zwei Funktion zu Test- und organisatorischen Zwecken:

p.test(args)
args sind die Argumente, die sonst beim #invoke angegeben werden würden. Zusätzlich können (müssen) enthalten sein:
  • args.self – verwenden als aktuellen Seitennamen
  • args.series – Bezeichner der Struktur an Stelle von 1.
  • args.service – Aktionsart; Name der Funktion
  • args.suite – Pfad zum Modul; hier: Modul:PageTree

Parameter, deren Name mit l beginnt, sind boolean anzugeben.

  • args.hide ist eine table, deren Einträge suppress sind.
p.failsafe(atleast)
  1. atleast
    optional
    nil oder Mindestversion oder Wert für "wikidata"
Rückgabewert: string oder false

Verwendung

Werkeln

Allgemeine Bibliothek; nicht eingegrenzt.

Abhängigkeiten

Werkeln