Hilfe:Arbeiten und programmieren mit Vorlagen
Eine ausführliche Dokumentation über Vorlagen und deren Programmierung hält die Wikipedia bereit auf https://de.wikipedia.org/wiki/Hilfe:Vorlagen. Eine weitere Programmierhilfe findet sich in den Preferences > Gadgets , sie stellt für den Wiki-Editor das Ausklapp-Menü „Programmierung“ bereit.
Das folgenden Formular stellt zum Dokumentieren einer Vorlagen schon Abschnitte bereit und kann daher verwendet werden, um gut dokumentierte Vorlagen zu erstellen:
Oft ist es hilfreich Wiki-Code-Fragmente durchzuanalysieren, welche Ausgabe sie tatsächlich erzeugen. Verwende hierzu die Spezialseite Spezial:Vorlagen_expandieren.
Programmierung
Wiki Transklusion
Jede Seite mit {{:Seitentitel}}. Siehe http://www.mediawiki.org/wiki/Transclusion. Vorsicht: gehe jedoch sparsam mit dieser Funktion um, da es ein ressourcenintensiver Rechenprozess ist, je mehr Seiten transkludiert werden.
Funktionen
Verschachteln immer mit Einrücken benutzten aber ohne versehentlich Leerzeichen einzufügen:
····················
<!--
description
-->{{#if: …<!--
then-->|<!--
else-->|
}}<!-- if: end -->
<!--
Erklärung
-->{{#if: …<!--
dann -->|<!--
sonst-->|
}}<!-- if: end -->
····················
Hinweis: ifelse-Konstrukte können auch erreicht werden durch verschachteln von Vorlagen-Parametern, d.h. der äußere überschreibt den inneren Parameter:
<!--
die folgende Verschachtelung …
-->{{{result|{{{scientific name|}}}}}}<!--
… ist dasselbe wie …
-->{{#if: {{{result|}}}<!--
dann -->|{{{result|}}}<!--
sonst-->|{{{scientific name|}}}<!--
-->}}<!--
-->
Jedoch funtioniert dies nicht wenn eine Vorlage leere Werte an eine zweite Vorlage weitergibt, weil selbst dann Werte mit „“ als „gesetzt“ interpretiert werden. Für diesen Fall muß mann dann ein {{#if: …}}
-Konstrukt nehmen welches „“-Werte dann als FALSE oder „nicht gesezt“ korrekt interpretiert.
Ein Beispiel ohne beim Kommentieren versehentlich Leerzeichen einzufügen:
<!-- ------- Abschnitte kommentieren ------- --> Wiki-Code <!-- ======================================= Großer Abschnitt kommentiert ======================================= --><!-- (start#switch) test -->{{#switch: {{{zu testende Vorlagenvariable}}} | Prüfwert = gebe zurück | {{{V-Variable_1|}}}{{{V-Variable_2|}}} = gebe zurück | gebe zurück Voreinstellung }}<!-- (end#switch) -->
Als Parameter funktionieren auch Berechnungen mit {{#expr: <ausdruck>}}:
Folgende {{PLURAL:$1|Seite ist|$1 Seiten sind}} in dieser Kategorie enthalten:
{{#expr: }} {{#ifexpr: 1 | is anything but zero | is 0}} {{#ifexpr: 2 < 5 | <!-- :true --> | <!-- :false -->}} {{#ifexist: Seitenname | <!-- exists --> | <!-- non existing -->}}
Prüfe ob Wert eine Zahl oder keine Zahl:
{{#iferror: {{#expr: {{{Wert als Zahl oder Text|}}} + 0 }}<!--
keine Zahl
-->|{{{Wert als Zahl oder Text|}}}<!--
ist Zahl
-->|{{{Wert als Zahl oder Text|}}}
}}
{{#if: {{{content|}}} | <!-- (content:true) ... --> | <!-- (content:false) ...-->}} {{#if: {{{1|}}} | <!-- (1:true) ... --> | <!-- (1:false) ...-->}} {{#ifeq: string 1 | string 2 | true | false }} {{#switch:{{CONTENTLANGUAGE}}|#default=english...|de|de-formal|de-ch|de-at=deutsch...}} {{#switch:{{#var:var-name}}|#default=...|0|1=...}} {{#var:var-name}} {{#vardefine:index|{{#expr:{{#var:index}}+1}}}} +1 dazuaddieren {{#if:{{#varexists:index}}|{{#vardefine:index|{{#expr:{{#var:index}}+1}}}}|{{#vardefine:index|1}}}} {{#vardefine:var-name|var-value}} {{lc:MACHE KleIN}} mache klein {{uc:mache groß}} MACHE GROSS {{urlencode:Meine ÜRL}} Meine+%C3%9CRL {{anchorencode:Meine Änchors}} Meine_.C3.84nchors {{#titleparts: Open Source Ecology Germany/Unterstützen | 1 }} Open Source Ecology Germany {{#arraymap:eins, zwei|,|<!-- temp-Variable -->§|<!-- Ausgabe temp-Variable -->§|<!-- neuer Trenner --> • }} → eins • zwei
Extrahiere Zeichenfolgen:
Test auf „:“ {{#sub:…|0|{{#pos:…|:|0}}}} #rpos → -1 wenn nichts gefunden #pos → (leer) wenn nichts gefunden {{#explode: Mein erstes zweites drittes Wort und ein Schlußwort| |1}} → erstes {{#explode: Mein erstes zweites drittes Wort und ein Schlußwort| |-1}} → Schlußwort
Variablen
Siehe auch http://www.mediawiki.org/wiki/Help:Magic_words/de#Parser-Funktionen
__NOTOC__ __TOC__
{{fullurl:Category:Top level|action=edit}} //wiki.opensourceecology.de/index.php?title=Kategorie:Top_level&action=edit {{localurl:Category:Top level|action=render}} /index.php?title=Kategorie:Top_level&action=render {{filepath:OSEG-Bulb green (BG white).svg|nowiki}} //wiki.opensourceecology.de/images/7/70/OSEG-Bulb_green_%28BG_white%29.svg {{filepath:OSEG-Bulb green (BG white).svg}} //wiki.opensourceecology.de/images/7/70/OSEG-Bulb_green_%28BG_white%29.svg {{#titleparts: {{TALKPAGENAME}}| 1 }} Hilfe Diskussion:Arbeiten und programmieren mit Vorlagen {{#titleparts: {{FULLPAGENAME}}| 1 }} Hilfe:Arbeiten und programmieren mit Vorlagen {{#titleparts: {{FULLPAGENAME}} | <!-- wieviel /Titel/Titel/ --> 2 | <!-- welchen /Titel/Titel/ --> 2 }} {{int:edit}}: Edit (Systemnachrichten siehe Special:AllMessages) {{SITENAME}}: Open Source Ecology - Germany {{SERVERNAME}}: wiki.opensourceecology.de {{FULLPAGENAME}}: Hilfe:Arbeiten und programmieren mit Vorlagen {{PAGENAME}}: Arbeiten und programmieren mit Vorlagen {{BASEPAGENAME}}: Arbeiten und programmieren mit Vorlagen {{TALKPAGENAME}}: Hilfe Diskussion:Arbeiten und programmieren mit Vorlagen {{TALKSPACE}}: Hilfe Diskussion {{ARTICLESPACE}}: Hilfe {{SUBPAGENAME}}: Arbeiten und programmieren mit Vorlagen
{{Special:Allpages/Hilfe:}} (Alle Hilfeseiten)
{{ns:Media}}: Medium {{ns:Special}}: Spezial {{ns:Talk}}: Diskussion {{ns:User}}: Benutzer {{ns:User_talk}}: Benutzer Diskussion {{ns:Project}}: OSE {{ns:Project_talk}}: OSE Diskussion {{ns:Image}}: Datei {{ns:Image_talk}}: Datei Diskussion {{ns:MediaWiki}}: MediaWiki {{ns:MediaWiki_talk}}: MediaWiki Diskussion {{ns:Template}}: Vorlage {{ns:Template_talk}}: Vorlage Diskussion {{ns:Help}}: Hilfe {{ns:Help_talk}}: Hilfe Diskussion {{ns:Category}}: Kategorie {{ns:Category_talk}}: Kategorie Diskussion
Gadgets/Helferlein
Siehe auf der englischen Dokumentationsseite von Extension:Gadgets
MediaWiki:Gadget-AddProgrammingToolbar Hinweistext MediaWiki:Gadget-AddProgrammingToolbar.js JavaScript MediaWiki:Gadget-AddProgrammingToolbar.css CSS eventuell MediaWiki:Gadgets-definition Alle Definitionen: was wo + welche Skripte + MeinDefinierterAbschnitt AddProgrammingToolbar[ResourceLoader]|AddProgrammingToolbar.js … AddProgrammingToolbar[ResourceLoader]|AddProgrammingToolbar.css|AddProgrammingToolbar.js MediaWiki:Gadget-section-MeinDefinierterAbschnitt → "Benutzte Überschrift"
Pfeile/Sonderzeichen
0x00 | 0x01 | 0x02 | 0x03 | 0x04 | 0x05 | 0x06 | 0x07 | 0x08 | 0x09 | 0x0A | 0x0B | 0x0C | 0x0D | 0x0E | 0x0F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x2190 | ← | ↑ | → | ↓ | ↔ | ↕ | ↖ | ↗ | ↘ | ↙ | ↚ | ↛ | ↜ | ↝ | ↞ | ↟ |
0x21a0 | ↠ | ↡ | ↢ | ↣ | ↤ | ↥ | ↦ | ↧ | ↨ | ↩ | ↪ | ↫ | ↬ | ↭ | ↮ | ↯ |
0x21b0 | ↰ | ↱ | ↲ | ↳ | ↴ | ↵ | ↶ | ↷ | ↸ | ↹ | ↺ | ↻ | ↼ | ↽ | ↾ | ↿ |
0x21c0 | ⇀ | ⇁ | ⇂ | ⇃ | ⇄ | ⇅ | ⇆ | ⇇ | ⇈ | ⇉ | ⇊ | ⇋ | ⇌ | ⇍ | ⇎ | ⇏ |
0x21d0 | ⇐ | ⇑ | ⇒ | ⇓ | ⇔ | ⇕ | ⇖ | ⇗ | ⇘ | ⇙ | ⇚ | ⇛ | ⇜ | ⇝ | ⇞ | ⇟ |
0x21e0 | ⇠ | ⇡ | ⇢ | ⇣ | ⇤ | ⇥ | ⇦ | ⇧ | ⇨ | ⇩ | ⇪ | ⇫ | ⇬ | ⇭ | ⇮ | ⇯ |
0x21f0 | ⇰ | ⇱ | ⇲ | ⇳ | ⇴ | ⇵ | ⇶ | ⇷ | ⇸ | ⇹ | ⇺ | ⇻ | ⇼ | ⇽ | ⇾ | ⇿ |
⌜⌝⌞⌟ ⌌⌍⌎⌏ ⌢⌣ ┌┬─┐ ││ │ ├┼─┤ └┴─┘