Codex

authors (basic)

Die Seitenaktionen der Site nutzen das Zusammenwirken einer ganzen Reihe von PmWiki-Charakteristika. Diese Seite gibt eine kurze Erläuterung der Möglichkeiten, die gewöhnlich in den Seitenaktionen der Site eingesetzt werden und Hinweise darauf, wo weitere Informationen zu finden sind.

Beginnen wir mit einem Blick auf den Anfang eine typische Site.PageAction-Seite, wie sie mit der PmWiki-Version 2.2.25 ausgeliefert wurde.

Das könnte ein bisschen entmutigend wirken, aber wir nähern uns Schritt für Schritt. Beginnen wir damit, die erste Zeile anzusehen und auseinander zunehmen. Das gibt uns auch gute Hinweise, wie denn all die anderen Zeilen funktionieren.

Liste

Die erste Zeile, und praktisch auch jede anderen, beginnt mit einem nicht eingerückten Sternchen '*'. Das bedeutet, sie ist ein Punkt einer ungeordneten Liste. Sie können mehr über Listen in der Seite mit den Grundlagen der Bearbeitung erfahren. PmWiki stellt eine solche ungeordnete Liste gewöhnlich als einem Satz mit 'Knöpfchen' versehener Aufzählungspunkte dar. Sie können aber auch anders in Erscheinung treten, je nach dem Zusammenhang, in dem sie erscheinen. Diese Unterschiede sind in CSS-Regeln festgelegt, die das Aussehen der PmWikis-Oberfläche (Skin) bestimmen.

Wenn Sie einen Blick auf die +-Seite mit der Standard-Oberfläche von PmWiki werfen, sehen Sie, dass die Liste zweimal erscheint,einmal in der Mitte der Seite als normale, senkrechte Aufzählung mit Knöpfchen und einmal rechts oben als waagerechte Aneinanderreihung ohne Knöpfchen. Das wird durch die Tatsache kontrolliert, dass sie dort innerhalb einer HTML-<div>-Umgebung mit einer der ID 'wikicmds' dargestellt werden und die CSS-Regeln der Standard-Oberfläche setzen Listenelemente in dieser Umgebung eben nebeneinander und unterdrücken die Knöpfchen.

Sie können den Effekt selbst sichtbar machen, denn PmWiki hat Textauszeichnungen, die es möglich machen, etwas in einer <div>-Umgebung mit der ID 'wikicmds' darzustellen:

* test1
* test2
* test3
(:div id=wikicmds:)
* test1
* test2
* test3
(:divend:)
  • test1
  • test2
  • test3
  • test1
  • test2
  • test3

Stil

Dem '*' folgt in der Zeile ein '%item ... %', das ist ein Wikistil. Er wird benutzt, um die Eigenschaften eines gegebenen Ausgabeelements zu bestimmen, wie die Größe oder die Farbe. Standardmäßig wirken sie auf den Text zwischen sich und dem Zeilenende oder einem schließenden '%%', was auch immer zuerst kommt. So kann man z. B. "dieser%blue%Text%% ist blau" eingeben und es erscheint als "dieserText ist blau".

In diesem Fall beginnt der Wikistil mit dem Wort 'item', und das bedeutet, der Stil soll auf das gesamte Listenelement wirken, für das dieser Wikistil eingesetzt wird und nicht nur für den Text, der folgt, insbesondere wird hier so ein HTML-Kode erzeugt

<li class='edit'>...</li>

anstatt solcher

<li><span class='edit'>...</span></li>

Das Setzen des Klassenattributs für die Liste gestattet es, CSS-Eigenschaften auf das Listenelement anzuwenden, passend zur aktuellen Aktion. Um zum Beispiel die aktuelle Aktion mit einem blauen Hintergrund zu versehen, könnte ein Administator dies tun:

@@# das gehörtans Ende der Datei local/config.php
$HTMLStylesFmt[] = ' .{$Action} { background-color: blue; }';

Dann würde bei der Aktion 'Bearbeiten', (auf englisch 'edit'), bei der PmWiki ein '?action=edit' an die URL anhängt, das Listenelement passend zur ('edit'-)-Bearbeiten-Aktion mit einem blauen Hintergrund versehen werden. Das sieht allerdings erbärmlich aus.

