[[Ikiwiki]] nutzt viele Vorlagen für viele Zwecke. Durch Bearbeiten dieser
Vorlagen kann das Aussehen dieser Seite vollständig angepasst und
Wiederholungen im Inhalt vermieden werden.

Ikiwiki verwendet das Modul HTML::Template für Vorlagen. Das unterstützt
Bedingungen und Schleifen, außerdem ist es ziemlich einfach zu lernen. Um
Vorlagen anzupassen, genügt es Folgendes zu wissen:

* Um den Wert einer Variable einzufügen, verwende `<TMPL_VAR Variable>`.
* Wenn ein Textblock nur dann angezeigt werden soll, wenn eine Variable
  gesetzt ist, verwende `<TMPL_IF Variable>Text</TMPL_IF>`.
* Um einen Textblock anzuzeigen, wenn eine Variable gesetzt ist, und einen
  anderen, wenn sie es nicht ist, verwende `<TMPL_IF
  Variable>Text<TMPL_ELSE>anderer Text</TMPL_IF>`.

[[!if test="enabled(template) or enabled(edittemplate)" then="""
## Vorlagen-Seiten

Vorlagenseiten sind normale Wiki-Seiten, die eine [[!iki
ikiwiki/directive/templatebody desc=\"templatebody-Anweisung\"]] enthalten;
sie werden als Vorlagen für andere Seiten verwendet. Die Teile der
Vorlagenseite, die außerhalb dieser Anweisung liegen, können zur
Dokumentation der Vorlage genutzt werden.
"""]]

[[!if test="enabled(template)" then="""
Die [[!iki ikiwiki/directive/template desc="template-Anweisung"]] erlaubt
es, Vorlagen-Seiten auszufüllen und auf anderen Wiki-Seiten zu verwenden.
"""]]

[[!if test="enabled(edittemplate)" then="""
Die [[!iki ikiwiki/directive/edittemplate desc="edittemplate-Anweisung"]]
kann verwendet werden, damit neue Seiten zunächst den Text einer
Vorlagenseite enthalten, die dann beim Bearbeiten ausgefüllt werden kann.
"""]]

[[!if test="(enabled(template) or enabled(edittemplate))
and enabled(inline)" then="""
Diese Vorlagenseiten sind aktuell verfügbar:

[[!inline pages="templates/* and !*.tmpl and !templates/*/* and !*/discussion"
feeds=no archive=yes sort=title template=titlepage
rootpage=templates postformtext="Füge eine neue Vorlagenseite mit diesem Namen hinzu:"]]
"""]]

Wenn die Vorlage keine `templatebody`-Anweisung enthält, wird die gesamte
Seite als Vorlage verwendet. Dies ist überholt.

## Vorlagendateien

Vorlagendateien unterscheiden sich von Vorlagenseiten dadurch, dass sie die
Endung `.tmpl` haben. Vorlagendateien werden ausgiebig von Ikiwiki genutzt,
um HTML zu erzeugen. Sie können HTML enthalten, dass auf einer Wiki-Seite
normalerweise nicht erlaubt ist.

Vorlagendateien befinden sich standardmäßig unter
`/usr/share/ikiwiki/templates`; wenn in den Einstellungen ein `templatedir`
angegeben ist, wird das dort genannte Verzeichnis zuerst
durchsucht. Angepasste Vorlagendateien können auch im Unterverzeichnis
"templates/" des Wiki-Quelltextes platziert werden -- Dateien dort
übersteuern jene im `templatedir`.

Die folgenden Vorlagendateien werden verwendet:

* `page.tmpl` - Wird verwendet, um normale Wiki-Seiten anzuzeigen. Dies ist
  die wichtigste Vorlage, um das Aussehen von Ikiwiki anzupassen. [[!if
  test="enabled(pagetemplate)" then="""
  (The [[!iki ikiwiki/directive/pagetemplate desc="pagetemplate directive"]]
  can be used to make a page use a different template than `page.tmpl`.)"""]]
* `rsspage.tmpl` - Used for generating rss feeds for blogs.
* `rssitem.tmpl` - Used for generating individual items on rss feeds.
* `atompage.tmpl` - Used for generating atom feeds for blogs.
* `atomitem.tmpl` - Used for generating individual items on atom feeds.
* `inlinepage.tmpl` - Used for displaying a post in a blog.
* `archivepage.tmpl` - Used for listing a page in a blog archive page.
* `titlepage.tmpl` - Used for listing a page by title in a blog archive page.
* `microblog.tmpl` - Used for showing a microblogging post inline.
* `blogpost.tmpl` - Used for a form to add a post to a blog (and rss/atom links)
* `feedlink.tmpl` - Used to add rss/atom links if `blogpost.tmpl` is not used.
* `aggregatepost.tmpl` - Used by the aggregate plugin to create
  a page for a post.
* `searchform.tmpl`, `googleform.tmpl`, `duckduckgoform.tmpl` - Used by the
   search plugin, google and duckduckgo plugins to add search forms to wiki pages.
* `searchquery.tmpl` - This is a Omega template, used by the
  search plugin.
* `comment.tmpl` - Used by the comments plugin to display a comment.
* `change.tmpl` - Used to create a page describing a change made to the wiki.
* `recentchanges.tmpl` - Used for listing a change on the RecentChanges page.
* `autoindex.tmpl` - Filled in by the autoindex plugin to make index pages.
* `autotag.tmpl` - Filled in by the tag plugin to make tag pages.
* `calendarmonth.tmpl`, `calendaryear.tmpl` - Used by ikiwiki-calendar to
  make calendar archive pages.
* `trails.tmpl` - Used by the trail plugin to generate links on each page
  that is a member of a trail.
* `notifyemail.tmpl` - Used by the notifymail plugin to generate mails about
  changed pages.
* `editpage.tmpl`, `editconflict.tmpl`, `editcreationconflict.tmpl`,
  `editfailedsave.tmpl`, `editpagegone.tmpl`, `pocreatepage.tmpl`,
  `editcomment.tmpl` `commentmoderation.tmpl`, `renamesummary.tmpl`,
  `passwordmail.tmpl`, `emailauth.tmpl`, `login-selector.tmpl`, 
  `revert.tmpl` - Parts of ikiwiki's user interface; do not normally need
  to be customised.


[[!meta robots="noindex, follow"]]
