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 nach meta(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 nach meta(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 interne ctime 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örter defer und async 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 auch openid2 weitergeleitet. Um nur eines davon weiterzuleiten, kann ein Parameter wie delegate=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 und nofollow. 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 Feld date. Außerdem wird das hier angegebene Datum als <meta name=\"updated\" content=\"...\"> HTML-Header ausgegeben und als interner mtime-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 diesem name-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 beiname` 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.