User:Lilyuserin/Lua/Modul:Dok/Doku

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Modul für Vorlagendokumentation[edit]

Dieser Modul ist zur Verwendung in Vorlagen gedacht und soll die Dokumentation von Vorlagen so weit wie möglich automatisieren.

Innerhalb der Vorlage wird der erzeugende Wikitext angezeigt (mit gewissen Einschränkungen, die in XML-Notation geschriebene Tags und dadurch erzeugte Strip Markers betreffen), sodass man den Inhalt der Vorlage analysieren kann, ohne die Bearbeiten-Seite aufrufen zu müssen.

Die eigentliche Dokumentation wird von einer Unterseite der Vorlage eingebunden, die standardmäßig doc genannt wird, dieser Wert kann mit dem Paramter doc geändert werden. Wenn ich nachfolgend von der Dokumentationsseite rede, ist diese Unterseite gemeint.

Die Vorlagendokumentation kommt ohne zusätzliche Vorlagen, Module oder sonstige Wiki-Elemente aus. Einzige Ausnahme sind zwei Icons im PNG-Format, die vorhanden sein sollten: und , wie diese konkrekt aussehen sollen, bleibt dir überlassen.

In die Dokumentationsseite können Anwendungsbeispiele der Vorlage eingebunden werden, die sich beim Ändern der Vorlage automatisch aktualisieren. Auf der Vorlagenseite werden diese Beispiele angezeigt, sodass die Vorlage zugleich die Auswirkungen anzeigt. Ich empfehle, die Vorlage so zu gestalten, dass beim Fehlen von Eingabeparametern eine sinnvolle Ausgabe erzeugt wird.

Die Dokumentationsseite besteht aus mehreren Abschnitten. Zunächst wird die Wirkungsweise der Vorlage erklärt, anschließend wird eine Übersichtstabelle mit den Parametern generiert sowie eine Kopiervorlage mit einer Auflistung aller Parameter. Danach folgen Anwendungsbeispiele, der Wikicode der Vorlage sowie Links zur Vorlagenverwendung und -unterseiten.

DAs Anlegen einer Preloadseite für die Dokumentation erleichtert die Erstellung der Dokumentationsseite, ist aber nicht zwingend erforderlich.

Einbindung in die Vorlage[edit]

Das Einbinden des nachfolgenden Codes erzeugt eine automatisierte Vorlagendokumentation.

In die Vorlage folgenden Code einfügen:

{{#invoke:Dok|doc}}

Es können Parameter ergänzt werden.
Parameterliste

Script error: No such module "Dok".

Einbindung in die Dokumentationsunterseite[edit]

In die passend benannte Unterseite der Dokumentation (Parameter doc) folgenden Code einfügen:

{{#invoke:Dok|dokuseite}}
<onlyinclude>
{{#invoke:Dok|doku
|text=erzeugt eine sinnvolle Vorlage
|count=3
|p1=|t1=|d1=|m1=1
|... je nachdem wie viele Parameter (count)
|aw1= ... Anwendungsbeispiel 1
|aw2= ... Anwendungsbeispiel 2 (derzeit bis zu 10 Stück möglich)
|... weitere Parameter lt. Parameterliste
}}</onlyinclude>

Für jedes Anwendungsbeispiel kann mittels der Parameter render⧼n⧽ bzw. expand⧼n⧽ eingestellt werden, ob der Wikitext der Vorlage angezeigt und die Vorlage gerendert werden soll oder nicht.

Mittels des Parameters raw⧼n⧽ kann gesteuert werden, ob die Vorlage im „Raw“-Format ausgeführt werden soll. Wird raw⧼n⧽ mit einem beliebigen Wert belegt, so wird der Inhalt des Parameters aw⧼n⧽ so ausgeführt, wie er dort steht. Allerdings dürfen keine doppelten geschwungenen Klammern und Pipezeichen vorkommen, statt der doppelten Klammern müssen einfache angegeben werden, statt des Pipezeichens das Rufzeichen (meinen Recherchen zufolge ist das Wikizeichen {{!}} ebenfalls möglich). Ein Beispiel würde folgendermaßen aussehen: aw1={vorlage!parameter1=wert1!parameter2=wert2! ... } (oder aw1={vorlage{{!}}parameter1=wert1{{!}}parameter2=wert2{{!}} {weitere Vorlage{{!}}... } }). Wenn innerhalb der Vorlage mehrere Klammern aufeinander folgen, müssen sie durch Leerzeichen voneinander getrennt werden.

Parameterliste

Script error: No such module "Dok".

Vorschlag für die Preload-Seite[edit]

Der Name der Vorlagenseite (die durch die Vereinfachung per Lua beinahe schon überflüssig geworden ist) für die Dokumentationsunterseite kann per Parameter gewählt werden und lautet standardmäßig Vorlage:Documentation/preload-doc. Nachfolgend ein Vorschlag für eine mögliche Vorbelegung.

Vorlage für die Vorlagendokumentations-Unterseite Vorlage:Documentation/preload-doc <includeonly><onlyinclude> {{#invoke:Dok|dokuseite}} <only<includeonly/>include>{{#invoke:Dok|doku <!-- |vorlage={{subst:BASEPAGENAME}} sollte automatisch eruiert werden--> |p1=1|t1=|d1=|m1=|f1= |p2=2|t2=|d2=|m2=|f2= |count= |text=erzeugt |aw1=parameter wie in der Liste angeführt getrennt durch , oder ; |rubrik=AlleListen |tabwidth= |descwidth= |namewidth= |defwidth= |mandwidth= |norender= |noexpand=}} </only<noinclude></noinclude>include></onlyinclude></includeonly> <includeonly><onlyinclude>[[Category:Dokumentation]]</onlyinclude></includeonly> {{#invoke:Dok|showme}}