Hilfe:Parserfunktionen/*
- Navigation
- Benutzerkonto
- Bearbeiten
- Wikisyntax
- Seitenverwaltung
- Bausteine
- Bild und Ton
- Kommunikation
- Technik
Parserfunktionen sind Teil der Wikisyntax.
Im Index ist eine Liste aller in der deutschsprachigen Wikipedia und darüber hinaus definierten Parserfunktionen zusammengestellt.
Nachfolgend wird auf dieser Seite eine Zusammenstellung angeboten, die die auch als jeweils einzelne Hilfeseiten verfügbaren Informationen beispielsweise zur Textsuche zusammenfasst.
Inhaltsverzeichnis
- 1 Einstieg
- 2 Liste aller Einzelfunktionen
- 3 Analysen und Statistiken
- 4 Datum und Zeit
- 5 Kontrollstrukturen
- 6 Multilingual – Sprachen
- 7 Programmierung
- 8 Seite und URL
- 9 Text (Zeichenketten)
- 10 Konfiguration des aktuellen Wiki-Projekts
- 11 Zahlen
- 12 Verschiedene spezielle Anwendungen
Einstieg
[Bearbeiten | Quelltext bearbeiten]
Allgemeines
Parserfunktionen sind Konstrukte im Wikitext, die in einen teils recht statischen, teils sehr dynamischen anderen Text umgewandelt werden. Sie sind in doppelte geschweifte Klammern {{}}
eingeschlossen.
In enzyklopädischen Artikeln ist eine direkte Verwendung in der Regel unerwünscht, abgesehen von einigen verbreiteten Vertretern wie SEITENTITEL oder dem Sortierschlüssel von Kategorien. Ein Grund dafür ist, dass die zugehörige Dokumentation (anders als bei Vorlagen) nicht unmittelbar erreichbar ist.
In erster Linie werden Parserfunktionen zur Programmierung von Vorlagen verwendet; auch auf Funktionsseiten usw. außerhalb des enzyklopädischen Bereichs.
Jedes Wiki kann gewissermaßen seine eigenen „Funktionen“ dieser Art herstellen; das sind gerade die Vorlagen.
Syntax und Bezeichner
Die Einbindung einer Parserfunktion ohne Parameter in den Wikitext ist syntaktisch zunächst nicht von einer Vorlage zu unterscheiden; siehe Seiten einbinden.
{{
irgendwas}}
kann beides sein.- Um dies zu vermeiden und eindeutig zu machen, haben pfiffige Entwickler dem Bezeichner der jeweiligen Parserfunktion ein
#
vorangestellt.[1]- Das ist unmöglich für eine Vorlage.
- Allerdings sind bei weitem nicht alle Parserfunktionen mit derartigen Bezeichnern ausgestattet worden.
- Falls der unerwünschte Fall auftreten soll, dass eine Vorlage den gleichen Bezeichner wie eine Parserfunktion trägt, wäre
{{Vorlage:
irgendwas}}
eindeutig eine Vorlage.- Bei gleichen Namen hat ansonsten die Parserfunktion immer Vorrang; es wird bei ihrem Antreffen nicht mehr nach einbindbaren Seiten gesucht.
msg:
wäre eine weitere Möglichkeit, um Konflikte aufzulösen.
- Beim Bezeichner einer Parserfunktion hat die Groß- und Kleinschreibung keine Bedeutung.
- Das ist anders als bei Vorlagen, wo dies nur für einen ersten Buchstaben gilt.
- Für quasistatische, eher konstante Werte werden meist Großbuchstaben benutzt; steht ein funktionaler Aspekt mit Parametern im Vordergrund dann eher Kleinbuchstaben.
- Beim Bezeichner einer Parserfunktion ist ein Unterstreichungsstrich
_
signifikant, also nicht gleichbedeutend mit einem Leerzeichen usw.- Das ist anders als bei Vorlagen, auf deren Bezeichner alle Regeln zur Normalisierung angewendet werden können.
- Bei einer Parserfunktion mit Parametern wird der erste Parameterwert durch einen Doppelpunkt
:
abgetrennt.- Daran lässt sich ggf. der Unterschied zu einer Vorlage erkennen, für die ein solcher Doppelpunkt ungewöhnlich wäre, obwohl syntaktisch möglich.[2]
- Bei weiteren Parametern ist dies ein Pipe-Symbol
|
genau wie bei Vorlagen. - Vor einem Doppelpunkt darf kein Leerzeichen stehen.
- Wenn ein Pflichtparameter erwartet wird, würde die Funktion ohne Doppelpunkt nicht als solche erkannt werden.
- Ein leerer Parameterwert ist unzulässig; der Doppelpunkt darf nicht das letzte nicht-leere Zeichen sein.
- Zu einigen Bezeichnern gibt es deutschsprachige Lokalisierungen, die eher dort verwendet werden, wo Vorlagenprogrammierung durch Autoren von Artikeln selbst erfolgt. In fortgeschritteneren Bereichen sind auch für den globalen Austausch die generischen, englischsprachigen Bezeichner üblich. Das erleichtert dann auch die Suche in Quelltexten.
Parameterwerte
Für Parameter-Bezeichner, deren Syntax und ihre Werte gelten die analogen Regeln wie bei Vorlagen.
- Der erste Parameter wird jedoch mittels eines Doppelpunkts abgetrennt, alle weiteren dann mittels
|
(Pipe-Symbol). - Parserfunktionen ganz ohne Parameter oder ohne aktuelle Angabe eines Parameters oder aber mit sich selten änderndem Resultat werden häufig nicht ganz korrekt als „Variablen“ bezeichnet, weil in den frühen Jahren das Konzept nicht wirklich durchschaut wurde.
- Hinsichtlich Trimmung, also führende oder schließende einfache Leerzeichen oder Zeilenumbrüche um Parameterwerte, werden diese von den allermeisten Parserfunktionen ignoriert.
- Eine wesentliche Ausnahme ist
#invoke
, auf die analoge Regeln wie bei Vorlagen angewendet werden.
- Eine wesentliche Ausnahme ist
- Pipes innerhalb von Verlinkungen, Medieneinbindungen oder Vorlageneinbindungen werden vor Auswertung der Parameterliste von den umgebenden Syntaxelementen konsumiert.
- HTML-Kommentare werden vor der Weitergabe eliminiert.
- Andere Seiteneinbindungen (Vorlagen) und Parserfunktionen werden vor der Weitergabe ausgewertet.
- Ein fehlender Pflichtparameters kann zur Interpretation des Bezeichners als Vorlage führen, falls dieser Bezeichner nicht mit
#
beginnt. - Bei Funktionen, die keinen Parameter erwarten, darf auch keiner angegeben werden.
Substitution
Eine Substitution von Parserfunktionen ist analog derer von Vorlagen und anderer eingebundener Seiten möglich.
Allerdings trifft das ggf. nur für solche Ergebnisse zu, die nicht von externen Gegebenheiten abhängen und keine Außenwirkung haben sollen.
- Ein Berechnungsergebnis konstanter Werte mit
#expr
ist das Berechnungsergebnis. - Eine Statistik friert ihren Momentanzustand ein.
- Momentane Zeitpunkte und Seitenversionsdaten lassen sich einfrieren.
- Kontrollstrukturen dürfen ihrerseits nur von statischen Informationen abhängen; das kann aber auch jeder aktuelle Wert von Vorlagenparametern sein.
- SEITENTITEL und Sortierschlüssel sind nicht substituierbar; das Ergebnis ist „nichts“.
Ergebnis
Zeichen | Entity |
---|---|
; |
;
|
: |
:
|
* |
*
|
# |
#
|
Leerzeichen |  
|
Zeilenumbruch |
|
- Das Ergebnis einer Parserfunktion ist in aller Regel „getrimmt“, also ohne führende oder schließende einfache Leerzeichen oder Zeilenumbrüche.
- Dem Ergebnis einer Parserfunktion wird aber genauso wie bei Vorlagen ein Zeilenumbruch vorangestellt, falls dieses netto mit
;
:
*
#
{|
beginnt.- Das zielte darauf ab, damit Aufzählungen und Listen und Tabellen zu kennzeichnen. Andernfalls wäre dies wegen der Trimmung nicht möglich.
- Soll ein sichtbares derartiges Zeichen erscheinen, muss der Beginn des Ergebnisses zuvor in ein entsprechendes Entitiy gewandelt werden (siehe Tabelle rechts).
Geschichte und Herkunft
Bereits in den allerersten Jahren wurden Parserfunktionen definiert, die Informationen über das Wiki oder die aktuelle Seite zugänglich machten.
- Das wurde dann ausgebaut mit Parametern.
- Mitte April 2006 wurden die beiden Funktionen
#if:
und#switch:
eingeführt. Erst dadurch wurde eine Programmierung im eigentlichen Sinn möglich, weil erst damit eine Auswertung von Parameterwerten oder anderer Parserfunktionen eine Steuerung des Verhaltens bewirken konnte. - Die meisten Parserfunktionen gehören zum anerkannten „Kern“ und sind damit auf allen Wikis der WMF und auch außerhalb verfügbar.
- Einzelne Parserfunktionen werden durch bestimmte „Extensionen“ definiert.
- Manche Extensionen sind auf allen Wikis der WMF aktiviert; einige nur auf bestimmten, etwa zentralen mehrsprachigen usw.
- Auf privaten Wikis müssen entsprechende Extensionen üblicherweise gesondert installiert werden.
- Für eine Wikipedia ist es in der Regel unerheblich, ob eine Parserfunktion zum momentanen Kern oder zu einer Extension gehört.
- Eine Liste aller durch Erweiterungen (zusätzlich zum MediaWiki-Kern) eingebrachter Parserfunktionen ist auf Spezial:Version unter „Parsererweiterungen (Funktionen)“ aufgelistet (nur generische Namen).
Schalterfunktionen
Im Prinzip kann jede „Schalterfunktion“ __XYZ__
genauso zu einer Parserfunktion {{#xyz}}
migriert werden.
- Damit wäre die Beschreibung der Wikisyntax konsistenter und die Ausnahmen für das Unterstreichungsstrich-Format könnten perspektivisch beseitigt werden.
- Dies war im ersten Jahrzehnt auch vorgeschlagen worden; wurde jedoch abgelehnt wegen der Befürchtung einer Namenskollision in den Wikis mit einer Vorlage:XYZ.
- Durch den Parserfunktionen einheitlich vorangestelltes
#
gibt es jedoch keine Namenskonflikte mit eingebundenen Seiten.
Schalterfunktionen stammen aus der frühen Frühzeit der Wikisyntax; dieses Konzept wurde praktisch nicht weiter verfolgt.
Magische Wörter
„Magische Wörter“ im eigentlichen Sinn werden nicht an der syntaktischen Notation durch Unterstreichungsstriche oder Klammern erkannt, sondern an einer bestimmten Zeichenkette mitten im Text.
- Das ist für eine syntaktische Beschreibung, die effiziente Interpretation durch Software wie auch Menschen hochproblematisch.
- Bei den URL ist nachvollziehbar, dass durch einfaches Einstreuen in den Quelltext bereits eine automatische Verlinkung ausgelöst werden soll.
- Problematisch ist hier jedoch, ob sich anschließende Satzzeichen (Punkt, Komma, Fragezeichen, Ausrufezeichen, Semikolon) zur wirksamen Adresse zählen sollen oder nicht (sie werden nicht in die URL einbezogen).
Magische Wörter stammen aus der frühen Frühzeit der Wikisyntax; dieses Konzept wurde nicht weiter verfolgt.
Anmerkungen
- ↑ Siehe phab:T204370 Behavior switch/magic word uniformity
- ↑ Falls wie bei Vorlage:Info ISO-3166-2:CH tatsächlich Teil des Namens.
Liste aller Einzelfunktionen
[Bearbeiten | Quelltext bearbeiten]- Ein vorangestelltes
#
wird in nachstehender Sortierung ignoriert. Siehe auch „Bezeichner“. - Groß- oder Kleinschreibung hat keine Bedeutung.
- Verbreiteter Praxis folgend sind nachstehend die meist mit Parametern verwendeten Parserfunktionen in Kleinschreibung und die ohne in Großbuchstaben notiert.
- Im Quelltext von Artikeln sichtbare Funktionen sind ebenfalls in Großbuchstaben notiert.
- Eine „Lokalisierung“ meint eine deutschsprachige Variante eines Bezeichners, die ausschließlich in deutschsprachigen Wikis funktioniert.
- Der generische Name kann in allen Wikis verwendet werden.
- Jeder Funktionsname ist in
{{
…}}
eingeschlossen zu denken.
Bezeichner | Lokalisierung von | Thema |
---|---|---|
! |
Text | |
= |
Text | |
A | ||
ADMINANZAHL |
NUMBEROFADMINS | Analysen |
AKTIVE_BENUTZER |
NUMBEROFACTIVEUSERS | Analysen |
anchorencode |
Seite und URL | |
ARTICLEPATH |
Wiki | |
ARTIKELANZAHL |
NUMBEROFARTICLES | Analysen |
ARTIKELPFAD |
ARTICLEPATH | Wiki |
#aufrufen |
#invoke | Programmierung |
B | ||
#babel |
Multilingual | |
BASEPAGENAME |
Seite und URL | |
BASEPAGENAMEE |
Seite und URL | |
#bcp47 |
Multilingual | |
BEARBEITUNGSANZAHL |
NUMBEROFEDITS | Analysen |
BENUTZERANZAHL |
NUMBEROFUSERS | Analysen |
BENUTZER_IN_GRUPPE |
NUMBERINGROUP | Analysen |
bidi |
Text | |
C | ||
canonicalurl |
Seite und URL | |
canonicalurle |
Seite und URL | |
CASCADINGSOURCES |
Seite und URL | |
#categorytree |
Verschiedenes | |
CONTENTLANG |
Multilingual | |
CONTENTLANGUAGE |
Multilingual | |
#coordinate |
Verschiedenes | |
#coordinates |
Verschiedenes | |
CURRENTDAY |
Datum und Zeit | |
CURRENTDAY2 |
||
CURRENTDAYNAME |
||
CURRENTDOW |
||
CURRENTHOUR |
||
CURRENTMONTH |
||
CURRENTMONTH1 |
||
CURRENTMONTH2 |
||
CURRENTMONTHABBREV |
||
CURRENTMONTHNAME |
||
CURRENTMONTHNAMEGEN |
||
CURRENTTIME |
||
CURRENTTIMESTAMP |
||
CURRENTVERSION |
Wiki | |
CURRENTWEEK |
Datum und Zeit | |
CURRENTYEAR |
Datum und Zeit | |
D | ||
#dateformat |
Datum und Zeit | |
DATEIANZAHL |
NUMBEROFFILES | Analysen |
dateipfad |
filepath | Seite und URL |
#datumsformat |
#formatdate | Datum und Zeit |
DEFAULTSORT |
Seite und URL | |
#dir |
Multilingual | |
DIRECTIONMARK |
Text | |
DIRMARK |
Text | |
DISK |
TALKPAGENAME | Seite und URL |
DISK_NR |
TALKSPACE | |
DISK_NR_URL |
TALKSPACEE | |
DISK_URL |
TALKPAGENAMEE | |
DISKUSSIONSNAMENSRAUM |
TALKSPACE | |
DISKUSSIONSNAMENSRAUM_URL |
TALKSPACEE | |
DISKUSSIONSSEITE |
TALKPAGENAME | |
DISKUSSIONSSEITE_URL |
TALKPAGENAMEE | |
DISPLAYTITLE |
||
E | ||
ers |
subst | Programmierung |
#erweiterung |
#tag | Programmierung |
#expr |
Zahlen | |
F | ||
filepath |
Seite und URL | |
#FORMAL |
Text | |
#formatdate |
Datum und Zeit | |
formatnum |
Zahlen | |
füllenlinks |
padleft | Text |
füllenrechts |
padright | Text |
FULLPAGENAME |
Seite und URL | |
FULLPAGENAMEE |
Seite und URL | |
fullurl |
Seite und URL | |
fullurle |
Seite und URL | |
G | ||
gender |
Text | |
geschlecht |
gender | Text |
grammar |
Text | |
gross |
uc | Text |
H | ||
HAUPTNAMENSRAUM |
SUBJECTSPACE | Seite und URL |
HAUPTNAMENSRAUM_URL |
SUBJECTSPACEE | Seite und URL |
HAUPTSEITE |
SUBJECTPAGENAME | Seite und URL |
HAUPTSEITENNAME |
SUBJECTPAGENAME | Seite und URL |
HAUPTSEITENNAME_URL |
SUBJECTPAGENAMEE | Seite und URL |
HAUPTSEITE_URL |
SUBJECTPAGENAMEE | Seite und URL |
I | ||
#if |
Kontrollstrukturen | |
#ifeq |
Kontrollstrukturen | |
#iferror |
Kontrollstrukturen | |
#ifexist |
Kontrollstrukturen | |
#ifexpr |
Kontrollstrukturen | |
INHALTSSPRACHE |
CONTENTLANGUAGE | Multilingual |
initial_gross |
ucfirst | Text |
initial_klein |
lcfirst | Text |
int |
Multilingual | |
#invoke |
Programmierung | |
J | ||
JETZIGE_KALENDERWOCHE |
CURRENTWEEK | Datum und Zeit |
JETZIGER_KALENDERTAG |
CURRENTDAY | |
JETZIGER_KALENDERTAG_2 |
CURRENTDAY2 | |
JETZIGER_MONAT |
CURRENTMONTH | |
JETZIGER_MONAT_1 |
CURRENTMONTH1 | |
JETZIGER_MONAT_2 |
CURRENTMONTH2 | |
JETZIGER_MONATSNAME |
CURRENTMONTHNAME | |
JETZIGER_MONATSNAME_GEN |
CURRENTMONTHNAMEGEN | |
JETZIGER_MONATSNAME_GENITIV |
CURRENTMONTHNAMEGEN | |
JETZIGER_MONATSNAME_KURZ |
CURRENTMONTHABBREV | |
JETZIGER_TAG |
CURRENTDAY | |
JETZIGER_TAG_2 |
CURRENTDAY2 | |
JETZIGER_WOCHENTAG |
CURRENTDAYNAME | |
JETZIGER_WOCHENTAG_ZAHL |
CURRENTDOW | |
JETZIGER_ZEITSTEMPEL |
CURRENTTIMESTAMP | |
JETZIGES_JAHR |
CURRENTYEAR | |
JETZIGE_STUNDE |
CURRENTHOUR | |
JETZIGE_UHRZEIT |
CURRENTTIME | |
JETZIGE_VERSION |
CURRENTVERSION | Wiki |
JETZIGE_WOCHE |
CURRENTWEEK | Datum und Zeit |
K | ||
KANONISCHE_URL |
canonicalurl | Seite und URL |
KANONISCHE_URL_C |
canonicalurle | Seite und URL |
KASKADENQUELLEN |
CASCADINGSOURCES | Seite und URL |
klein |
lc | Text |
L | ||
#language |
Multilingual | |
lc |
Text | |
lcfirst |
Text | |
LOCALDAY |
Datum und Zeit | |
LOCALDAY2 |
||
LOCALDAYNAME |
||
LOCALDOW |
||
LOCALHOUR |
||
LOCALMONTH |
||
LOCALMONTH1 |
||
LOCALMONTH2 |
||
LOCALMONTHABBREV |
||
LOCALMONTHNAME |
||
LOCALMONTHNAMEGEN |
||
LOCALTIME |
||
LOCALTIMESTAMP |
||
localurl |
Seite und URL | |
localurle |
Seite und URL | |
LOCALWEEK |
Datum und Zeit | |
LOCALYEAR |
Datum und Zeit | |
LOKALE_KALENDERWOCHE |
LOCALWEEK | Datum und Zeit |
LOKALER_KALENDERTAG |
LOCALDAY | |
LOKALER_KALENDERTAG_2 |
LOCALDAY2 | |
LOKALER_MONAT |
LOCALMONTH | |
LOKALER_MONAT_1 |
LOCALMONTH1 | |
LOKALER_MONAT_2 |
LOCALMONTH2 | |
LOKALER_MONATSNAME |
LOCALMONTHNAME | |
LOKALER_MONATSNAME_GEN |
LOCALMONTHNAMEGEN | |
LOKALER_MONATSNAME_GENITIV |
LOCALMONTHNAMEGEN | |
LOKALER_MONATSNAME_KURZ |
LOCALMONTHABBREV | |
LOKALER_TAG |
LOCALDAY | |
LOKALER_TAG_2 |
LOCALDAY2 | |
LOKALER_WOCHENTAG |
LOCALDAYNAME | |
LOKALER_WOCHENTAG_ZAHL |
LOCALDOW | |
LOKALERZEITSTEMPEL |
LOCALTIMESTAMP | |
LOKALES_JAHR |
LOCALYEAR | |
LOKALE_STUNDE |
LOCALHOUR | |
LOKALE_UHRZEIT |
LOCALTIME | |
LOKALE_URL |
localurl | Seite und URL |
LOKALE_URL_C |
localurle | Seite und URL |
LOKALE_WOCHE |
LOCALWEEK | Datum und Zeit |
#lst |
Seite und URL | |
#lsth |
Seite und URL | |
#lstx |
Seite und URL | |
M | ||
#mentor |
Verschiedenes | |
#msg |
Programmierung | |
#msgnw |
Programmierung | |
N | ||
nachricht |
int | Multilingual |
NAMENSRAUM |
NAMESPACE | Seite und URL |
NAMENSRAUMNUMMER |
NAMESPACENUMBER | Seite und URL |
NAMENSRAUM_URL |
NAMESPACEE | Seite und URL |
NAMESPACE |
Seite und URL | |
NAMESPACEE |
Seite und URL | |
NAMESPACENUMBER |
Seite und URL | |
#noexternallanglinks |
Verschiedenes | |
nr |
ns | Seite und URL |
nr_url |
nse | Seite und URL |
ns |
Seite und URL | |
nse |
Seite und URL | |
NUMBERINGROUP |
Analysen | |
NUMBEROFACTIVEUSERS |
||
NUMBEROFADMINS |
||
NUMBEROFARTICLES |
||
NUMBEROFEDITS |
||
NUMBEROFFILES |
||
NUMBEROFPAGES |
||
NUMBEROFUSERS |
||
NUMBEROFVIEWS |
||
NUMBEROFWIKIS |
||
O | ||
OBERSEITE |
BASEPAGENAME | Seite und URL |
OBERSEITE_URL |
BASEPAGENAMEE | Seite und URL |
P | ||
padleft |
Text | |
padright |
Text | |
PAGEID |
Seite und URL | |
PAGELANGUAGE |
Multilingual | |
PAGENAME |
Seite und URL | |
PAGENAMEE |
Seite und URL | |
PAGESINCAT |
Analysen | |
PAGESINCATEGORY |
Analysen | |
PAGESIZE |
Seite und URL | |
plural |
Text | |
PROJEKTNAME |
SITENAME | Wiki |
PROTECTIONEXPIRY |
Seite und URL | |
PROTECTIONLEVEL |
Seite und URL | |
#property |
Verschiedenes | |
R | ||
#raw |
Programmierung | |
#rel2abs |
Seite und URL | |
#related |
Verschiedenes | |
REVISIONDAY |
Seite und URL | |
REVISIONDAY2 |
||
REVISIONID |
||
REVISIONSID |
REVISIONID | |
REVISIONMONTH |
||
REVISIONMONTH1 |
||
REVISIONSBENUTZER |
REVISIONUSER | |
REVISIONSIZE |
||
REVISIONSJAHR |
REVISIONYEAR | |
REVISIONSMONAT |
REVISIONMONTH | |
REVISIONSMONAT1 |
REVISIONMONTH1 | |
REVISIONSTAG |
REVISIONDAY | |
REVISIONSTAG2 |
REVISIONDAY2 | |
REVISIONSZEITSTEMPEL |
REVISIONTIMESTAMP | |
REVISIONTIMESTAMP |
||
REVISIONUSER |
||
REVISIONYEAR |
||
ROOTPAGENAME |
||
ROOTPAGENAMEE |
||
S | ||
safesubst |
Programmierung | |
SCHUTZSTATUS |
PROTECTIONLEVEL | Seite und URL |
SCRIPTPATH |
Wiki | |
SEITENANZAHL |
NUMBEROFPAGES | Analysen |
SEITENGRÖSSE |
PAGESIZE | Seite und URL |
SEITENID |
PAGEID | Seite und URL |
SEITENINKAT |
PAGESINCATEGORY | Analysen |
SEITEN_IN_KATEGORIE |
PAGESINCATEGORY | Analysen |
SEITEN_KAT |
PAGESINCATEGORY | Analysen |
SEITENKENNUNG |
PAGEID | Seite und URL |
SEITENNAME |
PAGENAME | Seite und URL |
SEITENNAME_URL |
PAGENAMEE | Seite und URL |
SEITENTITEL |
DISPLAYTITLE | Seite und URL |
SERVER |
Wiki | |
SERVERNAME |
Wiki | |
SITENAME |
Wiki | |
SKRIPTPFAD |
SCRIPTPATH | Wiki |
SORTIERUNG |
DEFAULTSORT | Seite und URL |
#special |
Seite und URL | |
#speciale |
Seite und URL | |
#spezial |
#special | Seite und URL |
#speziale |
#speciale | Seite und URL |
#sprache |
#language | Multilingual |
sprungmarkeenkodiert |
anchorencode | Seite und URL |
STAMMSEITE |
ROOTPAGENAME | Seite und URL |
STAMMSEITE_URL |
ROOTPAGENAMEE | Seite und URL |
#statements |
Verschiedenes | |
STILPFAD |
STYLEPATH | Wiki |
STYLEPATH |
Wiki | |
STYLEPFAD |
STYLEPATH | Wiki |
SUBJECTPAGENAME |
Seite und URL | |
SUBJECTPAGENAMEE |
Seite und URL | |
SUBJECTSPACE |
Seite und URL | |
SUBJECTSPACEE |
Seite und URL | |
SUBPAGENAME |
Seite und URL | |
SUBPAGENAMEE |
Seite und URL | |
subst |
Programmierung | |
#switch |
Kontrollstrukturen | |
T | ||
#tag |
Programmierung | |
TALKPAGENAME |
Seite und URL | |
TALKPAGENAMEE |
Seite und URL | |
TALKSPACE |
Seite und URL | |
TALKSPACEE |
Seite und URL | |
#target |
Verschiedenes | |
#time |
Datum und Zeit | |
#timef |
Datum und Zeit | |
#timefl |
Datum und Zeit | |
#timel |
Datum und Zeit | |
#titleparts |
Seite und URL | |
translate |
Multilingual | |
U | ||
uc |
Text | |
ucfirst |
Text | |
UNTERSEITE |
SUBPAGENAME | Seite und URL |
UNTERSEITE_URL |
SUBPAGENAMEE | Seite und URL |
urlencode |
Seite und URL | |
urlenkodiert |
urlencode | Seite und URL |
V | ||
VERSIONSBENUTZER |
REVISIONUSER | Seite und URL |
VERSIONSGRÖSSE |
REVISIONSIZE | |
VERSIONSID |
REVISIONID | |
VERSIONSMONAT |
REVISIONMONTH | |
VERSIONSMONAT1 |
REVISIONMONTH1 | |
VERSIONSJAHR |
REVISIONYEAR | |
VERSIONSTAG |
REVISIONDAY | |
VERSIONSTAG2 |
REVISIONDAY2 | |
VERSIONSZEITSTEMPEL |
REVISIONTIMESTAMP | |
VOLLER_SEITENNAME |
FULLPAGENAME | |
VOLLER_SEITENNAME_URL |
FULLPAGENAMEE | |
VOLLSTÄNDIGE_URL |
fullurl | |
VOLLSTÄNDIGE_URL_C |
fullurle | |
VORDERSEITE |
SUBJECTPAGENAME | |
VORDERSEITE_URL |
SUBJECTPAGENAMEE | |
W | ||
WBREPONAME |
Wiki | |
Z | ||
zahlenformat |
formatnum | Zahlen |
Analysen und Statistiken
[Bearbeiten | Quelltext bearbeiten]Die meisten Funktionen kennen einen Parameterwert R
.
- Dieser bewirkt das „Roh“-Format. Er gibt an, ob „rohe“ (raw) oder Zahlenformatierung mit Tausendertrennzeichen (Vorgabe) bei mehr als 999 verwendet werden soll.
- Dies ist wichtig, wenn nachfolgend noch Berechnungen mit dem Zahlenwert erfolgen sollen, bei denen ein Punkt als Dezimaltrennzeichen interpretiert werden würde.
- Kleinschreibung oder
raw
wären nicht gültig.
Grundsätzlich sind die Seitendarstellungen im Cache hinterlegt, die sich meist schnell ändernden Zahlenwerte sind deshalb kaum aktuell. Entsprechende Seiten wie auch diese hier müssen dann ggf. spontan regeneriert werden: Aktualisieren
Wikis
Funktion |
---|
NUMBEROFWIKIS
|
Zahl der aktiven Projekte der WMF.
|
Beispiel: {{NUMBEROFWIKIS}} → 1044
|
Seitenstatistik
Diese Funktionen geben Gesamt-Statistiken für das aktuelle Wiki an.
Funktion | Lokalisierung | Parameter |
---|---|---|
NUMBEROFPAGES |
SEITENANZAHL |
R
|
Zahl aller Seiten im Projekt.
| ||
Beispiele:
| ||
NUMBEROFARTICLES |
ARTIKELANZAHL |
R
|
Zahl aller Seiten im Haupt-Namensraum (ANR) des Projekts.
| ||
Beispiele:
| ||
NUMBEROFFILES |
DATEIANZAHL |
R
|
Zahl aller (lokaler) Mediendateien im Projekt. | ||
Beispiele:
|
Bearbeitungen
Funktion | Lokalisierung | Parameter |
---|---|---|
NUMBEROFEDITS |
BEARBEITUNGSANZAHL |
R
|
Zahl aller (sichtbarer) Versionen von Seiten im Projekt. | ||
Beispiele:
|
Benutzerkonten
Diese Funktionen geben Statistiken zu lokalen Benutzerkonten für das aktuelle Wiki an.
Funktion | Lokalisierung | Pflichtparameter | Parameter |
---|---|---|---|
NUMBERINGROUP |
BENUTZER_IN_GRUPPE |
Gruppe | R
|
Allgemeine Funktion für eine beliebige Benutzergruppe.
| |||
Beispiele:
|
Funktion | Lokalisierung | Parameter |
---|---|---|
NUMBEROFACTIVEUSERS |
AKTIVE_BENUTZER |
R
|
Zahl der angemeldeten Benutzer mit Bearbeitungen in den letzten 30 Tagen. | ||
Beispiele:
| ||
NUMBEROFUSERS |
BENUTZERANZAHL |
R
|
Zahl der (sichtbaren) Benutzerkonten.
| ||
Beispiele:
| ||
NUMBEROFADMINS |
ADMINANZAHL |
R
|
Zahl der Administratoren.
| ||
Beispiele:
|
Seitenabrufe
Diese Funktion ist zurzeit auf den Wikis der WMF nicht verfügbar, und wird dies ob der extrem großen Datenmengen auch kaum noch werden.
Funktion |
---|
NUMBEROFVIEWS
|
Kategorien
Funktion | Lokalisierung | Pflichtparameter | Parameter | |
---|---|---|---|---|
PAGESINCATEGORY PAGESINCAT
|
SEITEN_IN_KATEGORIE SEITENINKAT SEITEN_KAT
|
Bezeichner | Auswahl | Format |
Gesamtanzahl bestimmter Eintragungen in einer Kategorie.
| ||||
Beispiele:
|
- Spezial:Statistik
- Wikipedia:Statistik
- mw.site – Lua-Bibliothek mit analogen Funktionen zur Statistik.
Datum und Zeit
[Bearbeiten | Quelltext bearbeiten]Es gibt in den Wikis zwei Zeitzonen:
- UTC – Weltzeit (London)
- Lokale Zeit für das Wiki (Berlin, ggf. mit Sommerzeit, für deutschsprachige Wikis)
Grundsätzlich sind die Seitendarstellungen im Cache hinterlegt, die sich meist schnell ändernden Zeitangaben sind deshalb kaum aktuell. Entsprechende Seiten wie auch diese hier müssen dann ggf. spontan regeneriert werden: Aktualisieren
Aktueller Zeitpunkt
Namen sind deutschsprachig.
Weltzeit
Funktion | Lokalisierung | Beschreibung | Beispiel |
---|---|---|---|
CURRENTTIMESTAMP |
JETZIGER_ZEITSTEMPEL
|
Zeitstempel als Zahl im Format JJJJMMTTHHMMSS, erfüllt ISO 8601 | {{CURRENTTIMESTAMP}} → 20241118135250
|
CURRENTYEAR |
JETZIGES_JAHR
|
Jahreszahl | {{CURRENTYEAR}} → 2024
|
CURRENTMONTH CURRENTMONTH2
|
JETZIGER_MONAT JETZIGER_MONAT_2
|
Monatsnummer, immer zweistellig | {{CURRENTMONTH2}} → 11
|
CURRENTMONTH1 |
JETZIGER_MONAT_1
|
Monatsnummer, möglichst einstellig | {{CURRENTMONTH1}} → 11
|
CURRENTMONTHNAME |
JETZIGER_MONATSNAME
|
Monatsname | {{CURRENTMONTHNAME}} → November
|
CURRENTMONTHABBREV |
JETZIGER_MONATSNAME_KURZ
|
Monatsname, bei mehr als drei Buchstaben abgekürzt | {{CURRENTMONTHABBREV}} → Nov.
|
CURRENTMONTHNAMEGEN |
JETZIGER_MONATSNAME_GENITIV JETZIGER_MONATSNAME_GEN
|
Monatsname im Genitiv | {{CURRENTMONTHNAMEGEN}} → November
|
CURRENTWEEK |
JETZIGE_WOCHE JETZIGE_KALENDERWOCHE
|
Kalenderwoche | {{CURRENTWEEK}} → 47
|
CURRENTDAY |
JETZIGER_TAG JETZIGER_KALENDERTAG
|
Tagesnummer im Monat, möglichst einstellig | {{CURRENTDAY}} → 18
|
CURRENTDAY2 |
JETZIGER_TAG_2 JETZIGER_KALENDERTAG_2
|
Tagesnummer im Monat, immer zweistellig | {{CURRENTDAY2}} → 18
|
CURRENTDAYNAME |
JETZIGER_WOCHENTAG
|
Wochentagsname | {{CURRENTDAYNAME}} → Montag
|
CURRENTDOW |
JETZIGER_WOCHENTAG_ZAHL
|
Tagesnummer in der Woche; Montag=1
|
{{CURRENTDOW}} → 1
|
CURRENTHOUR |
JETZIGE_STUNDE
|
Stunde, immer zweistellig | {{CURRENTHOUR}} → 13
|
CURRENTTIME |
JETZIGE_UHRZEIT
|
Uhrzeit, hh:mm | {{CURRENTTIME}} → 13:52
|
Lokale Zeit
Funktion | Lokalisierung | Beschreibung | Beispiel |
---|---|---|---|
LOCALTIMESTAMP |
LOKALERZEITSTEMPEL
|
Zeitstempel als Zahl im Format JJJJMMTTHHMMSS, erfüllt ISO 8601 | {{LOCALTIMESTAMP}} → 20241118145250
|
LOCALYEAR |
LOKALES_JAHR
|
Jahreszahl | {{LOCALYEAR}} → 2024
|
LOCALMONTH LOCALMONTH2
|
LOKALER_MONAT LOKALER_MONAT_2
|
Monatsnummer, immer zweistellig | {{LOCALMONTH}} → 11
|
LOCALMONTH1 |
LOKALER_MONAT_1
|
Monatsnummer, möglichst einstellig | {{LOCALMONTH1}} → 11
|
LOCALMONTHNAME |
LOKALER_MONATSNAME
|
Monatsname | {{LOCALMONTHNAME}} → November
|
LOCALMONTHABBREV |
LOKALER_MONATSNAME_KURZ
|
Monatsname, bei mehr als drei Buchstaben abgekürzt | {{LOCALMONTHABBREV}} → Nov.
|
LOCALMONTHNAMEGEN |
LOKALER_MONATSNAME_GENITIV LOKALER_MONATSNAME_GEN
|
Monatsname im Genitiv | {{LOCALMONTHNAMEGEN}} → November
|
LOCALWEEK |
LOKALE_WOCHE LOKALE_KALENDERWOCHE
|
Kalenderwoche | {{LOCALWEEK}} → 47
|
LOCALDAY |
LOKALER_TAG LOKALER_KALENDERTAG
|
Tagesnummer im Monat, möglichst einstellig | {{LOCALDAY}} → 18
|
LOCALDAY2 |
LOKALER_TAG_2 LOKALER_KALENDERTAG_2
|
Tagesnummer im Monat, immer zweistellig | {{LOCALDAY2}} → 18
|
LOCALDAYNAME |
LOKALER_WOCHENTAG
|
Wochentagsname | {{LOCALDAYNAME}} → Montag
|
LOCALDOW |
LOKALER_WOCHENTAG_ZAHL
|
Tagesnummer in der Woche; Montag=1
|
{{LOCALDOW}} → 1
|
LOCALHOUR |
LOKALE_STUNDE
|
Stunde, immer zweistellig | {{LOCALHOUR}} → 14
|
LOCALTIME |
LOKALE_UHRZEIT
|
Uhrzeit, hh:mm | {{LOCALTIME}} → 14:52
|
Beliebigen Zeitpunkt formatieren – #time
Funktion | Pflichtparameter | Parameter | |
---|---|---|---|
#time
|
Format | Zeitpunkt | Ausgabesprache |
Formatiert beliebigen Zeitpunkt in Weltzeit.
Bei nicht erkanntem Zeitpunkt wird dieser unverändert wiedergegeben, der Rest ignoriert. | |||
Beispiele:
| |||
#timel
|
Format | Zeitpunkt | Ausgabesprache |
Formatiert beliebigen Zeitpunkt in Projekt-lokaler Zeit.
| |||
Beispiele:
|
Es wird bei ungültigem Ausdruck eine Fehlermeldung angezeigt; eine Wartungskategorie ist zurzeit jedoch nicht definiert.[1]
Die Funktionalität wird zunächst durch eine Standardbibliothek in PHP realisiert und richtet sich nach deren auf dem Server installierten Version. [2]
Von MediaWiki unterstützte Format-Parameter sind DjlNwzWFmMntLoYyaAgGhHiscrUeIOPTZ
[3] sowie Erweiterungen zu PHP. Diese werden in den folgenden zwei Tabellen erklärt.
Die Ausgabe erfolgt entsprechend der lokalen Spracheinstellung; durch xn-Codes werden Zahlausgaben in Versalziffern umgewandelt, sofern das per lokaler Spracheinstellung erzeugten typografischen Varianten oder anderen Zahlensystemen benötigt wird.
Code | Beschreibung | Ausgabe in UTC (#time )
|
Ausgabe in lokaler Zeit (#timel )
|
---|---|---|---|
Jahr | |||
Y
|
Jahr vierstellig | 2024 | 2024 |
y
|
Jahr zweistellig | 24 | 24 |
o
|
Jahreszahl nach ISO 8601, gebunden an Kalenderwoche 29. Dezember 2008 = 2009, weil 1. KW; 2. Januar 2011 = 2010, weil 52. KW |
2024 | 2024 |
L
|
Schaltjahr? 1=ja und 0=nein | 1 | 1 |
Monat | |||
M
|
Monatsname abgekürzt (internationalisierbar) | Nov. (Standard) Nov (Englisch) |
Nov. (Standard) Nov (Englisch) |
F
|
Monatsname ausgeschrieben (internationalisierbar) | November (Standard) November (Englisch) |
November (Standard) November (Englisch) |
m
|
Monat mit führender Null | 11 | 11 |
n
|
Monat ohne führende Null | 11 | 11 |
t
|
Gesamt-Anzahl der Tage in diesem Monat | 30 | 30 |
Woche | |||
W
|
Kalenderwoche nach ISO-8601 | 47 | 47 |
Tag | |||
z
|
Tage seit Neujahr, 1. Januar=0; 2. Januar=1, … | 322 | 322 |
j
|
Tag im Monat ohne führende Null | 18 | 18 |
d
|
Tag im Monat mit führender Null | 18 | 18 |
D
|
Wochentag abgekürzt (tw. internationalisierbar) | Mo (Standard) Mon (Englisch) |
Mo (Standard) Mon (Englisch) |
l
|
Wochentag ausgeschrieben (tw. internationalisierbar) | Montag (Standard) Monday (Englisch) |
Montag (Standard) Monday (Englisch) |
w
|
Wochentags-Zähler, Mo(1)–Sa(6), So=0 | 1 | 1 |
N
|
Wochentags-Zähler, Mo(1)–Sa(6), So=7 | 1 | 1 |
Stunde | |||
H
|
Stunde mit führender Null, Mitternacht = 00 | 13 | 14 |
G
|
Stunde ohne führende Null, Mitternacht = 0 | 13 | 14 |
h
|
Stunde im 12-h-Format mit führender Null, Mitternacht & Mittag = 12 | 01 | 02 |
g
|
Stunde im 12-h-Format ohne führende Null, Mitternacht & Mittag = 12 | 1 | 2 |
a / A
|
am und pm, klein- (a) bzw. großgeschrieben (A) | pm / PM | pm / PM |
Minute und Sekunde | |||
i
|
Minute mit führender Null, volle Stunde = 00 | 52 | 52 |
s
|
Sekunde mit führender Null, volle Minute = 00 | 50 | 50 |
Umfassende Zeitangabe | |||
c
|
Datum nach ISO 8601 | 2024-11-18T13:52:50+00:00 | 2024-11-18T14:52:50+01:00 |
r
|
Datum nach RFC 2822 | Mon, 18 Nov 2024 13:52:50 +0000 | Mon, 18 Nov 2024 14:52:50 +0100 |
U
|
Unixzeit | 1731937970 | 1731937970 |
Zeitzone | |||
e
|
Zeitzonen-Kennzeichner | UTC | Europe/Berlin |
I
|
Sommerzeit? 1=ja und 0=nein | 0 | 0 |
O
|
Unterschied zur Greenwich Mean Time | +0000 | +0100 |
P
|
Unterschied zur Greenwich Mean Time mit Trennzeichen | +00:00 | +01:00 |
T
|
Zeitzonen-Name | UTC | CET |
Z
|
Zeitzonen-Offset in Sekunden | 0 | 3600 |
Code | Beschreibung | Ausgabe in UTC |
---|---|---|
xn
|
Sofern die Spracheinstellungen nicht Versalziffern erzeugen, sorgt xn dafür – beispielsweise ergibt {{#time:G, xnG}} in Hindi → १३, 13 | 13 (xnG) |
xr
|
Formatiert den nächsten numerischen Code als römische Zahl. | {{#time: xrY}} → MMXXIV |
xg
|
Gibt die Genitivform des Monatsnamens aus; für Sprachen, die zwischen Genitiv und Nominativ unterscheiden. | November |
xx
|
Der Buchstabe „x“ | x |
|
Tag nach islamischer Zeitrechnung |
16 Dschumada l-ula |
|
Tag im iranischen Kalender |
28 30 |
|
Tag im jüdischen Kalender |
17 30 |
xkY
|
Jahr im thailändischen Sonnenkalender (Tag und Monat sind mit dem gregorianischen Kalender identisch) | 2567 |
xoY
|
Jahr im chinesischen Minguo-Kalender (Tag und Monat sind mit dem gregorianischen Kalender identisch) | 113 |
xtY
|
Jahr im japanischen Nengō-Kalender (Tag und Monat sind mit dem gregorianischen Kalender identisch) | 令和6 |
Jedes unbekannte Zeichen wird unbearbeitet zur Ausgabe durchgereicht. Dazu gibt es zwei Konventionen:
- Zeichen zwischen doppelten, hochgestellten Anführungszeichen
"
werden als solche ausgegeben, die Anführungszeichen selbst werden ausgespart. Dies verhindert eine Umwandlung der (Code-)Buchstaben eines Wortes. Anführungszeichen alleine werden als solche ausgegeben. Beispiele:{{#time: Wort}}
→ 472024Mon, 18 Nov 2024 13:52:50 +000030{{#time: "Wort"}}
→ Wort{{#time: "Wird übermorgen, einem" l "im" F", erledigt."|+ 2 days}}
→ Wird übermorgen, einem Mittwoch im November, erledigt.{{#time: "l, g:i:s a"}}
→ l, g:i:s a
- backslash escapes werden unterstützt:
\H
ergibt das ZeichenH
,\"
ergibt das Zeichen"
.
Code | Beschreibung | Ausgabe (UTC) |
---|---|---|
{{#time:xjj. xjF xjY}}
|
Aktuelles Datum nach dem jüdischen Kalender | 17. Cheshvan 5785 |
{{#time:xmj. xmF xmY}}
|
Aktuelles Datum nach islamischer Zeitrechnung | 16. Dschumada l-ula 1446 |
{{#time:xij. xiF xiY}}
|
Aktuelles Datum nach dem iranischen Kalender | 28. Aban 1403 |
{{#time:j. F xkY}}
|
Aktuelles Datum nach dem Thailändischen Sonnenkalender | 18. November 2567 |
{{#time:j. F xoY}}
|
Aktuelles Datum nach dem chinesischen Minguo-Kalender | 18. November 113 |
{{#time:xtY/n/j}}
|
Aktuelles Datum nach dem japanischen Nengō-Kalender | 令和6/11/18 |
Schlüsselwort | Bedeutung |
---|---|
ago | zuvor |
second seconds |
Sekunden |
minute minutes |
Minuten |
hour hours |
Stunden |
day days |
Tage |
month months |
Monate |
week weeks |
Wochen |
year years |
Jahre |
today | heute |
tomorrow | morgen |
yesterday | gestern |
fortnight | 14 Tage |
Das Format des Zeitpunkt-Parameters ist identisch mit der PHP-Funktion strtotime()
. Relative Angaben wie zum Beispiel +10 hours
werden unterstützt, welche etwa für eine Zeitzonen-Berechnung genutzt werden können.
Bei Namen oder Abkürzungen von Monaten oder Wochentagen werden nur die englischsprachigen Bezeichnungen erkannt, die Verwendung von deutschsprachigen Bezeichnungen kann zu einem ungültigen oder unerwarteten Datum führen.[4]
Code | Beschreibung | Ergebnis in UTC |
---|---|---|
mit verändertem Datum relativ zur „Jetztzeit“, dem Zeitpunkt der letzten Seitenaktualisierung: 18.11.2024 13:52:50
| ||
{{#time:j"."n"."Y H":"i":"s|2 days 10 hours 40 minutes ago}}
|
Das angezeigte Datum wird um 2 Tage, 10 Stunden und 40 Minuten nach hinten verschoben | 16.11.2024 03:12:50 |
{{#time:j"."n"."Y H":"i":"s|1 day ago}}
|
Gestern zur gleichen Zeit (Vor 24 Stunden) | 17.11.2024 13:52:50 |
{{#time:j"."n"."Y H":"i":"s|yesterday}}
|
Gestern | 17.11.2024 00:00:00 |
{{#time:j"."n"."Y H":"i":"s|tomorrow}}
|
Morgen | 19.11.2024 00:00:00 |
{{#time:j"."n"."Y H":"i":"s|1 day}}
|
Morgen zur gleichen Zeit (In 24 Stunden) | 19.11.2024 13:52:50 |
{{#time:j"."n"."Y H":"i":"s|2 days}}
|
Übermorgen | 20.11.2024 13:52:50 |
{{#time:j"."n"."Y H":"i":"s|2 years 2 months 2 weeks 2 days}}
|
In 2 Jahren, 2 Monaten, 2 Wochen und 2 Tagen | 3.2.2027 13:52:50 |
{{#time:j"."n"."Y H":"i":"s|1 year 1 month 1 week 1 day}}
|
In einem Jahr, einem Monat, einer Woche und einem Tag | 26.12.2025 13:52:50 |
Es gibt mehrere Möglichkeiten, einen bestimmten Zeitpunkt anzugeben:
Schlüsselwort | Bedeutung |
---|---|
first | erster |
second | zweiter |
third | dritter |
fourth | vierter |
fifth | fünfter |
last | letzter |
monday | Montag |
tuesday | Dienstag |
wednesday | Mittwoch |
thursday | Donnerstag |
friday | Freitag |
saturday | Sonnabend |
sunday | Sonntag |
- ISO 8601, Beispiele:
2001-01-15
2006-11-26T15:15:20
1970-01-01 00:00Z
- jjjjmmtt – sechs Ziffern, mit jjjj=Jahreszahl, mm=Monatsnummer 01–12, tt=Tagesnummer
- hhmm – vier Ziffern, mit hh=Stunden 00–23, mm=Minuten 00–59
- hh:mm – zwei Ziffern, Doppelpunkt, zwei Ziffern, mit hh=Stunden 00–23, mm=Minuten 00–59
- hh – zwei Ziffern, mit hh=Stunden 00–23
- month day mit englischsprachigem Monatsnamen und Tagesnummer im Monat
@
sssssssssss – Ganze Zahl der Sekunden in Unix-Zeit, also seit1970-01-01 00:00:00 UTC
- Die Zahl darf negativ sein, dann sind es die Sekunden vor der Unix-Zeit, bis 1969.
- An die Zahl dürfen mit
,
oder.
Dezimalstellen angehängt werden, also Zehntel-, Hundertstel- usw. Sekunden
Die Aufzählung ist nicht vollständig, eröffnet jedoch hinreichend viele Möglichkeiten.
Es ist auch möglich, relative Angaben bezüglich Wochentage zu machen.
first
ist der nächstfolgende <Wochentag> (ausgenommen heute)- Um einen (den heutigen) Tag einzuschließen, falls er auf den <Wochentag> fällt, muss zunächst ein Tag rückwärts gezählt werden.
last
– Letzter vorangehender <Wochentag>- Um einen (den heutigen) Tag einzuschließen, falls er auf den <Wochentag> fällt, muss zunächst ein Tag vorwärts gezählt werden.
second
oderthird
usw. sind die Wochentage nach dem Stichtag.- Nützlich ist auch der
t
-Formatierungscode für den letzten Tag des Monats,{{#time:Ymt}}
Code | Beschreibung | Ergebnis |
---|---|---|
mit verändertem Datum relativ zu „heute“, Montag, dem 18.11.2024: | ||
{{#timel:j"."n"."Y|first monday}}
|
Nächsten Montag (aber nicht mehr heute) | 25.11.2024 |
{{#timel:j"."n"."Y|{{#timel:Ymd|yesterday}}, first monday}}
|
Nächsten Montag (ggf. auch heute) | 18.11.2024 |
{{#timel:j"."n"."Y|{{#timel:Ymt}} first wednesday}}
|
Erster Mittwoch des kommenden Monats | 4.12.2024 |
{{#timel:j"."n"."Y|{{#timel:Ym|1 month}}01, last friday}}
|
Letzter Freitag dieses Monats | 29.11.2024 |
{{#timel:j"."n"."Y|{{LOCALYEAR}}1231, first monday}}
|
Erster Montag kommenden Jahres | 6.1.2025 |
{{#timel:j"."n"."Y|{{#timel:Y|1 year}}0101, first monday}}
|
Erster Montag kommenden Jahres, nach Neujahrsfeiertag | 6.1.2025 |
{{#timel:t"."n"."Y}}
|
Letzter Tag dieses Monats | 30.11.2024 |
Gemäß System-Standards formatieren – #timef
Funktion | Parameter | ||
---|---|---|---|
#timef
|
Zeitpunkt | Art | Ausgabesprache |
Formatiert beliebigen Zeitpunkt in Weltzeit gemäß System-Standards.
Bei nicht erkanntem Zeitpunkt wird dieser unverändert wiedergegeben, der Rest ignoriert. | |||
Beispiele:
| |||
#timefl
|
Zeitpunkt | Art | Ausgabesprache |
Formatiert beliebigen Zeitpunkt in Projekt-lokaler Zeit gemäß System-Standards.
| |||
Beispiele:
|
Gemäß System-Standards formatieren – #formatdate
Diese Funktion ist möglicherweise nirgendwo noch verwendbar.
Funktion | Lokalisierung | Pflichtparameter | Parameter |
---|---|---|---|
#formatdate #dateformat
|
#datumsformat
|
Zeitpunkt | Formatschema |
Formatiert Daten nach den Benutzereinstellungen; falls nicht gesetzt nach dem Formatschema.
Bei nicht erkanntem Zeitpunkt wird dieser unverändert wiedergegeben.
|
- Seite und URL – Parserfunktionen für den Zeitpunkt einer Seitenversion
- Modul:DateTime – mit Universalfunktionen zur Interpretation von Zeitangaben und zum Formatieren
Anmerkungen
- ↑ Phabricator – Bug/Feature: 63425 – Es wird ein Problem darin gesehen, dass auch bei
#iferror
eine Wartungskategorie ausgelöst wird, obwohl bereits eine Fehlerbehandlung erfolgt. - ↑ tar manual. gnu.org
- ↑ Erklärung der Format-Codes. php.net
- ↑ phab:T21412 (Bugzilla:19412)
Kontrollstrukturen
[Bearbeiten | Quelltext bearbeiten]Kontrollstrukturen erlauben in der Programmierung von Vorlagen von Bedingungen abhängige Verzweigungen wenn – dann – sonst.
Alle Parameter und Ergebnisse werden „getrimmt“; führende oder schließende einfache Leerzeichen oder Zeilenumbrüche werden ignoriert.
Einfache Verzweigung – #if
Funktion | Pflichtparameter | Parameter | |
---|---|---|---|
#if
|
Bedingung | WennWahr | WennFalsch |
Ergebnis in Abhängigkeit von einer Bedingung.
| |||
Beispiele:
|
Anmerkungen:
- Oft ist es sinnvoll, auch nicht-leere Werte wie
0
,nein
,-
oderfalse
als „falsch“ aufzufassen. Hierfür gibt es faculty@TemplUtl. - Die effizienteste Methode zum Trimmen eines Parameterwertes ist:
{{#if: trim | {{{1}}} }}
– Die „Bedingung“ ist immer „wahr“; damit wird WennWahr zum Resultat, und das ist immer getrimmt. Der Hinweistrim
soll den Sinn dieses sinnlosen Konstrukts verdeutlichen.
Wenn gleich – #ifeq
Funktion | Pflichtparameter | Parameter | ||
---|---|---|---|---|
#ifeq
|
Vergleichswert1 | Vergleichswert2 | WennGleich | WennUngleich |
Ergebnis in Abhängigkeit des Vergleichs zweier Zeichenketten.
| ||||
Beispiel: {{#ifeq: {{{Parole}}} | Emil | Clique | fremd}} → Wenn der Vorlagenparameter {{{Parole}}} den Wert Emil hat, dann ist das Ergebmis Clique , ansonsten fremd .
|
Mehrfache Verzweigung – #switch
Funktion | Pflichtparameter | Parameter | Pflichtparameter | Parameter | |||
---|---|---|---|---|---|---|---|
#switch:
|
Vergleichswert | Werte | Wert= Ergebnis
|
Werte | Wert= Ergebnis
|
… | SonstErgebnis |
Ergebnis in Abhängigkeit von einem Vergleichswert.
| |||||||
Beispiel:
{{#switch: {{{Zeichen}}}
|A|B|C|D| … X|Y|Z=Großbuchstabe
|a|b|c|d| … x|y|z=Kleinbuchstabe
|=Leerzeichen
|,|;|.|!|?=Satzzeichen
|{{{Zeichen}}}=KEIN ZEICHEN ANGEGEBEN
|#default=Sonderzeichen
}}
In Abhängigkeit vom Vorlagenparameter |
Wenn Fehler – #iferror
Es wird analysiert, ob in einem Wikitext eine Fehlermeldung vorliegt.
Eine Fehlermeldung wird erkannt:
- an bestimmten HTML-Tags, namentlich
<div>
<span>
<p>
<strong>
, - die eine Klassenzuweisung
class="error"
enthalten müssen, - wobei
error
mit doppelten Anführungszeichen"
und nicht mit'
(oder ohne) angegeben sein muss, - jedoch weitere durch Leerzeichen abgetrennte Klassenbezeichner im Attributwert vorkommen dürfen.
Solche Fehlermeldungen können in jeder Vorlage generiert werden; viele Elemente der Wiki-Software erzeugen sie ebenfalls.
Funktion | Pflichtparameter | Parameter | |
---|---|---|---|
#iferror
|
Wikitext | WennFehler | WennProblemlos |
Ergebnis in Abhängigkeit von der Existenz einer Fehlermeldung.
Es ergeben sich drei Möglichkeiten in Abhängigkeit davon, ob auch WennFehler und WennProblemlos angegeben wurden.
| |||
Beispiele:
|
Wenn existiert – #ifexist
Funktion | Pflichtparameter | Parameter | ||
---|---|---|---|---|
#ifexist
|
Seitenname | WennExistiert | WennNicht | |
Ergebnis in Abhängigkeit von der Existenz einer Seite im lokalen Projekt.
| ||||
Beispiele: |
Der Seitenname wird im Gesamtprojekt wie eine Verlinkung registriert.
- Das hat den Grund, dass zu erwarten ist, dass sich das Ergebnis der Programmierung signifikant verändern soll, wenn eine existierende Seite gelöscht wird, oder aber eine bisher nicht existierende Seite neu angelegt wird.
- Damit wird die diese Konstruktion enthaltende Seite so behandelt, als ob sich eine eingebundene Vorlage verändert hätte: Die im Cache hinterlegte Präsentation wird als ungültig entfernt, und spätestens mit dem nächsten Abruf der Seite unter geänderten Bedingungen neu produziert.
- Anhand der Datenbank-Tabelle Links auf diese Seite weiß der Server, welche Seiten, ihre Inhalte oder Existenz Auswirkungen auf die Darstellung anderer Seiten haben; etwa auch ob Wikilinks in rot oder blau darzustellen sind. Gemäß der Einträge in der Datenbank-Tabelle werden die beeinflussten Seiten neu aufgebaut.
- Es gibt mit phab:T14019 von 2007 Überlegungen aus 2022, in den Tabellen von WhatLinksHere die Abfragen nach Seitenexistenz in einer vierten Spalte gesondert auszuweisen, statt sie gemeinsam mit den Verlinkungen zu verbuchen. Das betriffft jedoch nur die bisherige Aufschlüsselung nach Verlinkung – Seiteneinbindung – Weiterleitung. Änderungen des Status bedürfen auch dann einer Neugenerierung des Gesamtinhalts unter den aktuellen Bedingungen.
- Um die Existenz einer Datei abzufragen, muss man dem Dateinamen den Namensraum "Medium" voranstellen und nicht "Datei". Beispiel Datei:Commons-logo.svg:
{{#ifexist: Medium:Commons-logo.svg|...
#ifexist
gehört zu den „teuren“ Funktionen, von denen pro dargestellter Seite gemäß Vorlagenbeschränkungen insgesamt nur 500 erlaubt sind.
Wenn Ausdruck – #ifexpr
Funktion | Pflichtparameter | Parameter | |
---|---|---|---|
#ifexpr
|
Ausdruck | WennWahr | WennFalsch |
Ergebnis in Abhängigkeit von einem berechneten Ausdruck.
| |||
Beispiele:
|
Und-/Oder-Verknüpfungen
Wenn bei einer der Verknüpfungsvorlagen (Vorlage:Booland, Vorlage:Boolor usw.) die Parameter übergeben werden, dann müssen zunächst ausnahmslos alle Parameterwerte vollständig ausgewertet worden sein, bevor dann die Verknüpfungsvorlage mit all diesen Parameterwerten eingebunden werden kann.
- Das kann zum Problem werden; insbesondere wenn dadurch „teure“ oder sonst performancekritische Auswertungen erforderlich sind.
Intelligenter ist immer der folgende Weg:
- Und:
- Eine Bedingung wird ausgewertet, falls erfolgreich dann die nächste, wenn auch diese erfolgreich dann die nächste usw. Sobald eine Bedingung nicht erfüllt ist, erfolgen auch keine Auswertungen mehr.
- Beispiel:
{{#if: {{A-Vorlage}} | {{#if: {{B-Vorlage}} | <Aktion> }} }}
- Oder:
- Eine Bedingung wird ausgewertet, falls nicht erfolgreich dann die nächste, falls nicht erfolgreich dann die nächste usw. Sobald eine Bedingung erfüllt ist, erfolgen auch keine Auswertungen mehr.
- Es kann ein boolescher Wert
1
für den Erfolgsfall gebildet werden, und das gesamte Oder-Konstrukt liefert danach den Wert1
oder leer. Dieses Resultat kann dann zur Auswertung der gemeinschaftlichen Ziel-Aktion herangezogen werden. - Beispiel:
{{#if: {{#if: {{A-Vorlage}} | 1 | {{#if: {{B-Vorlage}} | 1 }} }} | <Aktion> }}
Geschichte der Kontrollstruktur-Funktionen
Mitte April 2006 wurden (zusammen mit anderen in der Erweiterung für Parserfunktionen) die Kontrollstrukturen verfügbar gemacht. Erst dadurch wurde auch eine Vorlagenprogrammierung im eigentlichen Sinn möglich, während bis dahin nur stumpf Parameterwerte formatiert wurden. Die allerersten Vorlagen hatten noch nicht einmal Parameter gehabt und hießen schlicht „Bausteine“; sie lieferten immer den gleichen Text.
- Text – Parserfunktionen zur Alternative nach Geschlecht und Plural
- Boolesche Funktionen – Vorlagen zur Verknüpfung mehrerer Bedingungen
Multilingual – Sprachen
[Bearbeiten | Quelltext bearbeiten]Diese Funktionen beziehen sich auf den Umgang mit menschlichen Sprachen.
Inhaltssprache des aktuellen Wiki
Funktion | Lokalisierung |
---|---|
CONTENTLANGUAGE CONTENTLANG |
INHALTSSPRACHE
|
Sprachcode nach ISO 639 für das aktuelle Wiki.
| |
Beispiel: {{CONTENTLANGUAGE}} → de (Deutsch).
|
Globale Babel-Funktion
Funktion | Pflichtparameter | Parameter | ||
---|---|---|---|---|
#babel
|
Sprachcode Muttersprache | xx-A | xy-B | … |
In allen Wikimedia-Projekten verwendbarer Babel-Baustein.
| ||||
Beispiel: {{#babel:de|en-3|fr-1}}
|
Name und Eigenschaften einer Sprache
Funktion | Lokalisierung | Parameter | |
---|---|---|---|
#language |
#sprache
|
Sprachcode | Ausgabe-Sprachcode |
Klarname für in Wikimedia-Projekten verwendeten Sprachcode nach ISO 639 oder BCP47.
| |||
Beispiele:
|
Die Texte stammen aus der Erweiterung CLDR.
Funktion | Parameter |
---|---|
#bcp47
|
Sprachcode |
Standardisierter Sprachcode nach BCP 47.
| |
Beispiele:
|
Funktion | Parameter | |
---|---|---|
#dir
|
Sprachcode | bcp47 |
Schreibrichtung der Standard-Verschriftung einer Sprache, ltr oder rtl
| ||
Beispiele:
|
Systemnachricht
Funktion | Lokalisierung | Pflichtparameter | Parameter | |||
---|---|---|---|---|---|---|
int |
nachricht
|
Bezeichner | $1 | $2 | $3 | … |
Systemnachricht in der aktuellen Benutzersprache darstellen.
| ||||||
Beispiele:
|
Unbekannte Nachrichtenbezeichner werden in ⧼ ⧽
eingeklammert dargestellt.
Aktuelle Sprache
Funktion |
---|
PAGELANGUAGE
|
Sprachcode nach ISO 639 usw. für den aktuellen Seiteninhalt.
|
Beispiel: {{PAGELANGUAGE}} → de
|
Siehe auch mw.title.pageLang
zu detaillierten Informationen mittels Lua.
Funktion |
---|
USERLANGUAGE
|
Sprachcode nach ISO 639 für die Seitenoberfläche (eingestellte Sprache des Kontos).
|
Beispiel: {{USERLANGUAGE}} → de
|
Übersetzung
Funktion |
---|
translate
|
Übersetzungsfunktion für vielsprachige Wikis. |
Beispiel: {{translate}} → Übersetzungsfunktion für die aktuelle Seite verlinken.
|
- Text – Parserfunktionen zum Geschlecht und mehr.
- Modul:Multilingual – mit weiteren Funktionen zu Sprachen.
- MediaWiki/Sprachen – technische Infrastruktur.
- Wikipedia:Fremdsprachen – projektinterne Seiten zum Arbeiten mit Sprachen und Schriften; Vorlagen.
- Lua/Umgebung – Lua-Bibliotheken mit weiteren Funktionen zu Sprachen und Systemnachrichten.
Programmierung
[Bearbeiten | Quelltext bearbeiten]Diese Funktionen werden für spezielle Aufgaben in der Vorlagenprogrammierung benötigt.
Die deutschsprachigen Lokalisierungen sind ungebräuchlich, weitgehend unbekannt und verhindern erfolgreiche Textsuchen.
Tag-Erweiterung einbinden – #tag
Funktion | Lokalisierung | Pflichtparameter | Parameter | ||
---|---|---|---|---|---|
#tag
|
#erweiterung
|
Erweiterung | Inhalt | Parameter | Parameter |
Tag-Erweiterung von MediaWiki (kein HTML) mit veränderlichem Inhalt einbinden.
Im Unterschied zu einer direkten Angabe im Quelltext können im Inneren des Elements zuvor noch Teile des Quelltextes aktuell generiert werden, was bei den meisten Erweiterungen nicht möglich ist. | |||||
Beispiel:
{{#tag:nowiki|http://{{{Domain}}}/{{{Pfad}}}}}
Wirkung:
Beim üblichen Konstrukt |
Der ausschließliche Sinn ist es also, das Element zunächst vor dem Parser zu verstecken, und erst nach Expansion des Inhalts wirksam werden zu lassen.
- Damit werden die Elemente selbst vor Software und Menschen zunächst verborgen, was gravierende Nachteile nach sich ziehen kann.
- Diese Funktion sollte deshalb insbesondere nicht im ANR benutzt werden, sondern nur innerhalb von Vorlagenprogrammierung .
- Vor dem VisualEditor werden die Elemente erfolgreich versteckt und lassen sich nicht mehr sinnvoll bearbeiten.
Modul-Funktion einbinden – #invoke
Siehe ausführlich Hilfe:Lua.
Funktion | Lokalisierung | Pflichtparameter | Parameter | ||
---|---|---|---|---|---|
#invoke
|
#aufrufen
|
Modul | Funktion | Parameter | Parameter |
Modul-Funktion einbinden.
|
Substitution – subst
Siehe ausführlich hier. Der Quelltext wird nach Abspeicherung ersetzt durch die ausgewerteten Resultate der Ausdrücke.
Funktion | Lokalisierung | Pflichtparameter | Parameter | |
---|---|---|---|---|
subst
|
ers
|
Funktion/Seite | Parameter | Parameter |
Parserfunktion oder Seiteneinbindung substituieren.
| ||||
safesubst
|
Funktion/Seite | Parameter | Parameter | |
Sehr ähnlich subst , mit leicht unterschiedlicher Wirkung in Feinheiten.
|
Seitenquelltext einbinden – msgnw
Diese Funktion ist heutzutage ungebräuchlich; es wird eher eine formatierte Präsentation mittels tag:
bevorzugt wie:
{{#tag:syntaxhighlight | {{Modul:Hello}} | lang=lua}}
Allerdings funktioniert das nicht mit Wikitext als eingebundene Seite, der bei seiner Einbindung reagiert und ausgewertet wird. Das ist gerade die Wirkung und das Ziel von Vorlagen.
- Der Name bedeutet:
msg:
nowikiraw:
heißt „roh“ und entsprichtaction=raw
Funktion | Pflichtparameter | ||
---|---|---|---|
msgnw raw
|
Seite | ||
Seitenquelltext darstellen.
Das Ergebnis ist syntaktisch nicht wirksam. | |||
Beispiel:
<onlyinclude>[[Datei:At sign.svg|{{{1|17px}}}|klasse=skin-invert|verweis=|alt=@ – at-Zeichen für E-Mail|(at)]]</onlyinclude> {{Dokumentation}} |
Veraltet: Seite einbinden
Diese Funktion war in den frühen 2000er Jahren der Vorläufer gewesen, bevor das Einbinden von Seiten reguläre Syntax wurde.
- Die Vorgabe für den Namensraum ist
Vorlage:
genau wie bei normalen Einbindungen. - Benannte und unbenannte Parameter werden wie bei Vorlagen in der eingebundenen Seite ersetzt.
- Zunächst war es eher für die Systemnachrichten gedacht gewesen, worauf noch der Name hindeutet. Diese wandelten sich jedoch zur Parserfunktion
int:
und erwarten $1 $2 $3 usw. als Platzhalter, passen sich aber umgekehrt an die aktuelle Benutzersprache an. msg:
undint:
waren ursprünglich ähnliche Konzepte;int:
arbeitet nur im NamensraumMediaWiki:
und beachtet sprachabhängige Unterseiten;msg:
in beliebigen Namensräumem mit VorgabeVorlage:
und ist nicht von der Benutzersprache abhängig. Die Platzhalter der zunächst nur unbenannten Parameter wurden anders gestaltet, um später auch beliebig benannte Parameter zu ermöglichen.msg:
war als lokal definierbare Nachricht für den Wikitext eine Variante zur Systemnachricht der Software.
Funktion | Pflichtparameter | Parameter | |
---|---|---|---|
msg
|
Seite | Parameter | Parameter |
Seiteneinbindung.
| |||
Beispiel: {{msg:@|30px}} (Vorlage:@) →
|
- Kontrollstrukturen – bedingte Auswertungen
- Lua/Modul im Wiki – Lua-Funktionen zur nachträglichen Ausführung
frame:extensionTag()
– Tag-Erweiterung einbindenframe:expandTemplate()
– Seiteneinbindung
- Hilfe:Vorlagen/Programmierung – Allgemeines
Seite und URL
[Bearbeiten | Quelltext bearbeiten]Funktionen in Bezug auf eine einzelne Seite im Wiki und (auch ihrer) URL sowie der Namensräume.
Aktuelle Seite
Die nachstehenden Funktionen beziehen sich in der Regel auf die aktuell dargestellte Seite.
- Einige erlauben es, über einen zusätzlichen Parameter Seitenname auch andere Seiten anzusprechen.
- Ein dem generischen Funktionsnamen nachgestelltes
E
als Ende des Namens steht für „Encoding“ und bewirkt ein URL-Encoding.
Mit Ausnahme der letzten beiden Funktionen werden Eigenschaften abgefragt.
Seitenname
DISPLAYTITLE wird nicht beachtet, selbst wenn es auf derselben Quelltext-Seite definiert wäre.
Es handelt sich um eine reine Analyse der Zeichenketten unter Beachtung der Namensräume des aktuellen Wiki. Deshalb muss die Seite auch nicht existieren; allerdings der Name aus hierfür gültigen Zeichen bestehen.
Funktion | Lokalisierung | Parameter |
---|---|---|
FULLPAGENAME |
VOLLER_SEITENNAME |
Seitenname |
Seitenname, ggf. mit Namensraum-Präfix.
| ||
Beispiele:
| ||
PAGENAME |
SEITENNAME |
Seitenname |
Seitentitel, also auch ohne Namensraum-Präfix.
| ||
Beispiele:
|
Funktion | Lokalisierung | Parameter |
---|---|---|
FULLPAGENAMEE |
VOLLER_SEITENNAME_URL |
Seitenname |
Seitenname, ggf. mit Namensraum-Präfix, wie FULLPAGENAME, für eine URL. | ||
Beispiel: {{FULLPAGENAMEE}} → Hilfe:Parserfunktionen/*
| ||
PAGENAMEE |
SEITENNAME_URL |
Seitenname |
Seitentitel, also auch ohne Namensraum-Präfix, wie PAGENAME, für eine URL. | ||
Beispiel: {{PAGENAMEE}} → Parserfunktionen/*
|
Namensraum
Siehe auch Namensräume.
Funktion | Lokalisierung | Parameter |
---|---|---|
NAMESPACE |
NAMENSRAUM |
Seitenname |
Standard-Name des Namensraums.
| ||
Beispiele:
| ||
NAMESPACENUMBER |
NAMENSRAUMNUMMER |
Seitenname |
Nummer des Namensraums.
| ||
Beispiele:
|
Funktion | Lokalisierung | Parameter |
---|---|---|
NAMESPACEE |
NAMENSRAUM_URL |
Seitenname |
Name des Namensraums, wie NAMESPACE, für eine URL. | ||
Beispiele:
|
Komponenten
Bei Unterseiten können die Komponenten betrachtet werden, also die durch Schrägstrich /
in Segmente gegliederte Hierarchie.
- Siehe dazu auch
#titleparts
mit mehr Möglichkeiten für einen beliebigen Seitennamen. - Erforderlich ist ein Namensraum, für den die Unterseiten-Funktionalität aktiviert ist (nahezu alle außer ANR und Mediendateien).
Funktion | Lokalisierung | Parameter |
---|---|---|
ROOTPAGENAME |
STAMMSEITE |
Seitenname |
Titel der Stammseite zu einer Unterseite, ohne Namensraum-Präfix.
| ||
Beispiele:
| ||
BASEPAGENAME |
OBERSEITE |
Seitenname |
Titel der Basisseite zu einer Unterseite, ohne Namensraum-Präfix.
| ||
Beispiele:
| ||
SUBPAGENAME |
UNTERSEITE |
Seitenname |
Unterseite, ohne Namensraum-Präfix.
| ||
Beispiele:
|
ROOTPAGENAME
ist gut geeignet, um das Benutzerkonto zu irgendeiner Seite im BNR festzustellen: {{ROOTPAGENAME:BD:Beispielnutzer/Archiv}}
→ Beispielnutzer
Funktion | Lokalisierung | Parameter |
---|---|---|
ROOTPAGENAMEE |
STAMMSEITE_URL |
Seitenname |
Titel der Stammseite zu einer Unterseite, ohne Namensraum-Präfix, wie ROOTPAGENAME, für eine URL. | ||
Beispiel: {{ROOTPAGENAMEE}} → Parserfunktionen
| ||
BASEPAGENAMEE |
OBERSEITE_URL |
Seitenname |
Titel der Basisseite zu einer Unterseite, ohne Namensraum-Präfix, wie BASEPAGENAME, für eine URL. | ||
Beispiel: {{BASEPAGENAMEE}} → Parserfunktionen
| ||
SUBPAGENAMEE |
UNTERSEITE_URL |
Seitenname |
Unterseite, ohne Namensraum-Präfix, wie SUBPAGENAME, für eine URL. | ||
Beispiel: {{SUBPAGENAMEE}} → *
|
Eigenschaften
Alle Funktionen in diesem Abschnitt gehören zu den „teuren“ Funktionen, von denen pro dargestellter Seite gemäß Vorlagenbeschränkungen insgesamt nur 500 erlaubt sind.
Funktion | Lokalisierung |
---|---|
PAGEID |
SEITENKENNUNG SEITENID
|
Seitenkennnummer
| |
Beispiel: {{PAGEID}} → 12192367
|
Funktion | Lokalisierung | Pflichtparameter | Parameter |
---|---|---|---|
PAGESIZE |
SEITENGRÖSSE
|
Seitenname | R
|
Seitengröße in Bytes
| |||
Beispiele:
|
Funktion | Lokalisierung | Pflichtparameter |
---|---|---|
PROTECTIONLEVEL |
SCHUTZSTATUS |
Schutzart |
Explizit für diese Seite vereinbarter Seitenschutz.
Das Ergebnis ist der Bezeichner einer Benutzergruppe, oder leer.
| ||
Beispiele:
| ||
PROTECTIONEXPIRY |
Schutzart | |
Zeitiche Begrenzung des Seitenschutzes.
Die Darstellung
| ||
Beispiele:
|
Zur Seiteninhaltssprache siehe PAGELANGUAGE.
Funktion | Lokalisierung | Parameter |
---|---|---|
CASCADINGSOURCES |
KASKADENQUELLEN |
Seitenname |
Anzeige des Auslösers für kaskadierenden Seitenschutz. | ||
Beispiel: {{CASCADINGSOURCES}} →
|
Version
Die Angaben beziehen sich auf die letzte sichtbare gespeicherte Bearbeitung (aktuelle Version).
- In der Vorschau auch ggf. bei einer neu zu erstellenden Seite wird die Situation bei der Generierung dargestellt, falls nicht anders angegeben.
- Zeitangaben beziehen sich auf die lokale Zeit (Berlin).
- Bei nicht existierendem Seitenname wird ein leerer Wert geliefert.
- Ein nicht existierender Seitenname wird als fehlerhafte Vorlageneinbindung registriert.
Alle Funktionen in diesem Abschnitt gehören zu den „teuren“ Funktionen, von denen pro dargestellter Seite gemäß Vorlagenbeschränkungen insgesamt nur 500 erlaubt sind.
Funktion | Lokalisierung | Pflichtparameter |
---|---|---|
REVISIONID |
VERSIONSID REVISIONSID |
Seitenname |
Versionsnummer
| ||
Beispiele:
|
Eine Substitution der Versionsnummer zum Fixieren der aktuellen Seitenversion ist grundsätzlich nicht möglich:
- Zuerst erfolgen alle Substitutionen, und der fertige Wikitext wird hergestellt.
- Danach wird dieser Text in die Warteschlange der Datenbank zur Abspeicherung eingereiht.
- Danach wird der Text abgespeichert und gleichzeitig die laufende Versionsnummer vergeben.
- Damit kann er aber nicht mehr diese aktuelle Versionsnummer enthalten.
Unproblematisch sind Benutzerkonto und Zeitstempel. Sie lassen sich über Tilden oder Substitution der Parserfunktionen gewinnen und sind ja schon vor der Abspeicherung bekannt, zumindest bis auf Zehntelsekunden.
Funktion | Lokalisierung | Parameter |
---|---|---|
REVISIONUSER |
VERSIONSBENUTZER REVISIONSBENUTZER |
Seitenname |
Benutzerkonto oder IP-Adresse usw.
| ||
Beispiele:
|
Funktion | Lokalisierung |
---|---|
REVISIONSIZE |
VERSIONSGRÖSSE
|
Größe der Seitenversion in Bytes.
| |
Beispiel: {{REVISIONSIZE}} → 1143
|
Funktion | Lokalisierung | Parameter |
---|---|---|
REVISIONTIMESTAMP |
VERSIONSZEITSTEMPEL REVISIONSZEITSTEMPEL |
Seitenname |
Zeitstempel als Zahl im Format JJJJMMTTHHMMSS, erfüllt ISO 8601
| ||
Beispiele:
|
Funktion | Lokalisierung |
---|---|
REVISIONDAY |
VERSIONSTAG REVISIONSTAG
|
Tag im Monat | |
Beispiel: {{REVISIONDAY}} → 3
| |
REVISIONDAY2 |
VERSIONSTAG2 REVISIONSTAG2
|
Tag im Monat, immer zweistellig (ggf. führende Null) | |
Beispiel: {{REVISIONDAY2}} → 03
| |
REVISIONMONTH |
VERSIONSMONAT VERSIONSMONAT1
|
Nummer des Monats, immer zweistellig (ggf. führende Null) | |
Beispiel: {{REVISIONMONTH}} → 04
| |
REVISIONMONTH1 |
VERSIONSMONAT1 REVISIONSMONAT1
|
Nummer des Monats, auch einstellig | |
Beispiel: {{REVISIONMONTH1}} → 4
| |
REVISIONYEAR |
VERSIONSJAHR REVISIONYEAR
|
Jahreszahl | |
Beispiel: {{REVISIONYEAR}} → 2022
|
Zugeordneter Namensraum
Zur aktuellen Seite kann der korrespondierende Namensraum festgestellt werden. Das bedeutet:
- Die Diskussionsseite zu einer inhaltlichen Seite ist die Diskussionsseite.
- Die Nummer des Namensraums erhöht sich also um 1, wenn sie vorher ≥0 war.
- Die Diskussionsseite zu einer Diskussionsseite ist die Diskussionsseite selbst.
- Die inhaltliche Seite zu einer Diskussionsseite ergibt sich, indem von der Nummer des Namensraums 1 abgezogen wird; also die sogenannte „Vorderseite“.
- Die inhaltliche Seite zu einer inhaltlichen Seite ist die Seite selbst.
- Für eine Spezialseite gilt:
- Der zugeordnete inhaltliche Namensraum ist
Spezial:
selbst. - Die zugeordnete inhaltliche Seite ist der (gültige) Parameterwert.
- Zugeordnete Diskussionsseite und Namensraum sind „leer“.
- Im Kontext einer Systemnachricht könnte diese Situation einmal auftreten.
- Der zugeordnete inhaltliche Namensraum ist
Die nachstehenden Funktionen ermitteln zunächst den Namensraum insgesamt.
- Der hier verwendete Begriff „Hauptnamensraum“ darf nicht mit dem ANR oder Hauptnamensraum des Projekts verwechselt werden (Namensraum-Nummer „Null“).
Funktion | Lokalisierung | Parameter |
---|---|---|
TALKSPACE |
DISKUSSIONSNAMENSRAUM DISK_NR |
Seitenname |
Zugeordneter Namensraum für Diskussionsseiten. | ||
Beispiele:
| ||
SUBJECTSPACE |
HAUPTNAMENSRAUM |
Seitenname |
Zugeordneter Namensraum für inhaltliche Seiten. | ||
Beispiele:
|
Funktion | Lokalisierung | Parameter |
---|---|---|
TALKSPACEE |
DISKUSSIONSNAMENSRAUM_URL DISK_NR_URL |
Seitenname |
Zugeordneter Namensraum für Diskussionsseiten, wie TALKSPACE, für eine URL. | ||
Beispiel: {{TALKSPACEE}} → Hilfe_Diskussion
| ||
SUBJECTSPACEE |
HAUPTNAMENSRAUM_URL |
Seitenname |
Zugeordneter Namensraum für inhaltliche Seiten, wie SUBJECTSPACE, für eine URL. | ||
Beispiel: {{SUBJECTSPACEE}} → Hilfe
|
Zugeordnete Seiten
Eine zugeordnete Seite hat den gleichen Seitentitel im zugeordneten Namensraum.
- Der Ausdruck „Hauptseite“ ist verwirrrend gewählt. Gemeint ist nicht die Wikipedia:Hauptseite, sondern die inhaltliche „Vorderseite“ als Gegenstück zur Diskussionsseite.
Funktion | Lokalisierung | Parameter |
---|---|---|
TALKPAGENAME |
DISKUSSIONSSEITE |
Seitenname |
Zugeordnete Diskussionsseite. | ||
Beispiele:
| ||
SUBJECTPAGENAME |
VORDERSEITE HAUPTSEITE |
Seitenname |
Zugeordnete inhaltliche Seite. | ||
Beispiele:
|
Funktion | Lokalisierung | Parameter |
---|---|---|
TALKPAGENAMEE |
DISKUSSIONSSEITE_URL |
Seitenname |
Zugeordnete Diskussionsseite, wie TALKPAGENAME, für eine URL. | ||
Beispiel: {{TALKPAGENAMEE}} → Hilfe_Diskussion:Parserfunktionen/*
| ||
SUBJECTPAGENAMEE |
VORDERSEITE_URL HAUPTSEITE_URL |
Seitenname |
Zugeordnete inhaltliche Seite, wie SUBJECTPAGENAME, für eine URL. | ||
Beispiel: {{SUBJECTPAGENAMEE}} → Hilfe:Parserfunktionen/*
|
Angezeigten Seitennamen festlegen
Während alle vorstehenden Funktionen Eigenschaften der aktuellen Seite erfragen, weist diese und die nächste eine Eigenschaft zu. Zu den Einzelheiten siehe Hilfe:SEITENTITEL.
Funktion | Lokalisierung | Pflichtparameter |
---|---|---|
DISPLAYTITLE |
SEITENTITEL |
Seitennamenschreibung |
Angezeigten Seitennamen festlegen.
| ||
Beispiel: {{SEITENTITEL:iPad}}
|
Sortierschlüssel für Kategorien festlegen
Anders als fast alle vorstehenden Funktionen, die Eigenschaften der aktuellen Seite erfragen, weist diese ebenfalls eine Eigenschaft zu. Zu den Einzelheiten siehe Hilfe:Kategorien.
Funktion | Lokalisierung | Pflichtparameter |
---|---|---|
DEFAULTSORT |
SORTIERUNG |
Sortierschlüssel |
Standard-Sortierschlüssel für Kategorien festlegen.
| ||
Beispiel: {{SORTIERUNG:Faust 1}}
|
Gegliederte Seitennamen: #titleparts
Siehe auch Komponenten für die momentane Seite.
Funktion | Pflichtparameter | Parameter | |
---|---|---|---|
#titleparts
|
Seitenname | links | Anzahl |
Segmente eines gegliederten Seitennamens extrahieren.
| |||
Beispiele:
Ein Zahlenparameter
Ist der Zahlenparameter = 0, so wird der ganze Seitenname zurückgegeben:
Ist der Zahlenparameter > 0, so werden von links aus entsprechend viele Teile zurückgegeben:
Ist der Zahlenparameter < 0, so werden von rechts aus entsprechend viele Teile abgetrennt (!):
Zwei Zahlenparameter
Eine Null als zweiter Parameter bewirkt das Gleiche wie eine 1.
|
Die Funktion ist nur für Seitennamen ausgelegt. Daher funktioniert die Funktion nur mit Zeichen, die auch im Seitennamen erlaubt sind. Im Fehlerfall wird der gesamte Parameter zurückgegeben.
Bevor 2013 mit Lua effiziente Zeichenketten-Operationen verfügbar wurden, ist diese Funktion auch für andere inhaltliche Anwendungen zweckentfremdet worden; etwa für LCCN in einer privaten Gliederung mittels Schrägstrichen.
Relative Seitennamen: #rel2abs
Es ist möglich, direkt per [[../]]
auf Seiten relativ zur aktuellen Seite zu verlinken, sofern Unterseiten aktiviert sind, und genauso auch Seiten einzubinden, ohne ihren vollständigen Namen anzugeben. In manchen Fällen ist es jedoch notwendig, den relativen in einen absoluten Seitennamen zu wandeln.
Die nachstehende Funktion betreibt reine Zeichenkettenverarbeitung; die Seiten müssen nicht wirklich existieren, allerdings müssen die Angaben formal richtig sein.
Ein relativer Seitenpfad kann .
oder ..
lauten oder beginnen mit /
oder ./
oder ../
.
Funktion | Pflichtparameter | Parameter | |
---|---|---|---|
#rel2abs
|
Pfad | Basis | |
Relativen Seitennamen in absoluten konvertieren.
| |||
Beispiele:
|
Namensräume
Lokalen Standard-Namen eines Namensraums feststellen.
Zur Aufzählung der einzelnen Namensräume in der deutschsprachigen Wikipedia siehe Hilfe:Namensräume.
Funktion | Lokalisierung | Pflichtparameter |
---|---|---|
ns |
nr |
Bezeichner |
Namen des Namensraums feststellen.
| ||
Beispiele:
|
Hinweise
- Um festzustellen, ob die momentane Seite in einem bestimmten Namensraum liegt, ist
{{NAMESPACENUMBER}}
mit dem Zahlenwert (etwa10
für „Vorlage“) zu vergleichen.- Nicht sinnvoll ist es, zu vergleichen:
{{NAMESPACE}}
mit{{ns:10}}
– dies führt nur zu einem überflüssigen Funktionsaufruf und zur Ausdehnung von Zeichenketten. - Wenn schon mit der global einheitlichen, aber nicht intuitiven Zahl
10
verglichen wird, dann kann das gleich auf Ebene der Zahlen geschehen und muss nicht erst mühsam in die lokalen Namen umgewandelt werden. - Wenn in einer nur für den deutschsprachigen Raum geschriebenen Vorlage intuitiv verständlich verglichen werden soll, dann
{{NAMESPACE}}
direkt mit der ZeichenketteVorlage
(dem Ergebnis von{{ns:10}}
).
- Nicht sinnvoll ist es, zu vergleichen:
- Die Form
{{nr:
statt{{ns:
ist nicht sinnvoll.- Die Funktionen
{{ns:
für den Namensraum sind dazu da, in einem nicht-deutschsprachigen Wiki die Vorlagenprogrammierung verwenden zu können, indem die dort geltenden Bezeichnungen der Namensräume dem Benutzer sichtbar gezeigt werden. - Wenn es ein nicht-deutschsprachiges Wiki ist, dann ist die Form
{{nr:
dort unbekannt. - Wenn es ein deutschsprachiges Wiki ist, sind die Bezeichnungen der Namensräume bekannt. Dann können die Namen direkt benutzt werden und der Umweg über die
nr:
-Funktion ist sinnlos. - Wenn den Benutzern die Bezeichnung nicht optisch dargestellt werden soll, kann intern in einer weltweit austauschbaren Vorlage direkt mit den englischen Bezeichnungen zur Bildung von Wikilinks oder URL gearbeitet werden, etwa
Template_talk:
– ein Umweg über die lokalen Namensraumfunktionen aus der Tabelle ist nicht erforderlich.
- Die Funktionen
- Die Form
{{nr:Hilfe}}
ist absoluter Nonsens im Quadrat; sie kann aus doppeltem Grund nur in einem deutschsprachigen Wiki benutzt werden und hat immer –Hilfe
als Ergebnis.- Die Form
{{ns:Help}}
wäre dagegen eine intuitiv verständlichere Form von{{ns:12}}
und dient dazu, in einer weltweit austauschbaren Vorlage den lokalen Namen sichtbar darzustellen.
- Die Form
- Siehe ansonsten auch oben Namensraum zu weiteren Konvertierungsmöglichkeiten.
Funktion | Lokalisierung | Pflichtparameter |
---|---|---|
nse |
nr_url |
Bezeichner |
Name des Namensraums wie vor, jedoch mit URL-Encoding. | ||
Beispiele:
|
Spezialseiten
Funktion | Lokalisierung | Pflichtparameter |
---|---|---|
#special |
#spezial |
Bezeichner |
Lokaler Spezialseitenname.
| ||
Beispiele:
| ||
#speciale |
#speziale |
Bezeichner |
Lokaler Spezialseitenname, wie #special, geeignet für eine URL. | ||
Beispiel: {{#speciale:Contributions}} → Spezial:Beitr%C3%A4ge
|
Mediendatei-Pfad
Wenn nur die Verlinkung der Mediendatei in Standardgröße ohne genauere Angaben benötigt wird, ist das Format [[Media:]]
günstiger, das bei fehlerhaftem Dateinamen ein Rotlink zeigt, während das URL-Link immer blau ist. Der Dateiname über upload-URL erscheint nicht auf Special:GlobalUsage, was zur Folge hat, dass dieser Link bei Namensänderungen auf Commons (oder lokal) nicht berücksichtigt werden kann.
Direkt in Seiten sollte dies nicht verwendet werden.
Funktion | Lokalisierung | Pflichtparameter | Parameter | |
---|---|---|---|---|
filepath |
dateipfad
|
Mediendatei | Größe | nowiki
|
URL einer Mediendatei ermitteln.
| ||||
Beispiele:
|
URL von Seiten
Die nachstehenden Funktionen zielen darauf ab, zu einer Wiki-Seite eine URL zu generieren und ggf. auch noch einen oder mehrere URL-Parameter angeben zu können.
- Nur die Variante
canonicalurl
sollte verwendet werden. - Die deutschsprachigen Lokalisierungen sind extrem ungebräuchlich und auch missverständlich.
canonicalurl
- bewirkt das URL-Encoding des Seitennamens,
- sorgt für kürzeren Quelltext,
- macht Verlinkungen robuster gegenüber unterschiedlichen Domains.
- Zwar wird bislang nicht zwischen Mobil- und Desktop-Domain unterschieden, jedoch wird dies erörtert.
- Eine Vorlagenprogramierung ist darüberhinaus zwischen Wikis austauschbar, wenn sie nicht die Domain des momentanen Wikis fest kodiert enthalten muss.
Funktion | Lokalisierung | Pflichtparameter | Parameter |
---|---|---|---|
canonicalurl |
KANONISCHE_URL
|
Seitenname | Parameterliste |
URL mitsamt Protokoll https zu einem Seitenname generieren.
| |||
Beispiele:
| |||
fullurl |
VOLLSTÄNDIGE_URL
|
Seitenname | Parameterliste |
„Protokoll-relative“ URL zu einem Seitenname generieren.
| |||
Beispiele:
| |||
localurl |
LOKALE_URL
|
Seitenname | Parameterliste |
Seiten-relative URL zu einem Seitenname generieren.
| |||
Beispiele:
|
Veraltet
Die nachstehenden Funktionen waren in den allerersten Jahren dafür gedacht gewesen, eine Spezialität der Wiki-URL zu unterstützen.
- Sie hatten noch ein zusätzliches URL-Encoding ausgeführt; das
e
am Ende des Namens steht für „Encoding“. - Es ging um Detailfragen der Kodierung von Leerzeichen (Pluszeichen) und Unicode-Zeichen, sowie bei ungültigem Seitennamen.
- Heute ist dies obsolet; ältere Programmierungen sollten zurückgebaut werden.
- Die Wirkung ist gleich der regulären Funktion.
Funktion | Lokalisierung | Pflichtparameter | Parameter |
---|---|---|---|
canonicalurle |
KANONISCHE_URL_C
|
Seitenname | Parameterliste |
canonicalurl verwenden. | |||
fullurle |
VOLLSTÄNDIGE_URL_C
|
Seitenname | Parameterliste |
fullurl verwenden. | |||
localurle |
LOKALE_URL_C
|
Seitenname | Parameterliste |
localurl verwenden. |
URL-Syntax
Funktion | Lokalisierung | Pflichtparameter | Parameter |
---|---|---|---|
urlencode |
urlenkodiert
|
Text | Format |
URL-Encoding von beliebigem Text.
| |||
Beispiele:
|
Die nachfolgende Funktion wurde früher benötigt, weil bis Mitte der 2010er Jahre aus Kompatibilitätsgründen für einige Browser die Fragmentbezeichner für ein Wiki nach einem anderen Schema kodiert wurden. Heutzutage ist dies nicht mehr erforderlich, und urlencode
kann auch für Fragmentbezeichner verwendet werden. Allerdings müssen Pfad und Fragmentbezeichner separat kodiert werden, weil das kennzeichnende #
ansonsten als %23
versteckt würde. Die Funktion sollte zur besseren Verständlichkeit ggf. ersetzt werden; sie führt auch nur einen nicht völlig sicheren Zwischenschritt aus.
Funktion | Lokalisierung | Pflichtparameter |
---|---|---|
anchorencode |
sprungmarkeenkodiert |
Sprungmarke |
URL-Encoding der Sprungmarke.
| ||
Beispiele:
|
#ifexist
– Existenz einer Seite feststellen- Hilfe:Seitenname
- Modul:PageUtil – weitere Funktionen zu Seiten
- Modul:URLutil – weitere Funktionen zu URL
- Modul:WLink – weitere Funktionen zur Verlinkung von Seiten und URL
- Hilfe:Lua/Links – Lua-Bibliotheken mit analogen Funktionen
Text (Zeichenketten)
[Bearbeiten | Quelltext bearbeiten]Wikisyntax
Wikisyntax kann vor der Auswertung verborgen werden.
Dies sind die einzigen Parserfunktionen mit einem konstanten Ergebnis.
Pipe-Symbol
Funktion |
---|
!
|
Pipe-Symbol | generieren.
|
Beispiel: {{!}} → |
|
Diese Funktion dient dazu, innerhalb der Parameterwerte für Vorlagen und auch Parserfunktionen ein Pipe-Symbol zu verwenden, ohne dass es in der ersten Auswertung als Trenner zwischen Parameterwerten wirkt.
- Im Ergebnis ist es dann syntaktisch wirksam und ein normales Pipe-Symbol. Das wird für die Tabellensyntax benötigt, falls diese in Parameterwerte einfließen soll.
- Wenn nur die dekorative Wirkung in der Darstellung angestrebt wird, kann auch das HTML-Entity
|
verwendet werden.
Gleichheitszeichen
Funktion |
---|
=
|
Gleichheitszeichen = generieren.
|
Beispiel: {{=}} → =
|
Diese Funktion dient dazu, innerhalb der Parameterzuweisungen für Vorlagen und auch Parserfunktionen ein Gleichheitszeichen zu verwenden, ohne dass es in der ersten Auswertung als Bezeichner für Parameternamen wirkt.
- Im Ergebnis ist es dann syntaktisch wirksam und ein normales Gleichheitszeichen.
Das Problem tritt insbesondere dann auf, wenn unbenannten Parametern einer Vorlage ein Wert zugewiesen wird, der ein Gleichheitszeichen enthält. Hier gibt es zwei Möglichkeiten:
- Parameternamen voranstellen:
|1=<span class="hintergrundfarbe8">Überschrift</span>
- Alle
=
im Wert einzeln maskieren:
|<span class{{=}}"hintergrundfarbe8">Überschrift</span>
Wenn nur die dekorative Wirkung in der Darstellung angestrebt wird, kann auch das HTML-Entity =
verwendet werden.
Groß- und Kleinschreibung
Diese Funktionen wirken auf alle Buchstaben in allen Schriftsystemen, die das Konzept von Groß- und Kleinbuchstaben kennen.
Funktion | Lokalisierung | Pflichtparameter |
---|---|---|
lc |
klein |
Textfragment |
Alle Buchstaben in Kleinbuchstaben wandeln. | ||
Beispiel: {{lc:CamelCasing}} → camelcasing
| ||
lcfirst |
initial_klein |
Textfragment |
Ersten Buchstaben in Kleinbuchstaben wandeln. | ||
Beispiel: {{lcfirst:CamelCasing}} → camelCasing
| ||
uc |
gross |
Textfragment |
Alle Buchstaben in Großbuchstaben wandeln. | ||
Beispiel: {{uc:CamelCasing}} → CAMELCASING
| ||
ucfirst |
initial_gross |
Textfragment |
Ersten Buchstaben in Großbuchstaben wandeln. | ||
Beispiel: {{ucfirst:CamelCasing}} → CamelCasing
|
Ausrichten (padding)
Diese Funktionen ermöglichen das Einfügen von Zeichen, um in einer geeigneten Darstellung ggf. die Ziffer Null oder auch Leerzeichen so einzufügen, dass alle Zeichenketten die vorgegebene Länge erhalten.
Funktion | Lokalisierung | Pflichtparameter | ||
---|---|---|---|---|
padleft |
füllenlinks
|
Textfragment | Länge | Füllzeichen |
Linksbündig mit Füllzeichen auffüllen, bis mindestens Länge erreicht ist. | ||||
Beispiel: {{padleft:1234|6|0}} → 001234
| ||||
padright |
füllenrechts
|
Textfragment | Länge | Füllzeichen |
Rechtsbündig mit Füllzeichen auffüllen, bis mindestens Länge erreicht ist. | ||||
Beispiel: {{padright:5,67|6|0}} → 5,6700
|
Als Füllzeichen können auch mehrere Zeichen angegeben werden; aber die Mindestlänge führt dann ggf. zu unerwarteten Ergebnissen:
"{{padright:Haus|7| }}"
→"Haus&nb"
Werte kleiner oder gleich Null oder nichtnumerische Angaben für die Länge und fehlende Textfragmente liefern ggf. seltsame Effekte.
Plural und Singular
Funktion | Pflichtparameter | ||
---|---|---|---|
plural
|
Anzahl | Singularform | Pluralform |
Text in grammatikalisch korrekter Schreibung abhängig von der Anzahl.
In anderen Projektsprachen kann es weitere sprachbezogen definierte Parameter geben, wenn diese einen Paukal, Dual, Trial usw. kennen. | |||
Beispiele:
|
Wenn die Anzahl kleiner als eins oder nicht numerisch ist, lässt sich das Verhalten nicht dauerhaft vorhersagen. Es kann die Pluralform oder „nichts“ resultieren.
Konkurrierend zu dieser Parserfunktion gibt es eine Vorlage gleichen Namens, die dadurch aktiviert wird, dass der erste Parameter durch |
statt :
abgetrennt wird:
{{plural|1|Kuh|Kühe}}
→1 Kuh
{{plural|5|Kuh|Kühe}}
→5 Kühe
Hier wird die Anzahl wiederverwendet und mittels eines geschützten Leerzeichens vorangestellt.
- Vorlage:Mehrzahl wäre allerdings ein glücklicherer Name gewesen und hätte verdeutlicht, dass es sich offenkundig um etwas anderes handelt.
Geschlecht
Funktion | Lokalisierung | Pflichtparameter | Parameter | ||
---|---|---|---|---|---|
gender |
geschlecht
|
Konto | Text männlich | Text weiblich | Text unbekannt |
Textvariante abhängig von der momentanen persönlichen Einstellung eines Benutzerkontos darstellen.
| |||||
Beispiele:
|
Formale Sprachvariante
Im Mai 2024 neu eingeführt wurde die nachstehende Unterscheidung gemäß persönlicher Spracheinstellung.
Funktion | Pflichtparameter | ||
---|---|---|---|
#FORMAL
|
informeller Ausdruck | formeller Ausdruck | |
Textvariante abhängig von der momentanen persönlichen Einstellung eines Benutzerkontos darstellen.
Anders als bei den meisten Parserfunktionen ist zunächst die Großschreibung des Schlüsselworts erforderlich. | |||
Beispiel: {{#FORMAL:du|Sie}} → du
|
Aufzählung
Funktion | Pflichtparameter | Parameter | |||
---|---|---|---|---|---|
#commaSeparatedList
|
Item1 | Item2 | Item3 | … | |
Komma-separierte Liste von Elementen.
| |||||
Beispiel: {{#commaSeparatedList:a|b|c}} → a, b, c
| |||||
Die Funktion entstammt mw:Extension:Wikibase Client. |
Grammatik
Für diese Funktion ist deutschsprachig zurzeit keine Programmierung hinterlegt.
Funktion |
---|
grammar
|
Sprachabhängige Modifikation (Beugung, Verb/Substantiv usw.) |
Schreibrichtung
Diese Funktionen werden in der deutschsprachigen Wikipedia nicht verwendet.
- Es sind die sprach- und schriftspezifischen Vorlagen der Kategorie:Vorlage:zur Schriftunterstützung (bidi) zu benutzen.
- Diese Methodik mit Steuerzeichen ist seit längerer Zeit unerwünscht und entstammt dem vorigen Jahrhundert.
- Moderne Techniken verwenden HTML-Elemente für die Inhalte und weisen ihnen entsprechende Attribute zu.
Funktion | Pflichtparameter |
---|---|
bidi |
Textfragment |
Bidirektionaler Text.
| |
DIRECTIONMARK DIRMARK |
|
Reguläre Schreibrichtung sicherstellen.
|
urlencode
– Parserfunktion für URL-Encoding- Zeichenketten-Vorlagen
- Modul:Text mit weiteren Funktionen für Zeichenketten
Konfiguration des aktuellen Wiki-Projekts
Für die inhaltliche Arbeit sind diese Funktionen weniger verwendbar.
Typ des Wiki
Funktion | Lokalisierung |
---|---|
SITENAME |
PROJEKTNAME
|
Inhaltliche Familie („Wikisource“, „Wikipedia“, auch in fremden Sprachen und Schriften). | |
Beispiel: {{SITENAME}} → Wikipedia
|
Software-Version
Funktion | Lokalisierung |
---|---|
CURRENTVERSION |
JETZIGE_VERSION
|
Installierte Version von MediaWiki. | |
Beispiel: {{CURRENTVERSION}} → 1.44.0-wmf.3 (b4aac1f)
|
Komponenten der URL
Verschiedene Komponenten der URL-Struktur.
Funktion | Lokalisierung |
---|---|
SERVERNAME |
|
(Desktop-)Domain des Wiki. | |
Beispiel: {{SERVERNAME}} → de.wikipedia.org
| |
SERVER |
|
(Desktop-)Host des Wiki. | |
Beispiel: {{SERVER}} → //de.wikipedia.org
| |
SCRIPTPATH |
SKRIPTPFAD
|
Pfad, in dem die PHP-Skripte residieren. | |
Beispiel: {{SCRIPTPATH}} → /w
| |
ARTICLEPATH |
ARTIKELPFAD
|
Pfad für Clean URL der statischen Seiten.
| |
Beispiel: {{ARTICLEPATH}} → /wiki/$1
|
Wikidata
Funktion |
---|
WBREPONAME
|
Name des Wikibase-Repositoriums. |
Beispiel: {{WBREPONAME}} → Wikidata
|
Veraltende Ressourcen
In der ersten Entwicklungsphase der Wiki-Software wurden in diesem Pfad Ressourcen für das HTML-Dokument hinterlegt. Mit dem ResourceLoader wurde das in den 2010er Jahren obsolet.
Funktion | Lokalisierung |
---|---|
STYLEPATH |
STILPFAD STYLEPFAD
|
URL-Pfad für Ressourcen. | |
Beispiel: {{STYLEPATH}} → /w/skins
|
- Analysen – Parserfunktionen zu Statistiken über das aktuelle Wiki.
- Multilingual – Parserfunktion zur Inhaltssprache des aktuellen Wiki.
- Hilfe:Lua/Umgebung – Lua-Bibliothek mit weiteren Funktionen über das aktuelle Wiki.
Zahlen
[Bearbeiten | Quelltext bearbeiten]Berechnungen – #expr
Funktion | Pflichtparameter | ||||
---|---|---|---|---|---|
#expr
|
Ausdruck | ||||
Mathematische Berechnung ausführen.
| |||||
Beispiele:
|
Es wird bei ungültigem Ausdruck eine Fehlermeldung angezeigt; eine Wartungskategorie ist zurzeit jedoch nicht definiert.[1]
Operator | Operation | Beispiel |
---|---|---|
Algebraische Operationen | ||
+ | Addition | {{#expr: 30 + 7 }} = 37 |
− | Subtraktion (oder Negation) | {{#expr: 30 - 7 }} = 23 |
* | Multiplikation | {{#expr: 30 * 7 }} = 210 |
/ oder div | Division | {{#expr: 30 / 7 }} = 4.2857142857143 |
^ | Potenz . Achtung: Beim zweifachen Potenzieren sollten Klammern angegeben werden. Die Potenzen werden von der Software linksassoziativ ausgeführt: 2 ^ 2 ^ 2 = (2 ^ 2) ^ 2. Mit der Beziehung kann man auch radizieren. | {{#expr: 2 ^ 8 }} = 256 |
sqrt | Quadratwurzel | {{#expr: sqrt 16 }} = 4 |
mod | Modulo, der Rest einer Division von Ganzzahlen. | {{#expr: 30.4 mod 7.2 }} = 2 |
fmod | Modulo, der Fließkommarest einer Division von Fließkommazahlen. Mit 1 als Divisor erhält man den Nachkommateil des Dividenden. |
{{#expr: 30.4 fmod 7.2 }} = 1.6 {{#expr: 3.1428 fmod 1 }} = 0.1428 |
exp | Exponentialfunktion () | {{#expr: exp 5 }} = 148.41315910258 |
ln | Der natürliche Logarithmus einer Zahl. Zur Umrechnung in andere Logarithmen siehe Basisumrechnung. | {{#expr: ln exp 3 }} = 3 |
abs | Betragsfunktion | {{#expr: abs -1.2 }} = 1.2 {{#expr: abs 1.2 }} = 1.2 |
Runden | ||
round | Rundet die Zahl auf der linken Seite auf die Anzahl Nachkommastellen, die von der Zahl auf der rechten Seite angegeben wird (kaufmännische Rundung) | {{#expr: 30 / 7 round 7 }} = 4.2857143 |
trunc | Rundet eine Zahl in Richtung Null auf die nächste Ganzzahl, d. h. negative Zahlen werden aufgerundet und positive Zahlen werden abgerundet | {{#expr: trunc -1.2 }} = -1 {{#expr: trunc 1.2 }} = 1 |
floor | Abrunden auf die nächste Ganzzahl | {{#expr: floor -1.2 }} = -2 {{#expr: floor 1.2 }} = 1 |
ceil | Aufrunden auf die nächste Ganzzahl | {{#expr: ceil -1.2 }} = -1 {{#expr: ceil 1.2 }} = 2 |
Konstanten und trigonometrische Operatoren | ||
e | Die Eulersche Zahl e | {{#expr: e }} = 2.718281828459 |
pi | Die Kreiszahl | {{#expr: pi }} = 3.1415926535898 |
sin | Berechnet den Sinus einer Zahl in Bogenmaß | {{#expr: sin 3.14 }} = 0.0015926529164868 |
cos | Berechnet den Kosinus (engl. cosine) einer Zahl in Bogenmaß | {{#expr: cos pi }} = -1 |
tan | Berechnet den Tangens einer Zahl in Bogenmaß | {{#expr: tan 1 }} = 1.5574077246549 |
asin | Berechnet den Arkussinus | {{#expr: asin 0.5 }} = 0.5235987755983 |
acos | Berechnet den Arkuskosinus | {{#expr: acos 0 }} = 1.5707963267949 |
atan | Berechnet den Arkustangens | {{#expr: atan 1.4 }} = 0.95054684081208 |
Vergleichsoperatoren | ||
= | Gleichheit | {{#expr: 30 = 7 }} = 0 |
<> oder != | Ungleichheit | {{#expr: 30 <> 7 }} = 1 |
< | Kleiner als | {{#expr: 30 < 7 }} = 0 |
> | Größer als | {{#expr: 30 > 7 }} = 1 |
<= | Kleiner oder gleich | {{#expr: 30 <= 7 }} = 0 |
>= | Größer oder gleich | {{#expr: 30 >= 7 }} = 1 |
Logische Operatoren | ||
and | Logisches UND | {{#expr: 30 and 7 }} = 1 {{#expr: 30 and 0 }} = 0 |
or | Logisches ODER | {{#expr: 30 or 7 }} = 1 {{#expr: 30 or 0 }} = 1 |
not | Logisches NICHT | {{#expr: not 7 }} = 0 {{#expr: not 0 }} = 1 |
Syntax | ||
#.#e±# | Statt eines Kommas muss der Punkt zur Trennung der Nachkommastellen benutzt werden. Zahlengruppierungen (im deutschen meist der Punkt) sind nicht möglich. Zahlen können in der wissenschaftlichen Notation übergeben werden. Für positive Exponenten ist das Plus optional. | {{#expr: 0.7e4 }} = 7000 |
( ) | Gruppierung/Klammerung | {{#expr: (30 + 7) * 7 }} = 259 |
Hyperbolische, andere trigonometrische, Arkus- und Areafunktionen müssen mit Hilfe der entsprechenden Definitionen und Umrechnungen realisiert werden:
Funktion | Quelltext |
---|---|
Sinus Hyperbolicus (sinh) | {{#expr: ((exp {{{x}}} - exp (-1*{{{x}}}))/ 2)}}
|
Kosinus Hyperbolicus (cosh) | {{#expr: ((exp {{{x}}} + exp (-1*{{{x}}}))/ 2)}}
|
Tangens Hyperbolicus (cosh) | {{#expr: ((exp {{{x}}} - exp (-1*{{{x}}})) / (exp {{{x}}} + exp(-1*{{{x}}}))) }}
|
Kotangens Hyperbolicus (coth) | {{#expr: ((exp {{{x}}} + exp (-1*{{{x}}})) / (exp {{{x}}} - exp(-1*{{{x}}}))) }}
|
Sekans Hyperbolicus (sech) | {{#expr: (2 / (exp {{{x}}} + exp (-1*{{{x}}}))) }}
|
Kosekans Hyperbolicus (sech) | {{#expr: (2 / (exp {{{x}}} - exp (-1*{{{x}}}))) }}
|
Areasinus Hyperbolicus (arsinh) | {{#expr: ln ({{{x}}} + (({{{x}}})*({{{x}}}) - 1)^0.5) }}
|
Areakosinus Hyperbolicus (arcosh) | {{#expr: ln ({{{x}}} + (({{{x}}})*({{{x}}}) + 1)^0.5) }}
|
Areatangens Hyperbolicus (artanh) | {{#expr: ln ((1+ {{{x}}})/(1- {{{x}}})) / 2 }}
|
Areakotangens Hyperbolicus (arcoth) | {{#expr: ln (({{{x}}} +1)/({{{x}}} -1)) / 2 }}
|
Areasekans Hyperbolicus (arsech) | {{#expr: ln ((1 + (1 - ({{{x}}})* {{{x}}})^0.5)/ {{{x}}}) }}
|
Areakosekans Hyperbolicus (arcsch) | {{#expr: ln ((1 + (1 + ({{{x}}})* {{{x}}})^0.5)/ {{{x}}}) }}
|
Die booleschen Operatoren behandeln 0 (Null) als falsch und 1 als wahr. Zahlen werden mit dem Punkt als Dezimaltrenner angegeben.
Beispiel:
{{ #expr: (100 - 32) / 9 * 5 round 0 }}
ergibt:
38
Damit werden 100 Fahrenheit auf die Celsius-Skala umgerechnet (auf die nächste ganze Zahl gerundet).
Da diese Berechnungen aus Kompatibilitätsgründen mit dem englischen Zahlenformat durchgeführt werden (Beispiel: {{#expr: 13000 / 3.1 round 2}}
ergibt 4193.55) müssen solche Zahlen zusätzlich in das lokale Format umgewandelt werden (Beispiel: {{
formatnum:{{#expr: 13000 / 3.1 round 2}}}}
ergibt 4.193,55. Zu anderen lokalen Formaten siehe Vorlage:FormatZahl).
Arithmetische Ausdrücke können auf Spezial:Vorlagen expandieren getestet werden.
Eine Fehlersituation kann mittels der Parserfunktion #iferror
abgefangen werden; der Ausdruck auch zur Steuerung genutzt werden mit #ifexpr
.
Zahl formatieren – formatnum
Funktion | Lokalisierung | Pflichtparameter | Parameter | ||
---|---|---|---|---|---|
formatnum
|
zahlenformat
|
Zahl | Format | ||
Zahl formatieren in der lokal üblichen Form, in einem deutschsprachigen Wiki also mit Punkt als Tausendertrennzeichen bei mehr als drei Stellen und Komma als Dezimaltrennzeichen. Negative Werte erhalten ein typografisches Minuszeichen.
| |||||
Beispiele:
|
Eine Wartungskategorie für Seiten mit ungültiger Zahl kann über MediaWiki:Nonnumeric-formatnum definiert werden.
- Kategorie:Vorlage:Numerische Berechnung – Vorlagen zu Berechnungen
- Modul:FormatNum – weitere Funktionen zur Zahlenformatierung
- Modul:Expr – weitere Funktionen für Berechnungen
- mw.ext.ParserFunctions.expr() – Lua-Funktion
- lang:formatNum() – Lua-Bibliotheksfunktion zur sprachabhängigen Zahlenformatierung
Anmerkungen
- ↑ Phabricator – Bug/Feature: 25959 – Es wird ein Problem darin gesehen, dass auch bei
#iferror
eine Wartungskategorie ausgelöst wird, obwohl bereits eine Fehlerbehandlung erfolgt.
Verschiedene spezielle Anwendungen
[Bearbeiten | Quelltext bearbeiten]Verteiler für Massennachricht
Funktion | Pflichtparameter |
---|---|
#target |
Adressat |
Verteiler für Massennachricht.
| |
Beispiel: {{#target:Beispielnutzer}}
|
Kategoriebaum
Siehe Hilfe:Kategoriebaum.
Funktion | Pflichtparameter |
---|---|
#categorytree
|
KatName |
Kategoriebaum darstellen.
| |
Beispiel: {{#categorytree:Hilfe:}}
|
Seitenverknüpfung ausnehmen
Siehe Hilfe:Wikidata/Seiten zwischen Projekten verknüpfen.
Funktion | Parameter | |||
---|---|---|---|---|
noexternallanglinks
|
Sprachcode | Sprachcode2 | Sprachcode3 | … |
Unterdrückung von Wikidata-Seiten-Verknüpfungen.
Vorgabe: Alle Sprachen und Verknüpfungen. | ||||
Beispiel: {{noexternallanglinks:en|fr}}
| ||||
Die Funktion entstammt mw:Extension:Wikibase Client. |
Ähnlicher Artikel
Siehe mw:Help:Extension:RelatedArticles.
Funktion | Pflichtparameter |
---|---|
#related
|
Artikel |
Ähnlichen Artikel zur Suche mit morelike: vereinbaren.
| |
Beispiel: {{#related:Artikel}}
|
Mentor
Siehe GrowthExperiments (seit 2021).
Funktion | Pflichtparameter |
---|---|
#mentor
|
menteeUser |
Zeige Mentor vom Mentee an, wenn von Growth verwaltet.
| |
Beispiel: {{#mentor:Beispielnutzer}}
|
Das wesentlich länger bestehende Wikipedia:Mentorenprogramm verwaltet die Betreuung bislang nicht hiermit.
Geo-Koordinate
Siehe Wikipedia:WikiProjekt Georeferenzierung.
Funktion | Pflichtparameter | Parameter | |||
---|---|---|---|---|---|
#coordinates
|
latitude | longitude | primary | GeoHack | extra |
Koordinatenwertpaar formatieren.
| |||||
Die Funktion entstammt mw:Extension:GeoData. |
Eine Wartungskategorie kann über MediaWiki:Geodata-broken-tags-category definiert werden.
Funktion | Pflichtparameter | |
---|---|---|
#coordinate
|
Komponente | Koordinatenliste |
Umrechnung eines Koordinatenwertpaares aus einer Dezimalzahl mit Gradzeichen in eine Einzelzahl ohne Gradzeichen.
Das Ergebnis ist ein Einzelwert. | ||
Beispiele:
| ||
Die Funktion ist zurzeit nicht aktiviert und entstammt mw:Extension:Coordinate. |
Funktion | Pflichtparameter | Parameter | |
---|---|---|---|
#coordinates
|
Koordinatenliste | format= Format
|
directional= Kennbuchstabe
|
Koordinatenwertpaar formatieren.
| |||
Beispiele:
→ 55° 45' 20.83" N, 37° 37' 3.48" W | |||
Die Funktion ist zurzeit nicht aktiviert und entstammt mw:Extension:Maps. |
Funktion | Pflichtparameter | Parameter |
---|---|---|
#statements
|
Identifizierer | from= von
|
Daten der Eigenschaft aus einem Wikidata-Objekt.
Standardmäßig ist es das Wikidata-Objekt, mit dem diese Seite verbunden ist.
| ||
Beispiel: (Eigenschaft Kontinent (P30)): {{#statements:P30}} bzw. {{#statements:Kontinent}} ergeben in der Seite Dänemark „Europa“.
| ||
In der Rückgabe sind alle Aussagen der Eigenschaft mit höchstmöglichem Rang (ausgenommen „missbilligter Rang“) enthalten, mit , (Komma+Leerzeichen) getrennt.Mit dem optionalen Parameter | ||
Beispiel: {{#statements:P30|from=Q668}} ergibt „Asien“, egal auf welcher Seite es genutzt wird (Q668 beschreibt Indien).
| ||
Im Artikelnamensraum darf {{#statements:…}} nicht genutzt werden; in Vorlagen unter Bedingungen durchaus.
| ||
#property |
||
Unformatierte Variante von #statements .
|