summaryrefslogtreecommitdiff
path: root/templates.mdwn
blob: 31099313dd574625c71a9ae5422c0b38c1566f60 (plain)

[[!meta robots="noindex, follow"]] [[!if test="enabled(template)" then="Denne wiki har skabeloner aktiveret." else="Denne wiki har skabeloner deaktiveret." ]]

Skabeloner er filer som kan blive udfyldt og indsat på sider i wikien.

[[!if test="enabled(template) and enabled(inline)" then="""

Disse skabeloner er tilgængelige til indsættelse på andre sider i denne wiki:

[[!inline pages="templates/* and !*/discussion" feeds=no archive=yes sort=title template=titlepage]] """]]

Brug af skabelon

En skabelon bruges som her:

\[[!template id=note text="""Her er teksten til at sætte ind i min note."""]]

Dette udfylder [[note]]-skabelonen, ved at erstatte text-feltet med den angivne værdi og indsætte resultatet på siden.

Generelt kan en værdi indeholde enhver opmærkning som ville være tilladt på wikisiden udenfor skabelonen. Trippel-citering af værdien tillader endda at bruge citering som del af værdien. Kombineret med flerlinje-citerede værdier tillader dette indlejring af store klumper af opmærket tekst i skabelonen:

    \[[!template id=foo name="Sally" color="grøn" age=8 notes="""
    * \[[Charley]]'s søster.
    * "Jeg vil være en astronaut når jeg bliver stor."
    * Egentligt 8 og et halvt.
    """]]

Oprettelse af skabelon

Opret en skabelon ved simpelthen at tilføje skabelon-direktivet til en side, så vil siden vise en henvisning som kan bruges til at oprette skabelonen. Skabelonen er en normal wikiside, placeret i templates/ undermappen indeni wikiens kildemappe.

Skabelonen bruger samme syntax som perl-modulet [[!cpan HTML::Template]] som giver mulighed for at lave ret komplekse ting. Læs dokumentationen for den fulde syntaks, men alt hvad du reelt behøver at vide er nogle få ting:

  • Ethvert parameter du angiver til skabelondirektivet vil danne en skabelonvariabel. Der er også nogle foruddefinerede variable som PAGE og BASENAME.
  • Brug <TMPL_VAR variabel> til at indsætte værdien af en variabel. Wiki-opmærkning i værdien bliver først konverteret til html.
  • Brug <TMPL_VAR raw_variabel> til at indsætte den rå værdi af en variabel, med wiki-opmærkning endnu ikke konverteret til html.
  • Gør en tekstblok betinget af at en variabel er i brug med <TMPL_IF NAME="variabel">tekst</TMPL_IF>.
  • Brug een tekstblok hvis en variabel er i brug, og en anden hvis ikke, med <TMPL_IF NAME="variabel">tekst<TMPL_ELSE>anden tekst</TMPL_IF>

Her er et eksempel på en skabelon (det anbefales at bruge engelske variabelnavne for at undgå problemer med æøå og andre specialtegn):

    <span class="infobox">
    Navn: \[[<TMPL_VAR raw_name>]]<br />
    Alder: <TMPL_VAR age><br />
    <TMPL_IF NAME="color">
    Favoritfarve: <TMPL_VAR color><br />
    <TMPL_ELSE>
    Ingen favoritfarve.<br />
    </TMPL_IF>
    <TMPL_IF NAME="notes">
    <hr />
    <TMPL_VAR notes>
    </TMPL_IF>
    </span>

Den udfyldte skabelon vil blive formateret som resten af siden den er inkluderet i, så du kan medtage WikiLinks og alle andre former for wiki- opmærkning i skabelonen. Bemærk dog at sådanne WikiLinks ikke vil dukke op som krydshenvisninger (backlinks) til den side som anvender skabelonen.

Bemærk brugen af "raw_name" indeni [[ikiwiki/WikiLink]]-generatoren. Dette sikrer at hvor navnet indeholder noget som måske kan fejltolkes som wiki-opmærkning, bliver det ikke konverteret til html før det er blevet behandlet som en [[ikiwiki/WikiLink]].