From 46d295eff558e247b05e61038bd82d5c5b8155a7 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Thu, 14 Oct 2010 13:38:27 +0200 Subject: Sync with ikiwiki 3.20100926. --- ikiwiki/directive/aggregate.mdwn | 63 ++++++++++++ ikiwiki/directive/brokenlinks.mdwn | 16 +++ ikiwiki/directive/calendar.mdwn | 62 +++++++++++ ikiwiki/directive/color.mdwn | 26 +++++ ikiwiki/directive/comment.mdwn | 42 ++++++++ ikiwiki/directive/cutpaste.mdwn | 56 ++++++++++ ikiwiki/directive/date.mdwn | 18 ++++ ikiwiki/directive/edittemplate.mdwn | 38 +++++++ ikiwiki/directive/format.mdwn | 30 ++++++ ikiwiki/directive/fortune.mdwn | 9 ++ ikiwiki/directive/graph.mdwn | 25 +++++ ikiwiki/directive/haiku.mdwn | 17 +++ ikiwiki/directive/if.mdwn | 50 +++++++++ ikiwiki/directive/img.mdwn | 42 ++++++++ ikiwiki/directive/inline.mdwn | 135 ++++++++++++++++++++++++ ikiwiki/directive/linkmap.mdwn | 31 ++++++ ikiwiki/directive/listdirectives.mdwn | 22 ++++ ikiwiki/directive/map.mdwn | 24 +++++ ikiwiki/directive/meta.mdwn | 188 ++++++++++++++++++++++++++++++++++ ikiwiki/directive/more.mdwn | 19 ++++ ikiwiki/directive/orphans.mdwn | 17 +++ ikiwiki/directive/pagecount.mdwn | 12 +++ ikiwiki/directive/pagestats.mdwn | 41 ++++++++ ikiwiki/directive/pagetemplate.mdwn | 14 +++ ikiwiki/directive/ping.mdwn | 20 ++++ ikiwiki/directive/poll.mdwn | 29 ++++++ ikiwiki/directive/polygen.mdwn | 12 +++ ikiwiki/directive/postsparkline.mdwn | 47 +++++++++ ikiwiki/directive/progress.mdwn | 19 ++++ ikiwiki/directive/shortcut.mdwn | 11 ++ ikiwiki/directive/sparkline.mdwn | 59 +++++++++++ ikiwiki/directive/table.mdwn | 54 ++++++++++ ikiwiki/directive/tag.mdwn | 39 +++++++ ikiwiki/directive/template.mdwn | 86 ++++++++++++++++ ikiwiki/directive/testpagespec.mdwn | 26 +++++ ikiwiki/directive/teximg.mdwn | 25 +++++ ikiwiki/directive/toc.mdwn | 29 ++++++ ikiwiki/directive/toggle.mdwn | 38 +++++++ ikiwiki/directive/version.mdwn | 13 +++ 39 files changed, 1504 insertions(+) create mode 100644 ikiwiki/directive/aggregate.mdwn create mode 100644 ikiwiki/directive/brokenlinks.mdwn create mode 100644 ikiwiki/directive/calendar.mdwn create mode 100644 ikiwiki/directive/color.mdwn create mode 100644 ikiwiki/directive/comment.mdwn create mode 100644 ikiwiki/directive/cutpaste.mdwn create mode 100644 ikiwiki/directive/date.mdwn create mode 100644 ikiwiki/directive/edittemplate.mdwn create mode 100644 ikiwiki/directive/format.mdwn create mode 100644 ikiwiki/directive/fortune.mdwn create mode 100644 ikiwiki/directive/graph.mdwn create mode 100644 ikiwiki/directive/haiku.mdwn create mode 100644 ikiwiki/directive/if.mdwn create mode 100644 ikiwiki/directive/img.mdwn create mode 100644 ikiwiki/directive/inline.mdwn create mode 100644 ikiwiki/directive/linkmap.mdwn create mode 100644 ikiwiki/directive/listdirectives.mdwn create mode 100644 ikiwiki/directive/map.mdwn create mode 100644 ikiwiki/directive/meta.mdwn create mode 100644 ikiwiki/directive/more.mdwn create mode 100644 ikiwiki/directive/orphans.mdwn create mode 100644 ikiwiki/directive/pagecount.mdwn create mode 100644 ikiwiki/directive/pagestats.mdwn create mode 100644 ikiwiki/directive/pagetemplate.mdwn create mode 100644 ikiwiki/directive/ping.mdwn create mode 100644 ikiwiki/directive/poll.mdwn create mode 100644 ikiwiki/directive/polygen.mdwn create mode 100644 ikiwiki/directive/postsparkline.mdwn create mode 100644 ikiwiki/directive/progress.mdwn create mode 100644 ikiwiki/directive/shortcut.mdwn create mode 100644 ikiwiki/directive/sparkline.mdwn create mode 100644 ikiwiki/directive/table.mdwn create mode 100644 ikiwiki/directive/tag.mdwn create mode 100644 ikiwiki/directive/template.mdwn create mode 100644 ikiwiki/directive/testpagespec.mdwn create mode 100644 ikiwiki/directive/teximg.mdwn create mode 100644 ikiwiki/directive/toc.mdwn create mode 100644 ikiwiki/directive/toggle.mdwn create mode 100644 ikiwiki/directive/version.mdwn (limited to 'ikiwiki') diff --git a/ikiwiki/directive/aggregate.mdwn b/ikiwiki/directive/aggregate.mdwn new file mode 100644 index 0000000..3a4ce7f --- /dev/null +++ b/ikiwiki/directive/aggregate.mdwn @@ -0,0 +1,63 @@ +Die `aggregate`-Anweisung wird durch die [[!iki plugins/aggregate +desc=aggregate]]-Erweiterung zur Verfügung gestellt. Diese Erweiterung +erfordert zusätzliche Konfiguration, insbesondere einen cron-Job. Für +Details siehe die Dokumentation der Erweiterung. + +Diese Anweisung erlaubt es, Inhalt von anderen Feeds in diesem Wiki +gesammelt zur Verfügung zu stellen. Dies funktioniert wie folgt: + + \[[!aggregate name="Beispiel-Blog" dir="beispiel" + feedurl="http://beispiel.de/index.rss" + url="http://beispiel.de/" updateinterval="15"]] + +In diesem Beispiel werden Beiträge aus dem angegebenen RSS-Feed +eingesammelt, und zwar nicht öfter als alle 15 Minuten (möglicherweise aber +seltener, wenn der cron-Job seltener läuft), und dann als eine Seite pro +Beitrag im Verzeichnis `beispiel/` des Wikis gespeichert. + +Man kann dann ikiwikis [[inline]]-Anweisun nutzen, um einen Blog aus einem +oder mehreren eingesammelten Feeds zu erstellen. Zum Beispiel: + + \[[!inline pages="internal(beispiel/*)"]] + +Dabei ist es wichtig, `internal()` in der [[ikiwiki/PageSpec]] zur Erfassung +der eingesammelten Seiten zu verwenden. Diese werden standardmäßig als +interne Seiten gespeichert: Dies verhindert, dass sie direkt im Wiki +auftauchen. Deshalb ist diese spezielle [[ikiwiki/PageSpec]] nötig, um sie +zu erfassen. + +## Verwendung + +Hier die Beschreibung aller unterstützter Parameter der +`aggregate`-Anweisung: + +* `name` - Ein Name für den Feed. Jeder Feed muss einen nur einmal + vergebenen Namen haben. Erforderlich. +* `url` - Die URL mit der Webseite des Feeds, der eingesammelt werden + soll. Erforderlich. +* `dir` - Das Verzeichnis im Wiki, in dem die Seiten gespeichert werden + sollen. Optional, wenn nicht angegeben, wird der Verzeichnisname vom Namen + des Feeds abgeleitet. +* `feedurl` - Die URL des Feeds. Optional, wenn nicht angegeben, sucht + ikiwiki in unter der `url` nach feeds. Unterstützt werden RSS- und + Atom-Feeds. +* `updateinterval` - Wie oft nach neuen Beiträgen geschaut werden + soll. Voreingestellt sind 15 Minuten. +* `expireage` - Entferne alte Einträge aus diesem Feed, wenn sie älter sind + als die angegebene Anzahl von Tagen. Voreingestellt ist, niemals Einträge + aufgrund ihres Alters zu entfernen. +* `expirecount` - Entferne alte Einträge aus diesem Feed, wenn es insgesamt + mehr als die angegebene Anzahl von Beiträgen gibt. Die ältesten Einträge + werden zuerst entfernt. Voreingestellt ist, niemals Einträge aufgrund der + Anzahl zu entfernen. +* `tag` - Ein Tag, mit dem alle Beiträge dieses Feeds versehen werden. Gut + eignet sich der Name des Feeds. Kann mehrmals angegeben werden. Die + [[tag]]-Erweiterung muss aktiviert sein, damit dies funktioniert. +* `template` - Vorlage, die bei der Erstellung der eingesammelten Seiten + verwendet wird. Voreingestellt ist `aggregatepost`. + +Dabei ist zu beachten, dass die beim Einsammeln erstellten Seiten nicht in +der Versionsverwaltung registriert werden, selbst wenn subversion oder ein +anderes solches System verwendet wird. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/brokenlinks.mdwn b/ikiwiki/directive/brokenlinks.mdwn new file mode 100644 index 0000000..6f3cdc9 --- /dev/null +++ b/ikiwiki/directive/brokenlinks.mdwn @@ -0,0 +1,16 @@ +Die `brokenlinks`-Anweisung wird durch die [[!iki plugins/brokenlinks +desc=brokenlinks]]-Erweiterung bereitgestellt. + +Diese Anweisung erzeugt eine Liste aller defekter Links im Wiki. Dies ist +ein nützlicher Weg zu erfahren, welche Seiten noch geschrieben werden müssen +und welche Links Fehler enthalten. + +Der optionale Parameter `pages` kann eine [[ikiwiki/PageSpec]] enthalten, +die angibt welche Seiten nach defekten Links durchsucht werden +sollen. Standardmäßig werden alle durchsucht. + +Beispiel: + + \[[!brokenlinks pages="* and !recentchanges"]] + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/calendar.mdwn b/ikiwiki/directive/calendar.mdwn new file mode 100644 index 0000000..6dfd3c4 --- /dev/null +++ b/ikiwiki/directive/calendar.mdwn @@ -0,0 +1,62 @@ +Die `calendar`-Anweisung wird durch die [[!iki plugins/calendar +desc=calendar]]-Erweiterung bereitgestellt. + +Diese Anweisung zeigt einen Kalender, ähnlich denen, die auf manchen Blogs +angezeigt werden. + +# Beispiele + + \[[!calendar ]] + + \[[!calendar type="month" pages="blog/* and !*/Discussion"]] + + \[[!calendar type="year" year="2005" pages="blog/* and !*/Discussion"]] + +## Einrichtung + +Der Kalender ist im Wesentlichen eine schicke Schnittstelle zu einem Archiv +mit früheren Seiten und wird normalerweise für Blogs verwendet. Er kann +einen Kalender für einen angegebenen Monat erzeugen, oder eine Liste der +Monate eines angegebenen Jahres. Der Kalender im Jahresformat enthält +einfach Links zu den Archivseiten mit Namen wie `archiv/2007` (für ganz +2007) und `archiv/2007/01` (für Januar 2007). + +Während `calendar`-Anweisungen überall im Wiki verwendet werden können, auch +in der Sidebar, muss man auch die Archiv-Seiten anlegen. Dort wird +typischerweise diese Anweisung verwendet, um einen Kalender anzuzeigen, und +außerdem die Seiten aus dem entsprechenden Zeitraum über [[inline]] +eingebunden. + +The `ikiwiki-calendar` command can be used to automatically generate the +archive pages. It also refreshes the wiki, updating the calendars to +highlight the current day. This command is typically run at midnight from +cron. + +Ein Beispiel-Eintrag in crontab: + + 0 0 * * * ikiwiki-calendar ~/ikiwiki.setup "posts/* and !*/Discussion" + +## Verwendung + +* `type` - Hiermit wird die Art des zu erzeugenden Kalenders angegeben. Kann + entweder "month" oder "year" sein. Vorgeingestellt ist die Monatsansicht. +* `pages` - Gibt die [[ikiwiki/PageSpec]] der Seiten an, auf die aus dem + Monatskalender verwiesen werden soll. Voreingestellt ist "*". +* `archivebase` - Configures the base of the archives hierarchy. The + default is "archives". Note that this default can also be overridden for + the whole wiki by setting `archivebase` in ikiwiki's setup file. + Calendars link to pages under here, with names like "2010/04" and + "2010". These pages can be automatically created using the + `ikiwiki-calendar` program. +* `year` - The year for which the calendar is requested. Defaults to the + current year. Can also use -1 to refer to last year, and so on. +* `month` - The numeric month for which the calendar is requested, in the + range 1..12. Used only for the month view calendar, and defaults to the + current month. Can also use -1 to refer to last month, and so on. +* `week_start_day` - Eine Zahl aus dem Bereich 0 bis 6, die den Wochentag + angibt, mit dem ein Monatskalender anfängt. 0 ist Sonntag, 1 ist Montag, + und so weiter. Voreingestellt ist 0, also Sonntag. +* `months_per_row` - In the year calendar, number of months to place in each + row. Defaults to 3. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/color.mdwn b/ikiwiki/directive/color.mdwn new file mode 100644 index 0000000..0bf93d2 --- /dev/null +++ b/ikiwiki/directive/color.mdwn @@ -0,0 +1,26 @@ +Die `color`-Anweisung wird durch die [[!iki plugins/color +desc=color]]-Erweiterung bereitgestellt. + +Diese Anweisung kann verwendet werden, um ein Stück Text auf einer Seite zu +färben. Sie kann die Schrift- und/oder Hintergrundfarbe verändern. + +Man kann einen Farbnamen (z.B. `white`) oder HTML-Code (z.B. `#ffffff`) +verwenden, um eine Farbe zu definieren. + +## Beispiele + +Hier wird die Schriftfarbe durch ein Wort und die Hintergrundfarbe durch +eine HTML-Farbe definiert: + + \[[!color foreground=white background=#ff0000 text="Weißer Text auf rotem Hintergrund"]] + +Die Hintergrundfarbe fehlt, also wird der Text auf dem Standardhintergrund +dargestellt: + + \[[!color foreground=white text="Weißer Text auf Hintergrund in Standardfarbe"]] + +Die Schriftfarbe fehlt, also wird hierfür die Standardfarbe verwendet: + + \[[!color background=#ff0000 text="Schrift in Standardfarbe auf rotem Hintergrund"]] + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/comment.mdwn b/ikiwiki/directive/comment.mdwn new file mode 100644 index 0000000..8a9fe62 --- /dev/null +++ b/ikiwiki/directive/comment.mdwn @@ -0,0 +1,42 @@ +Die `comment`-Anweisung wird durch die [[!iki plugins/comments +desc=comments]]-Erweiterung bereitgestellt, und wird zum Hinzufügen von +Kommentaren zu einer Seite verwendet. Typischerweise ist diese Anweisung das +Einzige auf einer Kommentarseite, und wird von der comment-Erweiterung +ausgefüllt, wenn ein Benutzer einen Kommentar veröffentlicht. + +Beispiel: + + \[[!comment format=mdwn + username="foo" + subject="Bar" + date="2009-06-02T19:05:01Z" + content=""" + Bla bla. + """ + ]] + +## Verwendung + +Der einzige erforderliche Parameter ist `content`, die übrigen fügen nur +Metadaten zu dem Kommentar hinzu oder ändern diese. + +* `content` - Text, der in diesem Kommentar angezeigt werden + soll. [[Anweisungen|ikiwiki/directive]] sind hier unter Umständen nicht + erlaubt, abhängig von der Konfiguration der comment-Erweiterung. +* `format` - Gibt die Formatierungssprache an, die für den Inhalt verwendet + wird. +* `subject` - Betreff des Kommentars. +* `date` - Datum, an dem der Kommentar veröffentlicht wurde. Kann in beinahe + beliebigem Format angegeben werden, da es von [[!cpan TimeDate]] + ausgewertet wird. +* `username` - Hier wird der Benutzername (oder die OpenID) eines + angemeldeten Kommentators gespeichert. +* `nickname` - Name to display for a logged in commenter. (Optional; used + for OpenIDs.) +* `ip` - Hier kann die IP-Adresse eines Kommentators gespeichert werden, + wenn der Kommentar anonym abgegeben wurde. +* `claimedauthor` - Speichert den Namen, den der Benutzer angegeben hat, + wenn anonyme Kommentatoren ihren (nicht verifizierten) Namen angeben + dürfen. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/cutpaste.mdwn b/ikiwiki/directive/cutpaste.mdwn new file mode 100644 index 0000000..c3fd548 --- /dev/null +++ b/ikiwiki/directive/cutpaste.mdwn @@ -0,0 +1,56 @@ +Die `copy`- `cut`- und `paste`-Anweisungen werden durch die [[!iki +plugins/cutpaste desc=cutpaste]]-Erweiterung bereitgestellt. + +Mit diesen Anweisungen kann man Textabschnitte innerhalb einer Seite +speichern und wieder abrufen: + + * `\[[!cut id=name text="text"]]` merkt sich den Text und erlaubt es, ihn + über die angegebene id wieder abzurufen. Der Text taucht an dieser Stelle + nicht in der Ausgabe auf. + * `\[[!copy id=name text="text"]]` merkt sich den Text und erlaubt es, ihn + über die angegebene id wieder abzurufen. Der Text *wird* an dieser Stelle + ausgegeben. + * `\[[!paste id=name]]` wird durch den zuvor gemerkten Text ersetzt. + +Der ausgeschnittene, kopierte und eingefügte Text kann beliebige +Wiki-Formatierungsanweisungen enthalten, inklusive weiterer Aufrufe von +`cut`, `copy` und `paste`. + +Man muss sich einen Text nicht vor seiner Verwendung merken: Eine +`cut`-Anweisung kann auch erst nach der `paste`-Anweisung kommen, die ihren +Text verwendet. Dies ist ein durchaus nützlich, um größere Blöcke von Text +wie lange Anmerkungen erst später anzugeben und so für einen natürlicheren +Textfluss zu sorgen. Zum Beispiel: + + \[[!toggleable id="cut" text="[[!paste id=beschreibungcut]]"]] + \[[!toggleable id="copy" text="[[!paste id=beschreibungcopy]]"]] + \[[!toggleable id="paste" text="[[!paste id=beschreibungpaste]]"]] + + [… und später …] + + \[[!cut id=beschreibungcut text=""" + bla bla bla + """]] + \[[!cut id=beschreibungcopy text=""" + bla bla bla + """]] + \[[!cut id=beschreibungpaste text=""" + bla bla bla + """]] + +Auf diese Weise können möglicherweise Schleifen erzeugt werden, aber ikiwiki +ist schlau und bricht diese auf. + +Da man `paste` ohne Anführungszeichen verwenden kann, können mit `copy` und +`paste` Anweisungen ineinander geschachtelt werden, die mehrzeilige +Parameter benötigen: + + \[[!toggleable id=foo text=""" + [[!toggleable id=bar text="[[!paste id=baz]]"]] + """]] + + \[[!cut id=baz text=""" + mehrzeiliger Parameter! + """]] + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/date.mdwn b/ikiwiki/directive/date.mdwn new file mode 100644 index 0000000..943d181 --- /dev/null +++ b/ikiwiki/directive/date.mdwn @@ -0,0 +1,18 @@ +Die `date`-Anweisung wird durch die [[!iki plugins/date +desc=date]]-Erweiterung bereitgestellt. + +Diese Anweisung kann verwendet werden, um ein Datum auf einer Seite +anzuzeigen, und verwendet dieselbe Methode, die auch zur Anzeige des Datums +der letzten Änderung im Seitenfuß und anderer Daten im Wiki verwendet +wird. Dies ist nützlich für die Konsistenz der Ausgabe, oder wenn der +Seitenquelltext ein maschinenlesbares Datum enthalten soll. + +Wie auch in der [[meta]]-Anweisung kann das Datum in nahezu beliebigem +Format angegeben werden, da es durch [[!cpan TimeDate]] interpretiert wird. + +Zum Beispiel könnte eine Seite mit eingebettetem Zeitstempel folgendermaßen +aussehen: + + Aktualisiert \[[!date "Wed, 25 Nov 2009 01:11:55 -0500"]]: murmel murmel + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/edittemplate.mdwn b/ikiwiki/directive/edittemplate.mdwn new file mode 100644 index 0000000..29ff4c9 --- /dev/null +++ b/ikiwiki/directive/edittemplate.mdwn @@ -0,0 +1,38 @@ +Die `edittemplate`-Anweisung wird durch die [[!iki plugins/edittemplate +desc=edittemplate]]-Erweiterung bereitgestellt. + +Diese Anweisung erlaubt es, Vorlagen-Seiten zu registrieren, die einen +Standardinhalt für neue Seiten bereitstellen, die über das Webfrontend +angelegt werden. Um eine Vorlage zu registrieren, fügt man eine +[[ikiwiki/directive/template]]-Anweisung auf einer anderen Seite ein. + + \[[!edittemplate template="bugtemplate" match="bugs/*"]] + +Im obigen Beispiel wird die Seite mit Namen "bugtemplate" für alle Seiten +als Vorlage registriert, die mit Namen "bugs/*" angelegt werden. Um den +Hinweis über die Registrierung der Vorlage zu unterdrücken, kann man +`silent=yes` hinzufügen. + +Oft enthält eine Vorlagen-Seite ein einfaches Skelett für einen bestimmten +Seitentyp. Für die Fehlerberichte aus dem obigen Beispiel könnte sie +folgendermaßen aussehen: + + Paket: + Version: + Reproduzierbar: ja/nein + Details: + +The template page can also contain [[!cpan HTML::Template]] directives, +like other ikiwiki [[templates]]. Currently only one variable is +set: `` is replaced with the name of the page being +created. + +---- + +It's generally not a good idea to put the `edittemplate` directive in the +template page itself, since the directive would then be included as part of +the template on new pages, which would then in turn be registered as +templates. If multiple pages are registered as templates for a new page, an +arbitrary one is chosen, so that could get confusing. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/format.mdwn b/ikiwiki/directive/format.mdwn new file mode 100644 index 0000000..88ff317 --- /dev/null +++ b/ikiwiki/directive/format.mdwn @@ -0,0 +1,30 @@ +Die `format`-Anweisung wird durch die [[!iki plugins/format +desc=format]]-Erweiterung bereitgestellt. + +Die Anweisung erlaubt es, einen Textabschnitt mit einem beliebigen +Seitenformat zu formatieren. Sie hat zwei Parameter. Der erste ist das zu +verwendende Seitenformat – also die Erweiterung, die für eine +eigenständige Seite dieses Typs verwendet würde. Der zweite ist der zu +formatierende Text. + +Zum Beispiel bettet dies eine otl-Gliederung in eine Seite ein, die mdwn +oder ein anderes Format verwendet: + + \[[!format otl """ + foo + 1 + 2 + bar + 3 + 4 + """]] + +Wenn die highlight-Erweiterung installiert ist, kann diese Anweisung auch +zur Anzeige von Programmcode mit Syntaxhervorhebung verwendet werden. Viele +Sprachen und Formate werden unterstützt. Zum Beispiel: + + \[[!format perl """ + print "hello, world\n"; + """]] + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/fortune.mdwn b/ikiwiki/directive/fortune.mdwn new file mode 100644 index 0000000..a2869ea --- /dev/null +++ b/ikiwiki/directive/fortune.mdwn @@ -0,0 +1,9 @@ +Die `fortune`-Anweisung wird durch die [[!iki plugins/fortune +desc=fortune]]-Erweiterung bereitgestellt. + +Sie verwendet einfach das Programm `fortune`, um einen Spruch +(engl. *fortune cookie*) in die Seite einzubinden. Verwendung: + + \[[!fortune ]] + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/graph.mdwn b/ikiwiki/directive/graph.mdwn new file mode 100644 index 0000000..0e99797 --- /dev/null +++ b/ikiwiki/directive/graph.mdwn @@ -0,0 +1,25 @@ +Die `graph`-Anweisung wird durch die [[!iki plugins/graphviz +desc=graphviz]]-Erweiterung bereitgestellt. + +Diese Anweisung erlaubt es, von [graphviz](http://www.graphviz.org/) +erzeugte Graphen in eine Seite einzubinden. Verwendungsbeispiel: + + \[[!graph src="a -> b -> c; a -> c;"]] + +Zu beachten ist, dass der Graph nur dann in der Vorschau auftaucht, wenn der +verwendete Browser [[!wikipedia data: URI]] unterstützt, oder wenn derselbe +Graph bereits auf der Seite existiert. + +Die `graph`-Anweisung unterstützt die folgenden Parameter: + +- `src` - Der graphviz-Quelltext des zu erzeugenden Graphen. +- `type` - Die Art des zu erzeugenden Graphen: `graph` oder + `digraph`. Voreingestellt ist `digraph`. +- `prog` - Das graphviz-Programm, mit dem der Graph erzeugt werden soll: + `dot`, `neato`, `fdp`, `twopi` oder `circo`. Voreingestellt ist `dot`. +- `height`, `width` - Begrenzt die Größe des erzeugten Graphen durch die in + Inch angegebene Höhe und Breite. Es müssen beide angegeben werden, um die + Größe zu beschränken, graphviz sucht sich sonst selbst eine Größe aus, + ohne jede Beschränkung. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/haiku.mdwn b/ikiwiki/directive/haiku.mdwn new file mode 100644 index 0000000..d5b1807 --- /dev/null +++ b/ikiwiki/directive/haiku.mdwn @@ -0,0 +1,17 @@ +Die `haiku`-Anweisung wird durch die [[!iki plugins/haiku +desc=haiku]]-Erweiterung bereitgestellt. + +Diese Anweisung erlaubt es, ein zufällig erzeugtes Haiku in eine Wiki-Seite +einzufügen. Dafür genügt: + + \[[!haiku hint="argument"]] + +[[!haiku hint="argument test"]] + +Der `hint`-Parameter kann weggelassen werden, er gibt dem Generator nur +einen Hinweis, worüber er das Haiku schreiben soll. Wenn kein solcher +Hinweis gegeben wird, könnte er den Seitennamen verwenden. Da das ihm +bekannte Vokabular sehr klein ist, werden viele Hinweise das Ergebnis in +keiner Weise beeinflussen. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/if.mdwn b/ikiwiki/directive/if.mdwn new file mode 100644 index 0000000..6f9ec46 --- /dev/null +++ b/ikiwiki/directive/if.mdwn @@ -0,0 +1,50 @@ +Die `if`-Anweisung wird durch die [[!iki plugins/conditional +desc=conditional]]-Erweiterung bereitgestellt. + +Mit dieser Anweisung kann die Anzeige von Text an bestimmte Bedingungen +geknüpft werden. Zum Beispiel: + + \[[!if test="enabled(smiley)" + then="Die smiley-Erweiterung ist aktiviert :-)" + else="Hier gibt es keine smiley-Erweiterung …"]] + +Wenn der angegebene `test` erfolgreich ist, wird der `then`-Text angezeigt, +sonst der `else`-Text. Der `else`-Teil ist optional. + +Die Werte für `then` und `else` können beliebige Formatierungsanweisungen +enthalten, die außerhalb der Anweisung erlaubt wären. Werten die Werte durch +dreifache Anführungszeichen abgetrennt, können sie sogar Anführungszeichen +enthalten. + +Der `test` ist eine [[ikiwiki/PageSpec]]; wenn sie auf irgendeine Seite im +Wiki passt, hat der Test Erfolg. Dadurch kann man die Existenz einer oder +mehrerer Seiten überprüfen, überprüfen ob in einem bestimmten Monat Seiten +angelegt wurden, und so weiter. + +Wenn die [[ikiwiki/PageSpec]] nur auf die aktuelle Seite angewendet werden +soll, die die Bedingung enthält (und nicht auf alle Seiten im Wiki), kann +der optionale `all`-Parameter auf `no` gesetzt werden. + +In einer `if`-Anweisung sind neben der regulären [[ikiwiki/PageSpec]]-Syntax +die folgenden zusätzlichen Test verfügbar: + +* enabled(plugin) + + Prüft, ob die angegebene Erweiterung aktiviert ist. + +* sourcepage(glob) + + Prüft, ob das angegebene Muster auf den Namen der Seite passt, die die + Bedingung enthält. + +* destpage(glob) + + Prüft, ob das Muster auf den namen der Seite passt, die gerade erzeugt + wird. Dies kann ein anderer Name sein als der der Seite, die die Bedingung + enthält, wenn diese über [[inline]] in eine andere Seite eingebunden wird. + +* included() + + Prüft, ob die Seite gerade in eine andere eingebunden wird. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/img.mdwn b/ikiwiki/directive/img.mdwn new file mode 100644 index 0000000..fb64146 --- /dev/null +++ b/ikiwiki/directive/img.mdwn @@ -0,0 +1,42 @@ +Die `img`-Anweisung wird durch die [[!iki plugins/img desc=img]]-Erweiterung +bereitgestellt. + +Diese Anweisung verarbeitet Bilder. Während ikiwiki das Einbinden von +Bildern in voller Größe durch einen [[ikiwiki/WikiLink]] auf das Bild +unterstützt, kann man mit dieser Anweisung ein Bild einfach +herunterskalieren, um es in eine Seite einzubinden, und einen Link auf das +Bild in Originalgröße setzen. + +## Verwendung + + \[[!img image1.jpeg size="200x200" alt="Wolken"]] + +Diese Bilddatei wird nach den gleichen Regeln gesucht wie das Ziel eines +[[ikiwiki/WikiLink]]. + +Der Parameter `size` ist optional, voreingestellt ist die volle Größe. Das +Seitenverhältnis des Originalbildes wird immer bewahrt, auch wenn das Bild +dadurch kleiner wird als angegeben. Man kann auch nur die Breite oder nur +die Höhe angeben, dann wird der jeweils andere Wert automatisch berechnet: +`200x`, `x200`. + +You can also pass `alt`, `title`, `class`, `align`, `id`, `hspace`, and +`vspace` parameters. These are passed through unchanged to the html img +tag. If you include a `caption` parameter, the caption will be displayed +centered beneath the image. + +Der Parameter `link` steuert, ob herunterskalierte Bilder mit dem +Originalbild verlinkt werden. In der Voreinstellung ist dies der Fall; mit +`link=AndereSeite` zeigt der Link auf eine andere Seite, mit `link=no` wird +der Link deaktiviert, mit `link=http://url` zeigt er auf die angegebene URL. + +Man kann auch die Voreinstellung für die weiter unten auf der Seite +eingebundenen Bilder verändern. Dies ist nützlich, wenn es auf einer Seite +viele Bilder gibt. + + \[[!img defaults size=200x200 alt="Hochzeitsfoto"]] + \[[!img photo1.jpg]] + \[[!img photo2.jpg]] + \[[!img photo3.jpg size=200x600]] + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/inline.mdwn b/ikiwiki/directive/inline.mdwn new file mode 100644 index 0000000..9487937 --- /dev/null +++ b/ikiwiki/directive/inline.mdwn @@ -0,0 +1,135 @@ +Die `inline`-Anweisung wird durch die [[!iki plugins/inline +desc=inline]]-Erweiterung bereitgestellt. + +Diese Anweisung erlaubt das Einbinden einer Wiki-Seite in eine andere. Die +häufigste Verwendung ist das Erzeugen von Blogs und RSS- oder Atom-Feeds. + +Beispiel: + + \[[!inline pages="blog/* and !*/Discussion" show="10" rootpage="blog"]] + +Es wird jede Seite Teil des Blogs, die auf die angegebene [[PageSpec]] passt +(im Beispiel jede [[Unterseite|subpage]] von "blog"), und die zehn neusten +davon erscheinen auf der Seite. Übrigens werden Dateien, die keine Seiten +sind und auf die [[PageSpec]] passen, als RSS-Einbettungen Teil des Feeds: +Dies ist nützlich für Podcasts. + +Der optionale Parameter `rootpage` teilt dem Wiki mit, dass neue Einträge in +diesem Blog [[Unterseiten|subpage]] von "blog" sein sollen; in diesem Fall +wird ein Formular zum Hinzufügen neuer Beiträge am Anfang der Seite +angezeigt. + +Wenn es zu einem Blog eine Archivseite mit allen bisherigen Einträgen geben +soll, kann dies wie folgt erreicht werden: + + \[[!inline pages="blog/* and !*/Discussion" archive="yes"]] + +Mit dem folgenden Code kann man sogar eine automatisch erzeugte Liste mit +allen Seiten des Wikis erstellen (die neuesten erscheinen oben): + + \[[!inline pages="* and !*/Discussion" archive="yes"]] + +Es ist auch möglich, dass Seiten durch das Hinzufügen eines Tags Teil des +Blogs werden. Hierzu kann auf der betreffenden Seite einfach ein Link auf +die Seite (oder die Seiten) erstellt, die die Tags repräsentieren. Dann kann +die spezielle `link()`-[[PageSpec]] verwendet werden, um alle Seiten mit +einem gegebenen Tag zu erfassen: + + \[[!inline pages="link(life)"]] + +Es ist auch möglich, bestimmte Tags inzuschließen, während andere +ausgeschlossen werden: + + \[[!inline pages="link(debian) and !link(social)"]] + +## Verwendung + +Es gibt viele Parameter, die man mit der `inline`-Anweisung verwenden +kann. Dies sind die am häufigsten benutzten: + +* `pages` - Eine [[PageSpec]] der einzubindenden Seiten. +* `show` - Gibt die maximale Anzahl von Seiten an, die eingebunden werden + sollen. Voreingestellt sind 10, außer wenn archiviert wird, dass sind es + alle. Ist der Wert 0, werden alle passenden Seiten angezeigt. +* `archive` - Hat dieser Parameter den Wert `yes`, werden nur der Titel und + einige Metadaten angezeigt, aber nicht der komplette Inhalt. +* `description` - Setzt die Beschreibung des RSS-Feeds, wenn einer erzeugt + wird. Voreingestellt ist der Name des Wikis. +* `skip` - Gibt die Anzahl von Seiten an, die bei der Anzeige übersprungen + werden. Dies kann nützlich sein, um einen Feed zu erstellen, der nur + archivierte Seiten enthält. +* `postform` - Bei dem Wert `yes`, wird ein Formular zum Erstellen neuer + Einträge in dem Blog angezeigt. +* `postformtext` - Gibt an, welcher Text im 'postform' angezeigt wird. +* `rootpage` - Aktiviert `postform` und erlaubt gleichzeitig die Kontrolle + darüber, wo neu erstellte Seiten landen sollen, indem eine Seite angegeben + wird, deren [[Unterseite|subpage]] die neuen Seiten werden sollen. + +Hier sind einige weniger häufig benötigte Parameter: + +* `actions` - Wenn `yes`, füge Links zum Bearbeiten und zur Diskussion am + unteren Ende jeder eingebundenen Seite ein (wenn sie im Kopf der + jeweiligen Seite angezeigt werden würden). +* `rss` - Steuert die Erzeugung eines RSS-Feeds. Wenn das Wiki so + konfiguriert ist, dass es standardmäßig RSS-Feeds erzeugt, kann dies durch + den Wert `no` verhindert werden. Wenn das Wiki RSS erlaubt (`allowrss` in + der Konfigurationsdatei), dann kann der RSS-Feed mit `yes` aktiviert + werden. +* `atom` - Steuert die Erzeugung eines Atom-Feeds. Wenn das Wiki so + konfiguriert ist, dass es standardmäßig Atom-Feeds erzeugt, kann dies + durch den Wert `no` verhindert werden. Wenn das Wiki Atom erlaubt + (`allowatom` in der Konfigurationsdatei), dann kann der Atom-Feed mit + `yes` aktiviert werden. +* `feeds` - Steuert die Erzeugung aller Feed-Typen. Ein Wert von `no` + unterdrückt alle Feeds. +* `emptyfeeds` - Bei `no` werden keine leeren Feeds erzeugt. Dies hat keine + Auswirkung, wenn `rootpage` oder `postform` aktiv sind. +* `template` - Gibt die Vorlage an, die für die Anzeige der einzelnen + eingebundenen Seiten verwendet wird. Voreingestellt ist die + `inlinepage`-Vorlage, für Archive wird `archivepage` verwendet. Es können + auch andere, angepasste Vorlagen verwendet werden, etwa `titlepage` (zeigt + nur die Titel der Blog-Einträge) oder `microblog` (optimiert für + Microblogging). Wenn die angepasste Vorlage den Seiteninhalt nicht + einbindet, kann zusätzlich `archive=yes` gesetzt werden. +* `raw` - Statt des voreingestellten Verhaltens, einen Blog zu erzeugen, + wird bei `raw=yes` die Seite ohne zusätzliches Drumherum eingebunden, als + ob sie ein Teil des Quelltextes der einbindenden Seite wäre. +* `sort` - Steuert wie die eingebundenen Seiten + [[sortiert|pagespec/sorting]] werden. In der Voreinstellung kommen die + zuletzt angelegten Seiten zuerst. +* `reverse` - Bei `yes` wird die Sortierung umgekehrt. +* `feedshow` - Gibt an, wie viele Seiten höchstens in den RSS- und + Atom-Feeds eingebunden werden. Voreingestellt ist der Wert von `show`. +* `feedonly` - Erzeuge nur den Feed, zeige die Seiten nicht eingebettet auf + der Seite an. +* `quick` - Erzeuge Archive im Schnelldurchlauf, ohne im Seiteninhalt nach + Metadaten zu suchen. Dies deaktiviert auch das Erzeugen von Feeds. +* `timeformat` - Hiermit kann gesteuert werden, wie die Zeit oder das Datum + der Blogeinträge dargestellt wird. Der Wert wird an die Funktion + strftime(3) weitergereicht. +* `feedpages` - Eine [[PageSpec]] mit Seiten, die im RSS- bzw. Atom-Feed + auftachen sollen. Voreingestellt ist der Wert von `pages`, und nur Seiten + die darauf passen werden eingebunden, aber einige davon können + ausgeschlossen werden, indem hier eine striktere [[PageSpec]] angegeben + wird. +* `guid` - Wenn hier eine URI angegeben wird (möglicherweise eine UUID mit + Präfix `urn:uuid:`), dann hat der Atom-Feed diese als seine + ``. Voreingestellt ist der Name der Seite, die die inline-Anweisung + enthält. +* `feedfile` - Hiermit kann der Name der Datei verändert werden, die für den + Feed erzeugt wird. Dies ist insbesondere dann nützlich, wenn eine Seite + mehrere Feeds enthält. Zum Beispiel kann man `feedfile=feed` setzen, um + `page/feed.atom` und/oder `page/feed.rss` zu erzeugen. Diese Option ist + nicht verfügbar, wenn das Wiki die Option `usedirs` nicht verwendet. +* `pagenames` - Kann anstelle von `pages` angegeben werden und wird als + Leerzeichen-separierte Liste von Links zu Seiten interpretiert (mit den + gleichen [[Verlinkungsregeln|SubPage/LinkingRules]] wie in einem + [[ikiwiki/WikiLink]]), und werden dann genau in der angegebenen + Reihenfolge eingebunden. Die Parameter `sort` und `pages` können nicht in + Kombination mit diesem verwendet werden. + +[[!meta robots="noindex, follow"]] + +Eine verwandte Anweisung ist die +[[ikiwiki/directive/edittemplate]]-Anweisung, mit der für eine neue Seite +ein voreingestellter Text angegeben werden kann. diff --git a/ikiwiki/directive/linkmap.mdwn b/ikiwiki/directive/linkmap.mdwn new file mode 100644 index 0000000..f89ee17 --- /dev/null +++ b/ikiwiki/directive/linkmap.mdwn @@ -0,0 +1,31 @@ +Die `linkmap`-Anweisung wird durch die [[!iki plugins/linkmap +desc=linkmap]]-Erweiterung bereitgestellt. + +Diese Anweisung verwendet [graphviz](http://www.graphviz.org/), um einen +Graph mit den Links zwischen den Seiten im Wiki zu erstellen. Beispiel: + + \[[!linkmap pages="* and !blog/* and !*/Discussion"]] + +Nur Links zwischen den angegebenen Seiten werden angezeigt; Links die auf +andere Seiten zeigen werden ausgelassen. Wenn die einzuschließenden Seiten +nicht angegeben werden, werden Links zwischen allen Seiten (und anderen +Dateien) im Wiki angezeigt. + +Hier die Beschreibung aller unterstützter Parameter der `linkmap`-Anweisung: + +* `pages` - Eine [[ikiwiki/PageSpec]] der darzustellenden Seiten. +* `height`, `width` - Begrenzt die Größe der erzeugten Graphik auf die (in + Inch) angegebene Breite und Höne. Beide müssen angegeben werden, damit die + Beschränkung wirksam wird. +* `connected` - Steuert ob auch Seiten dargestellt werden, die keinen Link + zu anderen Seiten enthalten (`connected=no`, die Voreinstellung), oder ob + nur Seiten angezeigt werden, die auf andere verlinken (`connected=yes`). + +Um die besten Ergebnisse zu erzielen, sollte nur eine kleine Teilmenge der +Seiten angegeben werden, da die erzeugte Karte sonst groß, unhandlich und +kompliziert wird. Wenn zu viele Seiten angegeben werden, kann die Karte zu +kompliziert werden, als dass graphviz sie noch rendern könnte. Der Parameter +`connected` ist ein guter Weg Seiten loszuwerden, die die Karte +unübersichtlich machen. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/listdirectives.mdwn b/ikiwiki/directive/listdirectives.mdwn new file mode 100644 index 0000000..ca98735 --- /dev/null +++ b/ikiwiki/directive/listdirectives.mdwn @@ -0,0 +1,22 @@ +Die `listdirectives`-Anweisung wird durch die [[!iki plugins/listdirectives +desc=listdirectives]]-Erweiterung bereitgestellt. + +Diese Anweisung erzeugt eine Liste der verfügbaren +[[Anweisungen|ikiwiki/directives]]. + + \[[!listdirectives]] + +Es gibt nur ein optionales Argument, `generated`. Normalerweise zeigt die +`listdirectives`-Anweisung alle eingebauten und alle durch eine Erweiterung +registrierten Anweisungen an. Mit diesem Schlüsselwort zeigt +`listdirectives` auch Anweisungen an, die erst später erzeugt wurden. Zum +Beispiel werden alle [[Abkürzungen|shortcuts]] durch die +`shortcut`-Anweisung erzeugt und werden nur aufgelistet, wenn das Argument +`generated` angegeben wird. + + \[[!listdirectives generated]] + +Diese erweiterte Liste ist oft ziemlich lang und enthält oft viele +undokumentierte Anweisungen. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/map.mdwn b/ikiwiki/directive/map.mdwn new file mode 100644 index 0000000..07ded45 --- /dev/null +++ b/ikiwiki/directive/map.mdwn @@ -0,0 +1,24 @@ +Die `map`-Anweisung wird durch die [[!iki plugins/map desc=map]]-Erweiterung +bereitgestellt. + +Diese Anweisung erzeugt eine hierarchische Liste der Seiten im +Wiki. Beispiel für die Verwendung: + + \[[!map pages="* and !blog/* and !*/Discussion"]] + +Wenn die anzuzeigenden Seiten nicht angegeben werden, kommen alle Seiten +(und andere Dateien) in die Liste. + +In der Voreinstellung werden in der Liste die Namen der Seiten +angezeigt. Mit dem Parameter `show` können stattdessen der Titel (`title`) +oder die Beschreibung (`description`) verwendet werden, die mit der +[[meta]]-Anweisung gesetzt wurden. Zum Beispiel: + + \[[!map pages="* and !blog/* and !*/Discussion" show=title]] + + \[[!map pages="* and !blog/* and !*/Discussion" show=description]] + +Tipp: Um nur Seiten bis zu einer bestimmten Ebene anzuzeigen, kann eine +[[ikiwiki/PageSpec]] wie `pages="* and !*/*/*"` verwendet werden. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/meta.mdwn b/ikiwiki/directive/meta.mdwn new file mode 100644 index 0000000..c9660d7 --- /dev/null +++ b/ikiwiki/directive/meta.mdwn @@ -0,0 +1,188 @@ +Die `meta`-Anweisung wird durch die [[!iki plugins/meta +desc=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. + +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. + + An optional `sortas` parameter will be used preferentially when + [[ikiwiki/pagespec/sorting]] by `meta(title)`: + + \[[!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. + + An optional `sortas` parameter will be used preferentially when + [[ikiwiki/pagespec/sorting]] by `meta(author)`: + + \[[!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. + +* `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. Das Datum kann in + nahezu beliebigem Format angegeben werden, da es durch + [[!cpan TimeDate]] interpretiert wird. + +* `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"]] + +* `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](http://www.windley.com/archives/2007/05/using_xrds.shtml) + 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 [[ikiwiki/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 + [[!iki plugins/htmlscrubber desc=htmlscrubber]]-Erweiterung aktiviert ist, + weil auf diese Weise unsichere Inhalte eingefügt werden können. + +* `redir` + + Lässt die Seite auf eine andere Seite im Wiki weiterleiten. + + \[[!meta redir=andereseite]] + + Es kann optional eine Verzögerung (`delay=seconds`) angegeben + werden. Voreingestellt ist, ohne Verzögerung weiterzuleiten. + + 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 + [[!iki plugins/htmlscrubber desc=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 (insbesondere kann sie nach [[!rfc 4122]] `urn:uuid:` + gefolgt von einer UUID sein). Sie 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 + [[!iki 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 [[!cpan TimeDate]] verstanden + wird, genauso wie im Feld `date`. + +Wenn das Feld nicht eines der oben vordefinierten ist, werden die Metadaten +als <meta>-Header in die generierte Seite geschrieben. Dies ist +allerdings nicht erlaubt, wenn die [[!iki plugins/htmlscrubber +desc=htmlscrubber]]-Erweiterung aktiv ist, da auf diese Weise unsichere +Inhalte eingefügt werden können. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/more.mdwn b/ikiwiki/directive/more.mdwn new file mode 100644 index 0000000..414263f --- /dev/null +++ b/ikiwiki/directive/more.mdwn @@ -0,0 +1,19 @@ +Die `more`-Anweisung wird durch die [[!iki plugins/more +desc=more]]-Erweiterung bereitgestellt. + +Diese Anweise stellt eine Möglichkeit zur Verfügung, einen "mehr"-Link in +einem Blogeintrag anzuzeigen, der zur kompletten Version der Seite +führt. Benutzt wird sie folgendermaßen: + + \[[!more linktext="mehr …" text=""" + Dies ist der Rest meines Blog-Eintrags. Er ist nicht für Leute + gedacht, die auf 10000m Blogs lesen, weil ich es gerne kompliziert + mache. + """]] + +Wenn der Parameter `linktext` weggelassen wird, wird einfach "more" +angezeigt. + +Etwas ähnliches kann auch mit einem [[toggle]] erreicht werden. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/orphans.mdwn b/ikiwiki/directive/orphans.mdwn new file mode 100644 index 0000000..e5b940c --- /dev/null +++ b/ikiwiki/directive/orphans.mdwn @@ -0,0 +1,17 @@ +Die `orphans`-Anweisung wird durch die [[!iki plugins/orphans +desc=orphans]]-Erweiterung bereitgestellt. + +Diese Anweisung erzeugt eine Liste von möglicherweise verwaisten Seiten +– Seiten auf die von keiner anderen aus verlinkt wird. Beispiel: + + \[[!orphans pages="* and !blog/*"]] + +Im optionalen Parameter `pages` kann durch eine [[ikiwiki/PageSpec]] +angegeben werden, welche Seiten auf Verwaistheit überprüft werden. In der +Voreinstellung werden alle geprüft. + +Dabei werden backlinks berücksichtigt, nicht aber Einbetten mit +[[inline]]. Viele blogartige Seiten werden also als Waisen eingestuft +werden. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/pagecount.mdwn b/ikiwiki/directive/pagecount.mdwn new file mode 100644 index 0000000..c416b47 --- /dev/null +++ b/ikiwiki/directive/pagecount.mdwn @@ -0,0 +1,12 @@ +Die `pagecount`-Anweisung wird durch die [[!iki plugins/pagecount +desc=pagecount]]-Erweiterung bereitgestellt. + +Diese Anweisung zählt die Seiten, die es gerade im Wiki gibt. Beispiel: + + \[[!pagecount pages="*"]] + +Im optionalen Parameter `pages` kann mit einer [[ikiwiki/PageSpec]] +angegeben werden, welche Seiten gezählt werden sollen, ein der +Voreinstellung werden alle gezählt. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/pagestats.mdwn b/ikiwiki/directive/pagestats.mdwn new file mode 100644 index 0000000..b277e99 --- /dev/null +++ b/ikiwiki/directive/pagestats.mdwn @@ -0,0 +1,41 @@ +Die `pagestats`-Anweisung wird durch die [[!iki plugins/pagestats +desc=pagestats]]-Erweiterung bereitgestellt. + +Diese Anweisung kann Statistiken darüber erzeugen, wie Seiten aufeinander +verlinken. Sie kann entweder eine Tag-Wolke erzeugen oder eine Tabelle mit +den Häufigkeiten, wie oft auf die einzelnen Seiten verwiesen wurde. + +Here's how to use it to create a [[tag]] cloud, with tags sized based on +frequency of use: + + \[[!pagestats pages="tags/*"]] + +Here's how to create a list of tags, sized by use as they would be in a +cloud. + + \[[!pagestats style="list" pages="tags/*"]] + +Und so kann eine Tabelle mit allen Seiten im Wiki erzeugt werden: + + \[[!pagestats style="table"]] + +Der optionale Parameter `among` beschränkt die Seiten, deren ausgehende +Links berücksichtigt werden. Zum Beispiel kann folgendermaßen eine Tag-Wolke +erzeugt werden, die nur Vorkommen in Blogeinträgen berücksichtigt: + + \[[!pagestats pages="tags/*" among="blog/posts/*"]] + +Oder um eine Wolke mit Tags anzuzeigen, die mit Linux verwandt sind: + + \[[!pagestats pages="tags/* and not tags/linux" among="tagged(linux)"]] + +Der optionale Parameter `show` zeigt nur die angegebene Anzahl von Seiten +an. Zum Beispiel kann man eine Tabelle mit den zehn häufigsten Links +anzeigen: + + \[[!pagestats style="table" show="10"]] + +The optional `class` parameter can be used to control the class of the +generated tag cloud `div` or page stats `table`. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/pagetemplate.mdwn b/ikiwiki/directive/pagetemplate.mdwn new file mode 100644 index 0000000..5b58eb0 --- /dev/null +++ b/ikiwiki/directive/pagetemplate.mdwn @@ -0,0 +1,14 @@ +Die `pagetemplate`-Anweisung wird durch die [[!iki plugins/pagetemplate +desc=pagetemplate]]-Erweiterung bereitgestellt. + +This directive allows a page to be displayed using a different +[[template|templates]] than the default `page.tmpl` template. + +Der Seiteninhalt wird in die Vorlage eingefügt, die Vorlage steuert also das +allgemeine Erscheinungsbild der Seite. Im Gegensatz dazu erlaubt die +[[ikiwiki/directive/template]]-Anweisung, Vorlagen _in_ den Text einer Seite +einzufügen. + + \[[!pagetemplate template="my_fancy.tmpl"]] + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/ping.mdwn b/ikiwiki/directive/ping.mdwn new file mode 100644 index 0000000..97922a7 --- /dev/null +++ b/ikiwiki/directive/ping.mdwn @@ -0,0 +1,20 @@ +Die `ping`-Anweisung wird durch die [[!iki plugins/pinger +desc=pinger]]-Erweiterung bereitgestellt. + +Diese Anweisung erlaubt es ikiwiki so zu konfigurieren, dass eine bestimmte +URL jedes mal aufgerufen wird, wenn das Wiki aktualisiert wird. Dies kann in +Kombination mit der [[!iki plugins/pingee desc=pingee]]-Erweiterung dazu +verwendet werden, ein eng gekoppeltes Netzwerk mit gespiegelten oder +abgeleiteten Wikis einzurichten. Durch das Anpingen kann bei jeder Änderung +der Spiegel oder das abgeleitete Wiki aktuell gehalten werden. + + \[[!ping from="http://mywiki.com/" + to="http://otherwiki.com/ikiwiki.cgi?do=ping"]] + +Der Parameter `from` muss identisch zur URL des Wikis sein, dass den Ping +durchführt. Dies wird verwendet, um Schleifen zu verhindern. + +Der Parameter `to` ist die URL, die aufgerufen werden soll. Das Beispiel +zeigt, wie eine andere ikiwiki-Instanz angepingt werden kann. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/poll.mdwn b/ikiwiki/directive/poll.mdwn new file mode 100644 index 0000000..bffcba4 --- /dev/null +++ b/ikiwiki/directive/poll.mdwn @@ -0,0 +1,29 @@ +Die `poll`-Anweisung wird durch die [[!iki plugins/poll +desc=poll]]-Erweiterung bereitgestellt. + +Diese Anweisung erlaubt es, Online-Umfragen im Wiki durchzuführen. Zum +Beispiel: + + \[[!poll 0 "red" 0 "green" 0 "blue"]] + +Die Zahlen geben an, wie viele Benutzer für diese Möglichkeit gestimmt +haben. Wenn ein Benutzer seine Stimme abgibt, wird die Seite modifiziert und +die entsprechende Zahl hochgezählt. + +Obwohl einige einfache Vorsichtsmaßnahmen getroffen wurden, damit Benutzer +nicht ausversehen mehrmals abstimmen, sollte diese Art Umfrage nicht als +besonders verlässlich angesehen werden; alle üblichen Bedenken bezüglich +webbasierten Abstimmungen treffen zu. Wenn die Seite mit der Abstimmung +nicht zum Bearbeiten gesperrt ist, können Benutzer sogar direkt die Zahlen +verändern! + +Parameter: + +* `open` - Ob die Abstimmung noch offen ist. Beim Wert `no` werden keine + weiteren Stimmen angenommen. +* `total` - Zeige die bisherige Anzahl der Stimmen unterhalb des + Abstimmungsformulars an. Voreingestellt ist `yes`. +* `percent` - Ob Prozentzahlen angezeigt werden sollen. Voreingestellt ist + `yes`. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/polygen.mdwn b/ikiwiki/directive/polygen.mdwn new file mode 100644 index 0000000..617aec4 --- /dev/null +++ b/ikiwiki/directive/polygen.mdwn @@ -0,0 +1,12 @@ +Die `polygen`-Anweisung wird durch die [[!iki plugins/polygen +desc=polygen]]-Erweiterung bereitgestellt. + +Diese Anweisung erlaubt es, durch *polygen* erzeugten Text in eine +Wiki-Seite einzubinden. Zum Beispiel: + + \[[!polygen grammar="genius"]] + +Es ist auch möglich, ein Start-Nichtterminal für die Grammatik anzugeben, +indem `symbol="text"` mit in der Anweisung angegeben wird. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/postsparkline.mdwn b/ikiwiki/directive/postsparkline.mdwn new file mode 100644 index 0000000..1f475f5 --- /dev/null +++ b/ikiwiki/directive/postsparkline.mdwn @@ -0,0 +1,47 @@ +Die `postsparkline`-Anweisung wird durch die [[!iki plugins/postsparkline +desc=postsparkline]]-Erweiterung bereitgestellt. + +Diese Anweisung verwendet die [[!iki plugins/sparkline +desc=sparkline]]-Erweiterung, um eine [[sparkline]] mit Statistiken über +bestimmte Seiten anzuzeigen, etwa über Einträge in einem Blog. + +# Beispiele + + Intervall der Einträge: + \[[!postsparkline pages="blog/* and !*/Discussion" max=100 + formula=interval style=bar barwidth=2 barspacing=1 height=13]] + + Einträge pro Monat in diesem Jahr: + \[[!postsparkline pages="blog/* and !*/Discussion" max=12 + formula=permonth style=bar barwidth=2 barspacing=1 height=13]] + +# Verwendung + +Alle Parameter außer `pages`, `max`, `formula`, `time` und `color` sind die +gleichen wie in der [[sparkline]]-Anweisung. + +Es müssen keine Datenpunkte angegeben werden (auch wenn dies möglich +ist). Stattdessen werden die Datenpunkte ausgehend vom Erstellungsdatum der +durch `pages` angegebenen Seiten (eine [[ikiwiki/PageSpec]]) automatisch +generiert. Es werden höchstens `max` Datenpunkte erzeugt. + +Der Parameter `formula` steuert die Formel, mit der die Datenpunkte erzeugt +werden. Verfügbare Formeln: + +* `interval` - Die Höhe jedes Punkts steht für den zeitlichen Abstand zum + vorherigen Eintrag. +* `perday` - Jeder Punkt entspricht einem Tag; die Höhe stellt die Anzahl + der an diesem Tag gemachten Einträge dar. +* `permonth` - Jeder Punkt entspricht einem Monat; die Höhe stellt die + Anzahl der in diesem Monat gemachten Einträge dar. +* `peryear` - Jeder Punkt entspricht einem Jahr; die Höhe stellt die Anzahl + der in diesem Jahr gemachten Einträge dar. + +Der Parameter `time` hat standardmäßig den Wert `ctime` und es werden die +Erstellungszeiten der Seiten verwendet. Sollen stattdessen die +Änderungszeiten verwendet werden, kann `mtime` angegeben werden. + +Die Farbe der sparkline kann mit dem Parameter `color` verändert werden, +etwa durch `color=red`. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/progress.mdwn b/ikiwiki/directive/progress.mdwn new file mode 100644 index 0000000..6543636 --- /dev/null +++ b/ikiwiki/directive/progress.mdwn @@ -0,0 +1,19 @@ +Die `progress`-Anweisung wird durch die [[!iki plugins/progress +desc=progress]]-Erweiterung bereitgestellt. + +Diese Anweisung erzeugt einen Fortschrittsbalken. + +Es gibt zwei mögliche Parameter-Mengen. Die erste besteht aus dem einzelnen +Parameter `percent`, der die Prozentzahl enthält, wie vollständig der +Fortschrittsbalken ist. + +Die zweite mögliche Parameter-Menge ist ein Paar von [[ikiwiki/PageSpec]]s, +`totalpages` und `donepages`. Die Anweisung zählt dann jeweils die passenden +Seiten und zeigt an, welcher Anteil der Seiten fertig ist. + +Zum Beispiel kann man anzeigen, welcher Anteil der Seiten eine +Diskussionsseite haben: + + \[[!progress totalpages="* and !*/Discussion" donepages="*/Discussion"]] + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/shortcut.mdwn b/ikiwiki/directive/shortcut.mdwn new file mode 100644 index 0000000..f584710 --- /dev/null +++ b/ikiwiki/directive/shortcut.mdwn @@ -0,0 +1,11 @@ +Die `shortcut`-Anweisung wird durch die [[!iki plugins/shortcut +desc=shortcut]]-Erweiterung bereitgestellt. + +Diese Anweisung erlaubt es, Links auf häufig verwendete externe Seiten +einfacher zu setzen. + +Die verfügbaren Abkürzungen werden im Wiki auf der Seite [[shortcuts]] +definiert. Die `shortcut`-Anweisung kann nur auf dieser Seite verwendet +werden. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/sparkline.mdwn b/ikiwiki/directive/sparkline.mdwn new file mode 100644 index 0000000..6440168 --- /dev/null +++ b/ikiwiki/directive/sparkline.mdwn @@ -0,0 +1,59 @@ +Die `sparkline`-Anweisung wird durch die [[!iki plugins/sparkline +desc=sparkline]]-Erweiterung bereitgestellt. + +Diese Anweisung erlaubt es, sparklines in Wiki-Seiten einzubetten. Eine +sparkline ist eine kleine Graphik, die so groß wie ein Wort ist und sich +deshalb zur Anzeige neben Text eignet. + +# Beispiele + + \[[!sparkline 1 3 5 -3 10 0 width=40 height=16 + featurepoint="4,-3,red,3" featurepoint="5,10,green,3"]] + +Dies erzeugt eine einfache Liniengrafik, die aus mehreren Punkten +besteht. Sie wird mit 40 Pixel Breite und 16 Pixel Höhe erzeugt. Der hohe +Punkt auf der Linie hat eine grüne Markierung, der niedrige eine rote. + + \[[!sparkline 1 -1(red) 1 -1(red) 1 1 1 -1(red) -1(red) style=bar barwidth=2 + barspacing=1 height=13]] + +Dies ist ein komplexeres Beispiel, das eine Balkengrafik erzeugt. Die Balken +sind 2 Pixel breit und werden durch ein Pixel getrennt; die Grafik ist 14 +Pixel hoch. Die Breite für Balkengrafiken automatisch bestimmt. Punkte mit +negativen Werten haben abweichend vom voreingestellten Schwarz die Farbe +rot. + +# Verwendung + +Die Form für Datenpunkte ist `x,y`, oder einfach nur `y`, wenn die x-Werte +unerheblich sind. Balkengrafiken können auch `(color)` hinzufügen, um eine +Farbe für den Balken anzugeben. + +Die folgenden benannten Parameter werden erkannt. Die meisten entsprechen +denen der zugrundeliegenden sparkline-Bibliothek, die [in ihrem +Wiki](http://sparkline.wikispaces.com/usage) genauer beschrieben wird. + +* `style` - Entweder `line` (die Voreinstellung) oder `bar`. +* `width` - Die Breite der Grafik in Pixeln. Wird nur für Linien-Grafiken + benötigt. +* `height` - Höhe des Grafen in Pixeln. Voreingestellt sind 16. +* `barwidth` - Breite der Balken in einer Balkengrafik. Voreingestellt ist 1 + Pixel. +* `barspacing` - Abstand zwischen den Balken einer Balkengrafik in + Pixeln. Voreingestellt ist 1 Pixel. +* `ymin`, `ymax` - Minimaler und maximaler Wert für die y-Achse. Dies wird + normalerweise automatisch berechnet, kann aber auch explizit angegeben + werden, um mehrere verwandte Grafiken zu erhalten. +* `featurepoint` - Fügt eine kreisförmige Markierung zu einer Liniengrafik + hinzu, mit optionalem Text. So können bedeutsame Punkte beschriftet + werden. + + Der Wert ist eine Komma-separierte Liste von Parametern, die den + hervorzuhebenden Punkt angeben: x-Wert, y-Wert, Farbname, + Kreisdurchmesser, Text (optional) und Platzierung des Textes (optional). + Beispiel: `featurepoint="3,5,blue,3"` + + Verfügbare Werte für die Platzierung des Textes sind `top`, + `right`, `bottom` und `left`. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/table.mdwn b/ikiwiki/directive/table.mdwn new file mode 100644 index 0000000..6f81b02 --- /dev/null +++ b/ikiwiki/directive/table.mdwn @@ -0,0 +1,54 @@ +Die `table`-Anweisung wird durch die [[!iki plugins/table +desc=table]]-Erweiterung bereitgestellt. + +Diese Anweisung kann HTML-Tabellen aus Daten im CSV-Format (Komma-separierte +Werte) oder DSV-Format (Trennzeichen-separierte Werte) erzeugen. + +## Beispiele + + \[[!table data=""" + Customer |Amount + Fulanito |134,34 + Menganito|234,56 + Menganito|234,56 + """]] + + \[[!table class="book_record" format=csv file="data/books/record1"]] + +Im zweiten Beispiel sollte die `record1`-Seite ähnlich wie das Folgende +aussehen: + + "Title","Perl Best Practices" + "Author","Damian Conway" + "Publisher","O’Reilly" + +Um eine Zelle zu erhalten, die über mehrere Spalten geht, kann man die +folgenden Zellen leer lassen. Zum Beispiel: + + \[[!table data=""" + links||rechts| + a|b|c|d + diese Zelle geht über 4 Spalten||| + """]] + +## Verwendung + +* `data` - Werte für die Tabelle. +* `file` - Eine Datei im Wiki, die die Daten enthält. +* `format` - Das Format der Daten, entweder `csv`, `dsv` oder `auto` + (letzteres ist voreingestellt). +* `delimiter` - Das Zeichen, durch das die Zellen getrennt werden. + Im DSV-Format ist der senkrechte Strich (`|`) voreingestellt, im + CSV-Format das Komma (`,`). +* `class` - Eine CSS-Klasse für das HTML-Element <table>. +* `header` - In der Voreinstellung, oder wenn `row` angegeben wird, + wird die erste Zeile der Daten als Tabellenüberschrift verwendet. + Mit `no` wird eine Tabelle ohne Überschrift erzeugt, mit `column` + wird die erste Spalte als Überschrift verwendet. + +For tab-delimited tables (often obtained by copying and pasting from HTML or +a spreadsheet), `delimiter` must be set to a literal tab character. These +are difficult to type in most web browsers - copying and pasting one from +the table data is likely to be the easiest way. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/tag.mdwn b/ikiwiki/directive/tag.mdwn new file mode 100644 index 0000000..1299efb --- /dev/null +++ b/ikiwiki/directive/tag.mdwn @@ -0,0 +1,39 @@ +Die `tag`- und `taglink`-Anweisungen werden durch die [[!iki plugins/tag +desc=tag]]-Erweiterung bereitgestellt. + +Diese Anweisungen erlauben es, Seiten mit einer Markierung (englisch *tag*) +zu versehen. Diese werden wie folgt angegeben: + + \[[!tag tech life linux]] + +Die Markierungen verhalten sich genauso, wie wenn ein (versteckter) +[[ikiwiki/WikiLink]] für jede Markierung vorhanden wäre. Man kann also zum +Beispiel eine [[ikiwiki/PageSpec]] verwenden, um alle Seiten zu erfassen, +die eine bestimmte Markierung tragen. In Blogeinträgen werden die +Markierungen auch am Ende der markierten Seiten und in RSS- und Atom-Feeds +angezeigt. + +Wenn gleichzeitig mit dem Tag ein sichtbarer [[ikiwiki/WikiLink]] erzeugt +werden soll, kann stattdessen `taglink` verwendet werden: + + \[[!taglink foo]] + \[[!taglink markiert_als_foo|foo]] + +Note that if the wiki is configured to use a tagbase, then the tags will be +located under a base directory, such as "tags/". This is a useful way to +avoid having to write the full path to tags, if you want to keep them +grouped together out of the way. Also, since ikiwiki then knows where to put +tags, it will automatically create tag pages when new tags are used. + +In der `link()`-[[ikiwiki/PageSpec]] muss diese `tagbase` allerdings +angegeben werden. Wenn zum Beispiel `tag` als `tagbase` verwendet wird, +können die mit "foo" markierten Seiten durch `link(tag/foo)` ausgewählt +werden. + +Wenn für eine einzelne Markierung eine abweichende `tagbase` verwendet +werden soll, kann etwas wie das Folgende verwendet werden: + + \[[!tag /foo]] + \[[!taglink /foo]] + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/template.mdwn b/ikiwiki/directive/template.mdwn new file mode 100644 index 0000000..0e53b03 --- /dev/null +++ b/ikiwiki/directive/template.mdwn @@ -0,0 +1,86 @@ +Die `template`-Anweisung wird durch die [[!iki plugins/template +desc=template]]-Erweiterung bereitgestellt. + +The template directive allows wiki pages to be used as templates. These +templates can be filled out and inserted into other pages in the wiki using +the directive. The [[templates]] page lists templates that can be used with +this directive. + +The directive has an `id` parameter that identifies the template to use. The +remaining parameters are used to fill out the template. + +## Example + + \[[!template id=note text="""Hier ist der Text, der in meine Notiz eingefügt werden soll."""]] + +Dies füllt die Vorlage `note` aus, wobei das Feld `text` mit dem angegebenen +Wert gefüllt wird, und fügt das Ergebnis in die Seite ein. + +## Using a template + +Generally, a value can include any markup that would be allowed in the wiki +page outside the template. Triple-quoting the value even allows quotes to be +included in it. Combined with multi-line quoted values, this allows for +large chunks of marked up text to be embedded into a template: + + \[[!template id=foo name="Sally" color="green" age=8 notes=""" + * \[[Charley]]'s sister. + * "I want to be an astronaut when I grow up." + * Really 8 and a half. + """]] + +## Creating a template + +The template is a regular wiki page, located in the `templates/` +subdirectory inside the source directory of the wiki. + +(Alternatively, templates can be stored in a directory outside the wiki, as +files with the extension ".tmpl". By default, these are searched for in +`/usr/share/ikiwiki/templates`; the `templatedir` setting can be used to +make another directory be searched first.) + +The template uses the syntax used by the [[!cpan HTML::Template]] perl +module, which allows for some fairly complex things to be done. Consult its +documentation for the full syntax, but all you really need to know are a few +things: + +* Each parameter you pass to the template directive will generate a template + variable. There are also some pre-defined variables like PAGE and + BASENAME. +* To insert the value of a variable, use ``. Wiki markup + in the value will first be converted to html. +* To insert the raw value of a variable, with wiki markup not yet converted + to html, use ``. +* To make a block of text conditional on a variable being set use `text`. +* To use one block of text if a variable is set and a second if it's not, + use `textother text` + +Here's a sample template: + + + Name: \[[]]
+ Age:
+ + Favorite color:
+ + No favorite color.
+
+ +
+ +
+
+ +The filled out template will be formatted the same as the rest of the page +that contains it, so you can include WikiLinks and all other forms of wiki +markup in the template. Note though that such WikiLinks will not show up as +backlinks to the page that uses the template. + +Note the use of "raw_name" inside the [[ikiwiki/WikiLink]] generator in the +example above. This ensures that if the name contains something that might +be mistaken for wiki markup, it's not converted to html before being +processed as a [[ikiwiki/WikiLink]]. + + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/testpagespec.mdwn b/ikiwiki/directive/testpagespec.mdwn new file mode 100644 index 0000000..99df952 --- /dev/null +++ b/ikiwiki/directive/testpagespec.mdwn @@ -0,0 +1,26 @@ +Die `testpagespec`-Anweisung wird durch die [[!iki plugins/testpagespec +desc=testpagespec]]-Erweiterung bereitgestellt. + +Mit dieser Anweisung kann geprüft werden, ob eine [[ikiwiki/PageSpec]] auf +eine Seite passt. Sie zeigt außerdem an, welcher Teil das Passen oder +Nicht-Passen verursacht. + +Beispiele zur Verwendung: + + \[[!testpagespec pagespec="foopage and barpage" match="foopage"]] + +Dies wird etwas wie "no match: barpage does not match foopage" anzeigen und +damit darauf hinweisen, welcher Teil der [[ikiwiki/PageSpec]] ein Passen +verhindert. + + \[[!testpagespec pagespec="foopage or !bar*" match="barpage"]] + +Dies wird etwas wie "no match: bar* matches barpage" anzeigen, weil der Teil +der das Passen verhindert negiert ist. + + \[[!testpagespec pagespec="foopage or barpage" match="barpage"]] + +Dies wird etwas wie "match: barpage matches barpage" anzeigen und damit +angeben, welcher Teil der [[ikiwiki/PageSpec]] passt. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/teximg.mdwn b/ikiwiki/directive/teximg.mdwn new file mode 100644 index 0000000..a935689 --- /dev/null +++ b/ikiwiki/directive/teximg.mdwn @@ -0,0 +1,25 @@ +Die `teximg`-Anweisung wird durch die [[!iki plugins/teximg +desc=teximg]]-Erweiterung bereitgestellt. + +Diese Anweisung wandelt LaTeX-Formeln in Bilder um. + +## Beispiele + + \[[!teximg code="\frac{1}{2}"]] + \[[!teximg code="E = - \frac{Z^2 \cdot \mu \cdot e^4}{32\pi^2 \epsilon_0^2 \hbar^2 n^2}" ]] + +Um die Größe des Bilds zu verändern, kann `height=y` angegeben werden: + + \[[!teximg code="\frac{1}{2}" height="17"]] + \[[!teximg code="\frac{1}{2}" height="8"]] + +Wenn keine Höhe angegeben wird, wird 12 verwendet. Zulässige Höhen sind 8, +9, 10, 11, 12, 14, 17 und 20. Wird eine andere Höhe angegeben, wird +stattdessen die nächste zulässige verwendet. + +Um einen `alt`-Text zu dem Bild hinzuzufügen, kann `alt="Text"` verwendet +werden: + + \[[!teximg code="\frac{1}{2}" alt="1/2"]] + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/toc.mdwn b/ikiwiki/directive/toc.mdwn new file mode 100644 index 0000000..aebb4d6 --- /dev/null +++ b/ikiwiki/directive/toc.mdwn @@ -0,0 +1,29 @@ +Die `toc`-Anweisung wird durch die [[!iki plugins/toc desc=toc]]-Erweiterung +bereitgestellt. + +Sie fügt ein Inhaltsverzeichnis in eine Seite ein: + + \[[!toc ]] + +Das Inhaltsverzeichnis wird automatisch ausgehend von den Überschriften der +Seite erzeugt. In der Voreinstellung werden nur die größten Überschriften +der Seite angezeigt; mit dem Parameter `levels` kann aber die Anzahl der +angezeigten Überschriftsebenen gesteuert werden: + + \[[!toc levels=2]] + +Die `toc`-Anweisung verwendet die Ebene der ersten Überschrift als die +oberste, selbst wenn es weiter unten in der Datei höhere Überschriften gibt. + +Um in einem Inhaltsverzeichnis nur die Überschriften beginnend mit einer +bestimmten Ebene anzuzeigen, kann der `startlevel`-Parameter verwendet +werden. Zum Beispiel, um nur <h2>- und kleinere Überschriften +anzuzeigen: + + \[[!toc startlevel=2]] + +Das Inhaltsverzeichnis wird als nummerierte Liste erzeugt. Um eine +ungeordnete Liste zu erhalten, kann `list-style` im lokalen Stylesheet +verändert werden. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/toggle.mdwn b/ikiwiki/directive/toggle.mdwn new file mode 100644 index 0000000..f46cb93 --- /dev/null +++ b/ikiwiki/directive/toggle.mdwn @@ -0,0 +1,38 @@ +Die `toggle`- und `toggleable`-Anweisungen werden durch die [[!iki +plugins/toggle desc=toggle]]-Erweiterung bereitgestellt. + +Mit diesen Anweisungen kann man auf Seiten Links erstellen, die beim +Anklicken andere Teile der Seite anzeigen. + +Um dies zu erreichen, wird Javascript verwendet; Browser ohne Javascript +sehen immer den kompletten Inhalt. + +Beispiel für die Benutzung: + + \[[!toggle id="ipsum" text="anzeigen"]] + + \[[!toggleable id="ipsum" text=""" + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do + eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim + ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut + aliquip ex ea commodo consequat. + + [[!toggle id="ipsum" text="verbergen"]] + """]] + +In dem umschaltbaren Text können beliebige Wiki-Formatierungen verwendet +werden, sogar wie im obigen Beispiel weitere `toggle`-Anweisungen. + +Außerdem müssen die Definitionen von `toggle` und `toggleable` nicht +nebeneinander stehen, sondern können beliebig über die Seite verteilt +werden. Es kann auch mehrere `toggle` geben, die das gleiche `toggleable` +umschalten. + +Als `id` ist "default" voreingestellt, sodass diese Angabe in einfachen +Fällen weggelassen werden kann. + +Wenn ein `toggleable` zu Beginn angezeigt werden soll (um es dann verbergen +zu können), kann bei seiner Einrichtung der Parameter `open=yes` angegeben +werden. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/directive/version.mdwn b/ikiwiki/directive/version.mdwn new file mode 100644 index 0000000..cd0a450 --- /dev/null +++ b/ikiwiki/directive/version.mdwn @@ -0,0 +1,13 @@ +Die `version`-Anweisung wird durch die [[!iki plugins/version +desc=version]]-Erweiterung bereitgestellt. + +Diese Anweisung fügt die Version von ikiwiki in eine Seite ein. + +Immer wenn ikiwiki auf eine neue Version aktualisiert wird, wird diese Seite +erneuert, um die Versionsnummer zu aktualisieren. + +Die Verwendung ist einfach: + + \[[!version ]] + +[[!meta robots="noindex, follow"]] -- cgit v1.2.3