Die meta
-Anweisung wird durch die meta-Erweiterung bereitgestellt.
Diese Anweisung erlaubt es, beliebige Metadaten in den Quelltext einer Seite einzufügen. Dies geschieht wie folgt:
[[!meta field="value"]]
[[!meta field="value" param="value" param="value"]]
In der ersten Form wird das angegebene Feld auf den angegebenen Wert
gesetzt. In der zweiten Form werden zusätzlich einige Unter-Parameter
angegeben. Pro meta
-Anweisung kann nur ein Feld gesetzt werden; um mehrere
Felder anzugeben bitte die meta
-Anweisung wiederholt verwenden.
Die Feldwerte können HTML-Entities enthalten, zum Beispiel kann durch
"
ein Anführungszeichen eingefügt werden.
Unterstützte Felder
title
Überschreibt den Titel der Seite, der normalerweise dem Namen der Seite entspricht.
Wenn der Titel so überschrieben wird, wird die Template-Variable
title_overridden
auf wahr gesetzt. Eine Vorlage kann in diesem Fall eine andere Darstellung wählen.Mit dem optionalen Parameter
sortas
kann die Sortierreihenfolge verändert werden, wenn nachmeta(title)
sortiert wird:[[!meta title="The Beatles" sortas="Beatles, The"]]
[[!meta title="David Bowie" sortas="Bowie, David"]]
license
Gibt eine Lizenz für die Seite an, etwa
GPL
. Kann WikiLinks und beliebige Formatierungsanweisungen enhalten.copyright
Gibt die Urheberrechte der Seite an, zum Beispiel
Copyright 2007 by Joey Hess
. Kann WikiLinks und beliebige Formatierungsanweisungen enhalten.author
Gibt den Autor der Seite an.
Mit dem optionalen Parameter
sortas
kann die Sortierreihenfolge verändert werden, wenn nachmeta(author)
sortiert wird:[[!meta author="Joey Hess" sortas="Hess, Joey"]]
authorurl
Gibt eine URL für den Autor der Seite an.
description
Gibt eine kurze Beschreibung der Seite an. Diese wird im HTML-Header angegeben und kann zum Beispiel auch durch die map-Anweisung ausgegeben werden.
Schlüsselwörter
Gibt die Schlüsselwörter an, die den Inhalt der Seite zusammenfassen. Diese Information wird im HTML-Header ausgegeben. Nur Buchstaben, Ziffern, Leerzeichen und Kommas sind zulässig, andere Zeichen werden entfernt. Die meisten Suchmaschinen (u.a. Google) ignorieren Informationen im keywords-Header.
permalink
Gibt einen dauerhaften Link zu der Seite an, wenn dieser anders ist als die von ikiwiki generierte Seite.
date
Gibt das Erstellungsdatum der Seite an. Die erzeugt einen
<meta name="date" content="...">
-Header in der HTML-Ausgabe und setzt die internectime
für den internen Index. Das Datum kann in nahezu jedem Format angegeben werden, da es durch TimeDate ausgewertet wird. Allerdings führen ungültige Werte seit Version 3.20180321 zu Fehlern.stylesheet
Fügt ein Stylesheet zu der Seite hinzu. Der angegebene Name wird als WikiLink zu einer
.css
-Datei im Wiki behandelt, es können also keine externen Stylesheets eingebunden werden. Beispiel:[[!meta stylesheet=somestyle rel="alternate stylesheet" title="somestyle"]]
Allerdings wird diese zweite Syntax entfernt, wenn die htmlscrubber-Erweiterung aktiviert ist, weil auf diese Weise unsichere Inhalte eingefügt werden können.
script
Fügt ein Skript zu der Seite hinzu. Der angegebene Name wird als WikiLink zu einer
.js
-Datei im Wiki behandelt, es können also keine externen Skripte eingebunden werden. Die optionalen Schlüsselwörterdefer
undasync
setzen die entsprechenden HTML4- und HTML5-Optionen. Beispiel:[[!meta script=einskript defer async]]
Der Tag unterliegt den gleichen htmlscrubber-Einschränkungen wie die Felder stylesheet und link.
openid
Fügt die nötigen <link>-Tags für die Weiterleitung an einen externen OpenID-Server ein. Dadurch kann eine ikiwiki-Seite als OpenID verwendet werden.
Standardmäßig werden sowohl
openid
als auchopenid2
weitergeleitet. Um nur eines davon weiterzuleiten, kann ein Parameter wiedelegate=openid
verwendet werden.Der optionale Parameter
xrds-location
erlaubt es, den Ort eines eXtensible Resource DescriptorS anzugeben.Beispiel:
[[!meta openid="http://joeyh.myopenid.com/" server="http://www.myopenid.com/server" xrds-location="http://www.myopenid.com/xrds?username=joeyh.myopenid.com"]]
link
Gibt einen Link zu einer anderen Seite an. Auf diese Weise kann das Wiki dazu gebracht werden, eine Seite so zu behandeln, als ob sie einen Link auf eine andere enthält, ohne dass die Benutzer einen WikiLink zu Gesicht bekommen:
[[!meta link=andereseite]]
Es kann auch ein HTML <link>-Tag eingefügt werden, zum Beispiel:
[[!meta link="http://joeyh.myopenid.com/" rel="openid.delegate"]]
Allerdings ist diese zweite Syntax nicht erlaubt, wenn die htmlscrubber-Erweiterung aktiviert ist, weil auf diese Weise unsichere Inhalte eingefügt werden können.
enclosure
Gibt einen Link zu einer Datei an, der als "enclosure" in RSS-/Atom-Feeds verwendet werden soll (und als einfacher Link in HTML). Nützlich für Podcasts.
redir
Lässt die Seite auf eine andere Seite im Wiki weiterleiten.
[[!meta redir=andereseite]]
Voreingestellt ist die Weiterleitung ohne Verzögerung. Optional kann eine Verzögerung (in Sekunden) angegeben werden: "delay=10"
Es kann auch auf eine externe URL weitergeleitet werden. Zum Beispiel:
[[!meta redir="http://beispiel.de/"]]
Allerdings ist diese zweite Syntax nicht erlaubt, wenn die htmlscrubber-Erweiterung aktiviert ist, weil auf diese Weise unsichere Inhalte eingefügt werden können.
In beiden Fällen kann ein anzuspringender Anker auf der Zielseite angegeben werden, indem die übliche
#ANKER
-Syntax verwendet wird.robots
Schreibt den robots-Meta-Tag:
[[!meta robots="index, nofollow"]]
Zulässige Werte sind
index
,noindex
,follow
undnofollow
. Es können mehrere Werte durch Kommas getrennt angegeben werden, aber offensichtlich ergeben nur einige Kombinationen Sinn. Wenn der robots-Meta-Tag nicht explizit angegeben wird, wird als Voreinstellung "index,follow" angenommen.Der Wert wird nicht auf Zulässigkeit geprüft.
guid
Gibt eine global einmalige ID für die Seite an. Diese guid sollte eine URI sein und wird verwendet, um den Eintrag der Seite in RSS- und Atom-Feeds zu identifizieren. Wird keine guid angegeben, wird an dieser Stelle die URL der Seite verwendet.
Diese Angabe ist in erster Linie dann nützlich, wenn eine Seite verschoben wurde: Indem die guids unverändert gelassen werden, kann das Fluten von Aggregatoren vermieden werden (siehe tips/howto avoid flooding aggregators).
updated
Gibt eine gefälschte Änderungszeit für die Seite an, die dann von RSS- und Atom-Feeds ausgegeben wird. Dies ist nützlich, um Aggregatoren nicht zu fluten, die nach Änderungszeit sortieren, wie etwa Planet: Wenn man zum Beispiel einen alten Blog-Eintrag bearbeitet (etwa um Tags hinzuzufügen), kann man
updated
auf eine Sekunde später als den ursprünglichen Wert setzen. Das Datum mit Uhrzeit kann in jedem Format angegeben werden, das von TimeDate verstanden wird, genauso wie im Felddate
. Außerdem wird das hier angegebene Datum als<meta name=\"updated\" content=\"...\">
HTML-Header ausgegeben und als internermtime
-Wert verwendet.foaf
Fügt eine Freund-eines-Freundes-Referenz (Friend of a Friend, FOAF) zu einer Seite hinzu.
Beispiel:
[[!meta foaf=foaf.rdf]]
name
Fügt einen HTML-
<meta>
-Header mit diesemname
-Attribut hinzu. Weitere Attribute werden von den übrigen Parametern übernommen, so wird zum Beispiel[[!meta name="foo" content="bar" x-non-standard-attribute="baz"]]
zu<meta name="foo" content="bar" x-non-standard-attribute="baz">
. Dies ist nicht erlaubt falls das htmlscrubber-Plugin aktiviert ist, da sonst unsichere Inhalte eingefügt werden könnten.
Weitere Felder
Wenn das Feld nicht eines der oben vordefinierten ist, werden die Metadaten als <meta>-Header in die generierte Seite geschrieben. Zum Beispiel wird ` zu
. Wie bei
name` ist dies allerdings nicht erlaubt, wenn die htmlscrubber-Erweiterung aktiv ist.
Diese Syntax kann nicht für meta-Header mit ungewöhnlichen Namen verwendet
werden, insbesondere Namen die :
enthalten wie etwa flattr:id
und
twitter:card
. Für diese bitte [[!meta name="..." content="..."]]
verwenden.