Die andere Eigenschaft innerhalb des %item ... %-WikiStils ist die 'accesskey='$[ak_view]''-Anweisung (jetzt geht es wieder um die erste Zeile ganz oben). AccessKeys sind Tastaturkürzel für Aufgaben, die anderenfalls mit der Maus ausgeführt würden. Sie können an einen Verweis (engl. link) oder ein Formular-Element angeheftet werden, der Wikistil nimmt das, was er zuerst auf der Zeile findet. In diesem Fall wird es an den Verweis [[ {*$FullName} | $[View] ]] angeheftet.

Tastaturkürzel (Accesskey)

Ein Tastaturkürzel kann an verschiedenen Stellen definiert werden, aber im Wesentlichen passiert es in einer Phrasenübersetzung, die dem Modell für die Internationalisierung folgt. PmWikis Tastaturkürzel werden in der Datei scripts/prefs.php definiert, können aber an vielen Stellen überschrieben werden, einschließlich Oberflächen (skins), Sprachübersetzungsseiten (XLPage) und sogar durch Browser-Einstellungen (siehe Site.Preferences).

Das $[...]-Markup definiert die Phrasenübersetzung, die für die Internationalisierung (und Tastaturkürzel, wie oben bemerkt) zuständig ist. In der ersten Zeile der Site.PageActions-Seite wird es sowohl in $[ak_view] als auch in $[View] eingesetzt. $[View] weist PmWiki an, die Übersetzung von 'View' einzusetzen, im deutschen also 'Ansehen', der erste Eintrag in der Reihe. Wenn es keine Übersetzung gibt, wird die Phrase innerhalb der eckigen Klammern selbst eingesetzt. $[ak_view] setzt das Tastaturkürzel ein.

Man kann bei der deutschen Oberfläche gut sehen, wie diese Übersetzung arbeitet. In der Aktionsleiste stehen die Wörter 'Ansehen', 'Bearbeiten', 'Versionen' und 'Druckansicht' für 'View', 'Edit', 'History' und 'Print'. In der Datei PmWikiDe.XLPage findet sich dazu ein Abschnitt —

— in dem diese Übersetzung definiert wird. Wenn Sie französisch oder spanisch können, überzeugen Sie sich, dass das auch mit anderen Sprachen funktioniert.

Das macht es sehr einfach für PmWiki, diverse Sprachen zu unterstützen, da ein Rezept-Autor einfach alle übersetzbaren Phrasen ins Innere von $[...] schreibt und es anderen überlässt, die Übersetzungstabellen zu schreiben, entweder lokal oder in pmwiki.org zum Nutzen auch anderer. Weitere Informationen zu $[...] sind verfügbar in Internationalisierungen.

Verweis (Link)

Alles was auf der ersten Zeile zu erklären übrig bleibt, ist der Verweis selbst: [[&nbsp;{*$FullName}&nbsp;|&nbsp;$[View]&nbsp;]]. Verweise sind nicht komplex, aber ausgerechnet dieser hier benutzt gleich zwei der Fähigkeiten von PmWiki, die Übersetzungstabelle und eine Seitenvariable. Das $[View] ist schon erklärt und taucht hier auf in dem Verweistextteil des Verweises (rechts vom Pipesymbol '|'), so dass der Verweis als Visualizar erscheint.

Der Linkzielteil (links von Pipesymbol '|') enthält die {*$FullName}-Variable. Diese Variable wird ersetzt durch den vollen Namen der Seite, die im Browser gerade angesehen wird, einschließlich Gruppen- und Seitennamen. Für einfaches Ansehen ist das gut genug, denn Seiten-Ansehen ist die Standardaktion, die man mit einer Seite machen kann. Spätere Zeilen enthalten Ziele wie {*$FullName}?action=edit, dieser bedeutet, dass die gerade angesehene Seite bearbeitet werden soll.

If

Damit ist erklärt, was es mit allen diesen '*'-Zeilen auf sich hat. Das lässt noch die ['@