Spring til indhold

Hjælp:Skabeloner

Fra Wikipedia, den frie encyklopædi
Denne side er en hjælpeside på den danske Wikipedia.
Siden indeholder basal eller avanceret information om dansk Wikipedia og eventuelt teknisk vejledning. Se oversigten over alle hjælpesider under Hjælp.

Skabeloner er særlige sider, der er skabt med henblik på at blive inkluderet i andre sider. De indeholder tekst, som det er muligt at gentage i et vilkårligt antal sider. De kan f.eks. være nyttige, når informationer skal præsenteres på samme måde på tværs af flere sider, såsom infobokse og navigationsbokse. De indsættes med en forholdsvis simpel kode, der resulterer i indsættelse af dens indhold. På denne hjælpeside forklares hvordan skabeloner oprettes og hvordan de kan ændre udseende på baggrund af parametre, der angives ved skabelonkaldet.

Den mest almindelige måde at anvende skabeloner på er ved såkaldt transklusion, hvor wikiteksten indeholder en henvisning til skabelonen ved hjælp af skrivemåden {{Skabelonnavn}}, det såkaldte skabelonkald. En anden måde er substitution, hvor indholdet af skabelonen kun en enkelt gang kopieres ind i sidens wikitekst (når siden gemmes).

Der findes mere hjælp til skabeloner i søsterprojekterne MediaWiki og Wikimedia i mw:Help:Templates/da, m:Help:Template og m:Help:Advanced templates.

Der findes adskillige skabeloner og typer af skabeloner. Nogle bruges på tusindvis af sider, mens andre er lavet med henblik på specielle formål og kun er brugt få gange.

En forklaring af skabeloner (8 minutters video på engelsk)

De fleste skabeloner eksisterer som sider i Skabelon-navnerummet, hvilket vil sige at deres navne er på formen "Skabelon:XXXX". Det er dog muligt at transkludere og substituere fra et hvilket som helst navnerum, fx Bruger-navnerummet. Skabeloner har en tilknyttet diskussionsside, hvor ændringer af skabelonen kan diskuteres.

Skabeloner kan indeholde enhver form for wikitekst, også inklusion af andre skabeloner. Der findes desuden delvis mulighed for programmering: værdier der kan ændres (kaldet parametre); udregninger og forgreninger (ved brug af parserfunktioner); og specifikke wiki-variable (magiske ord), der kan give aktuel dato, klokkeslæt eller sidenavn. De kan også indeholde tags der fortæller hvilke dele af wikiteksten der skal inkluderes når skabelonen bliver transkluderet eller substitueret. Det betyder, at udseendet af skabelonsiden selv ikke nødvendigvis er det samme som udseendet af det transkluderede indhold, f.eks. kan skabelonsiden indeholde dokumentation, kategorier og andet vedrørende skabelonen.

Sådan virker det: For at transkludere en skabelon i en artikel eller anden side, skriv {{Skabelonnavn}} i wikiteksten på det sted hvor man ønsker skabelonen skal komme til syne. Det er underordnet om skabelonnavnets første bogstav skrives med stort eller småt.

Præfikset Skabelon: før skabelonnavnet er underforstået og er ikke nødvendigt. Dog gælder det at præfikset for andre navnerum skal specificeres, f.eks. Bruger:. For at transkludere en skabelon i artikelnavnrummet, så foranstil et kolon (f.eks. {{:Skabelonnavn}}). I diskussioner og på hjælpesider bruges af og til også en særlig vis-funktion, hvor man på en gang viser en skabelons navn og linker til den. Det sker med koden {{vis|skabelonnavn}}. På den måde kan man f.eks. skrive {{vis|Hjælpeside}} for med {{Hjælpeside}} både at vise navnet for og linke til Skabelon:Hjælpeside, der er indsat øverst på f.eks. denne side.

 Bemærk: Forsøger man at transkludere en skabelon der ikke eksisterer vil et rødt link fremkomme, helt ligesom ved andre ikke-eksisterende sider. Følger man linket, får man mulighed for at oprette den pågældende skabelon.

Oprettelse af skabeloner

[redigér | rediger kildetekst]

Skabeloner oprettes og redigeres stort set ligesom enhver anden side: vælg et passende navn og åbn den pågældende side. Som nævnt oven for placeres skabeloner oftest i navnerummet "Skabelon:", men de kan også placeres i ens eget brugernavnerum, hvis man f.eks. ønsker at eksperimentere. Alt hvad det er muligt at inkludere på en normal side, kan inkluderes i en skabelon, inklusiv andre skabeloner (kaldet underskabeloner). Skabeloner gør ofte brug af forskellige former for programmering: værdier der kan ændres (kaldet parametre); udregninger og forgreninger (ved brug af parserfunktioner); og specifikke wiki-variable (magiske ord), såsom dato, klokkeslæt og sidenavne. De kan også indeholde tags der fortæller hvilke dele af wikiteksten der skal inkluderes når skabelonen bliver transkluderet eller substitueret.

Før man opretter en skabelon, så undersøg de eksisterende skabeloner (f.eks. i Kategori:Skabeloner), for at se om en lignende skabelon allerede findes, hvis kode kan kopieres og modificeres (eller den eksisterende skabelon måske blot kan udvides). Kig efter grundlæggende skabeloner, på hvilke en ny skabelon kan baseres. F.eks. kan skabeloner til visning af navigationsbokse nemt oprettes på baggrund af Skabelon:Navboks.

Der findes ingen faste regler omkring hvilket navn man bør vælge for en skabelon, men forsøg at gøre det kort og beskrivende. Hvis der allerede findes lignende skabeloner, så forsøg at følge samme navngivningsmønster. Skabeloner kan senere omdøbes (flyttes) uden at ødelægge eksiterende transklusioner, forudsat at en omdirigeringsside efterlades til det nye skabelonnavn.

Vær meget forsigtig, når du redigerer i eksisterende skabeloner — ændringer kan påvirke et stort antal sider og ofte på måder man ikke har forestillet sig. Af denne grund er mange ofte-brugte skabeloner beskyttet mod redigering undtagen for administratorer. Andre brugere kan foreslå ændringer på diskussionssiden. Nogle skabeloner har tilknyttet sandkasse og testcases (se f.eks. denne).

Skabeloner generelt kan diskuteres i WikiProjekt Skabeloner.

Simpelt eksempel

[redigér | rediger kildetekst]

Et eksempel på en meget enkel skabelon er skabelon:archive.org, der når den bruges, bliver til teksten "(fra archive.org)" og er beregnet til indsættelse efter en ekstern henvisning til dette website (se f.eks. artiklen Frederik d. 9.s Bro). En programmør ville sige at skabelonen returnerer teksten "(fra archive.org)".

Klik på Skabelon:Archive.org og derefter på "Rediger wikikode" for at se skabelonkoden (dens wikitekst). Den "aktive" del af den kode er (taget fra Archive.org). Den sidste del af wikiteksten er indesluttet mellem <noinclude>-tags, således at den vises på selve skabelonsiden, men ikke vises når skabelonen bruges på en anden side.

For at transkludere Skabelon:Archive.org i en anden side (dvs. for at bruge den på en anden side), prøv da i en sandkasse at skrive {{archive.org}} (eller {{Archive.org}} — om første bogstav er med stort eller ej betyder ikke noget) i sidens wikitekst og tryk Forhåndsvisning. Siden vil blive vist med skabelonkaldet erstattet af skabelonens indhold, som om sandkassens wikitekst faktisk indeholdt (taget fra Archive.org) på dette sted.

Man behøver generelt ikke at kende eller forstå skabelonkoden for at bruge en skabelon. Man skal blot huske hvilket resultat den frembringer, hvilket i mange tilfælde er beskrevet på skabelon-siden.

En anden måde at bruge denne skabelon på er ved substitution. Hvis man i sin sandkasse skriver {{subst:archive.org}} og gemmer siden, vil man igen se det samme resultat: "(fra archive.org)". Kigger man imidlertid på wikikoden, vil man se at skabelonkaldet faktisk blev erstattet af skabelonens indhold, da man gemte siden.[a] Forbindelsen mellem siden og skabelonen er nu brudt, og sidens wikitekst vil ikke blive påvirket af fremtidige ændringer af skabelonen (som det ville være tilfældet ved transklusion).

Det er muligt at kontrollere skabeloners virkemåde ved hjælp af parametre. Dette gøres på denne måde:{{Skabelonnavn|parameter|parameter|...}} hvor Skabelonnavn er skabelonens navn og hvor parameter enten blot kan indeholde en værdi (disse kaldes unavngivne parametre) eller være på formen navn=værdi (navngivne parametre). Den første, anden, tredje, osv. unavngivne parameter vil automatisk få navnene 1, 2, 3, etc.

Blanktegn (mellemrum, tabulatortegn, linjeskift) fjernes automatisk fra begyndelsen og enden af navngivne parametre. Således har {{ ... | minparam = dette er en test }} samme virkning som {{ ... |minparam=dette er en test}}. Dette gælder ikke for unavngivne parametre, hvor alle blanktegn bevares.

Hvilke parametre (om nogen) der kan eller skal anvendes sammen med en given skabelon afhænger af skabelonens wikikode. Navngivne parametre kan anvendes i en hvilken som helst rækkefølge. Overflødige eller forkert stavede parametre vil blive ignoreret. Parametre der ikke er blevet tildelt en værdi vil blive givet defaultværdier (dvs. standardværdier). Hvis en parameter er angivet flere gange, vil den sidst angivne værdi blive brugt.

En mulig værdi af en parameter kan være en såkaldt 'tom streng' (en streng uden indhold, f.eks. ""), hvilket vil være tilfældet hvis lighedstegnet eller den lodrette streg umiddelbart er efterfulgt af den næste lodrette streg eller de afsluttende klammer. Dette er forskelligt fra helt at udelade parameteren, hvilket medfører at den af skabelonen opfattes som "udefineret", selv om skabeloner ofte er skrevet således at de giver samme resultat som hvis det havde været en tom streng.

Det er muligt at angive parametre, der ikke er repræsenteret i skabelonen (dette vil ingen effekt have). Nogle skabeloner anvender Modul:Tjek for ukendte parametre der advarer om at en parameter er blevet brugt, selv om den ikke er repræsenteret i skabelonen. Dette modul anvendes mest ved infobokse og andre skabeloner med et stort antal parametre, hvor tilstedeværelsen af en ukendt parametre som regel er utilsigtet. Hvis man ændrer en sådan skabelon ved at tilføje en ny parameter, så skal man huske også at opdatere modulkaldet med den nye parameter.

 Bemærk: Hvis du ønsker at eksperimentere, så brug venligst Skabelon:Sandkassen, den avancerede sandkasse eller din brugerside. Desuden findes Speciel:Udfold skabeloner.

Håndtering af parametre

[redigér | rediger kildetekst]

Værdien af de parametre der kan skrives i skabelonkaldet bliver i skabelonkoden repræsenteret af elementer indesluttet i tredobbelte klammer:

  • Koden {{{xxx}}} vil blive erstattet af værdien af parameteren med navnet xxx. Dette er det der kaldes en navngivet parameter.
  • Koderne {{{1}}}, {{{2}}}, og så videre vil blive erstattet af den første, anden og så videre unavngivne parameter (eller af en parameter med navnet 1, 2, osv.). Dette er sommetider kaldet positionelle parametre, fordi de behandles efter deres position i rækken af parametre ved skabelonkaldet.

Hvis en parameter ikke er givet nogen værdi, så vil elementet i koden ikke blive erstattet af noget. Det betyder, at hvis parameteren xxx ikke er med i skabelonkaldet, så vil elementet {{{xxx}}} i skabelonen vedblive at være {{{xxx}}}, ikke en "tom streng" som man måske kunne have forventet. Man kan dog angive en standardværdi (ofte kaldet defaultværdi) . Dette gøres ved hjælp af den lodrette streg: {{{xxx|dflt}}} angiver defaultværdien dflt for den navngivne parameter |xxx=, og {{{1|dflt}}} angiver defaultværdien dflt for den første unavngivne parameter. Oftest bliver dette brugt til at angive tomme strenge som defaultværdier, såsom {{{1|}}} eller {{{xxx|}}}.

På grund af syntaksen med de mange dobbelte og tredobbelte klammer, kan koden ofte blive både svær at læse og tvetydig. Det kan derfor hjælpe eller ligefrem være nødvendigt at indsætte mellemrum i mellem klammerne. For eksempel kan det være bedre at skrive {{ {{{xxx}}} }} eller {{{ {{xxx}} }}} snarere end fem klammer i træk. Dog skal man passe på at uønskede blanktegn ikke vises, når skabelonen transkluderes.

Eksempler med parametre

[redigér | rediger kildetekst]
Eksempel 1

Et eksempel på en skabelon der bruger parametre er {{harflertydig6}}.

Prøv at skrive {{harflertydig6|den norske filmserie|den danske filmserie|Olsen-banden}} i sandkassen — Det vil frembringe følgende tekst:

Denne artikel omhandler den norske filmserie. For den danske filmserie, se Olsen-banden.

Skabelonen {{harflertydig6}} bruger tre unavngivne parametre.

Eksempel 2

Andre skabeloner, især de mere indviklede, bruger navngivne parametre eller en blanding af unavngivne og navngivne parametre. Et simpelt eksempel er Skabelon:Forveksles, der bruges når to artiklers navne minder om hinanden.

Skriver man {{Forveksles | Sankt Annæ Gade | tekst = For Sankt Annæ Gade på Christianshavn, se }} vises følgende, når skabelonen er transkluderet:

For Sankt Annæ Gade på Christianshavn, se Sankt Annæ Gade .

De mellemrum der ses omkring lighedstegnet samt dem før og efter parameteren "tekst" er blot brugt for at øge læseligheden — de er ikke nødvendige og bliver ignoreret af skabelonen (dette er dog ikke tilfældet for unavngivne parametre). Ved parameternavne skelnes fuldt ud mellem store og små bogstaver (også for begyndelsesbogstavet). For eksempel er det ikke muligt at erstatte tekst med Tekst eller teksT i eksemplet ovenfor. Parametre med navne der ikke bruges af skabelonen bliver ignoreret. Andre eksempler på brugen af denne skabelon ses i artiklerne Frederiksborggade og Ole Bull.

Nedenfor ses den centrale del af wikikoden for Skabelon:Forveksles. Det ses at parametrene repræsenteres med tredobbelte klammer:

:[[Billede:Disambig bordered fade.svg|15px]] ''{{#if:{{{indhold|}}}
   |{{{indhold}}}
   |{{#if:{{{1|}}}
     |{{#if:{{{tekst|}}}
       |{{{tekst}}}
       |Ikke at forveksle med
      }} {{Multiparametre|{{{1|}}}|{{{2|}}}|{{{3|}}}|{{{4|}}}|{{{5|}}}|{{{6|}}}|{{{7|}}}|{{{8|}}}|{{{9|}}}|{{{10|}}}}}.
     |<!--Syntaksfejl:-->
<span class="error">Parameterfejl i [[skabelon:Forveksles|<nowiki>{{Forveksles}}</nowiki>]]: Parameteren <code>1</code> er obligatorisk.</span><!-- 
-->{{#if:{{NAMESPACE}}||[[Kategori:Sider med parameterfejl i skabelon]]}}
  }}
}}''

Forklaring

  • Kolonet i begyndelsen af første linje betyder at den efterfølgende tekst indrykkes.
  • Koden [[Billede:Disambig bordered fade.svg|15px]] sørger for at vise billedet Disambig bordered fade.svg.
  • De to apostroffer sætter den efterfølgende tekst i kursiv.
  • {{#if: er den første del af en såkaldt if-sætning, der er en forgrening af koden alt efter om der findes noget mellem kolonet og den førstkommende lodrette streg. Generelt kan en if-sætning skrives {{#if: X | A | B }}. X betragtes som uden indhold, hvis den blot består af blanktegn. Der skrives A, hvis X indeholder noget, ellers B.
  • Koden {{{indhold|}}} fortæller skabelonen at den skal indsætte værdien af parameteren "indhold" eller (hvis denne ikke er defineret, dvs. ikke medtaget i skabelonkaldet) indsætte en tom streng (her hvad der befinder sig mellem den lodrette streg og de tre afsluttende klammer).
  • {{Multiparametre}} er en såkaldt underskabelon, der i dette tilfælde sørger for at remse de artikler op der kan forveksles.
  • Koderne <!-- og --> i fjerdesidste og tredjesidste linje bruges her til at "skjule" et linjeskift, der ellers ville have forårsaget et linjeskift når skabelonen blev brugt. Denne kode bruges normalt til at indsætte skjulte kommentarer. Linjeskiftet er her indsat i wikikoden for at gøre den nemmere at læse.
  • Koden {{NAMESPACE}} er et såkaldt magisk ord, der returnerer navnet for navnerummet, hvor skabelonen er indsat. For artikelnavnerummet er navnet blot en tom streng.
  • De to højreklammer i næstsidste linje er afslutningen af if-sætningen påbegyndt i tredje linje, mens de to højreklammer i sidste linje er afslutningen af if-sætningen påbegyndt i første linje.
  • De to apostroffer i sidste linje afslutter kursiveringen

Nedenfor er en liste af gode råd angående skabeloner:

  • En skabelonparameter kan ikke indeholde den lodrette streg | som værdi, fordi det ville blive fortolket som en separator.[b] Her ville problemet kunne løses med det magiske ord {{!}} i stedet for den lodrette streg, eller — hvis den lodrette streg ikke skal fortolkes på et højere niveau — ved at bruge HTML-koden &#124;. Hvis man f.eks har brug for at kalde skabelonen {{forveksles}} med parameterværdien Ludvig Holberg|Holberg (som del af et wikilink), så skriv {{forveksles|Ludvig Holberg{{!}}Holberg}}.
  • Det er desuden ikke muligt at bruge et almindeligt lighedstegn i en unavngiven parameter, da dette ville blive fortolket som om der var tale om en navngivet parameter. Her kan man i stedet benytte skabelonen {{=}} eller kalde skabelonen med en navngiven parameter der svarer til den unavngivne parameter. [c]
  • Husk at blanktegn (mellemrum, tabulator og linjeskift) ikke automatisk fjernes fra begyndelsen og enden af unavngivne parametre, hvilket ellers er tilfældet for navngivne parametre. Hvis man medtager sådanne tegn (eller andre ikke-synlige tegn) kan det i nogle tilfælde påvirke skabelonens udseende på uventede måder. Man kan bruge underskabelonen {{Trim}} til at fjerne uønskede blanktegn i unavngivne parametre.
  • På dokumentationssider og i diskussioner er det ofte praktisk at kunne vise et link til en skabelon, men uden faktisk at bruge skabelonen. Dette kan gøres med skabelonen {{vis}}. Eksempelvis giver {{vis|Forveksles}} resultatet {{Forveksles}}. Der er flere andre af den slags skabeloner, der kan hjælpe med at vise andre skabeloner, mange er nævnt i dokumentationen til skabelonen {{Tlc}}.
  • Når en skabelon er blevet ændret (når skabelonen eller en af dens underskabeloner er blevet redigeret), vil ændringen vise sig på alle de sider hvor skabeloen er transkluderet. Dog vil ændringen ikke altid blive synlig øjeblikkeligt, fordi en tidligere gemt version af siden (baseret på den ældre udgave af skabelonen) stadig vil blive vist i et stykke tid. Hvis det er en side der ofte har brug for at blive opdateret, kan man bruge skabelonen {{Opdater}} .
  • Når man gennem historikken kigger på en gammel version af en side, så husk at skabelonerne vil blive transkluderet som de er nu, ikke som de var da den gamle version af siden var aktiv.
  • For at få vist en liste over alle sider, hvor en given skabelon er transkluderet, så klik på linket "Hvad henviser hertil" i navigationsmenuen på skabelonsiden. Dette vil ikke omfatte sider, hvor skabelonen er blevet substitueret.
  • For at få en liste over skabeloner der er transkluderet på en given side, så klik på "Redigér wikikode" og find listen nederst under redigeringsvinduet. Denne liste vil også omfatte underskabeloner der bruges af de direkte transkluderede skabeloner på siden. For at få denne liste for et afsnit af siden, en gammel version af siden eller en nyligt redigeret version før den gemmes, så klik på brug Forhåndsvisning på redigeringssiden.
  • For at forbedre læseligheden, vil programmører normalt opdele koden med linjeskift og indrykninger. Desværre tillader vores MediaWiki-software ikke denne funktionalitet. I mange tilfælde vil sådanne linjeskift blive fortolket af softwaren som indhold, der skal vises (der fremkommer linjeskift på den side hvor skabelonen indsættes). En måde at undgå dette, er ved at tilføje <!-- før hvert linjeskift og --> efter det, hvilket frembringer en såkaldt HTML-kommentar (som vist i det sidste eksempel ovenfor).

Magiske ord og parserfunktioner

[redigér | rediger kildetekst]

Skabelonkode gør ofte brug af de variable og parserfunktioner, der hos Wikimedia kaldes magiske ord, for at kunne få skabelonens resultat til at afhænge af forskellige faktorer såsom det aktuelle klokkeslæt, hvilket navnerum skabelonen bliver kaldt fra eller de parameterværdier der er videregivet til den. Det kan også dreje sig om matematiske beregninger, men visse typiske muligheder inden for programmering, såsom løkker og tildeling af værdier til variable, er ikke tilgængelige. Manipulation af tekststrenge er kun mulige ved hjælp af særlige skabeloner, bl.a. samlet i kategorien Skabeloner baseret på Lua-modulet String.

Dato, sidenavn og andet

[redigér | rediger kildetekst]
Beskrivelse Kode Resultat
(for denne hjælpeside)
Navne på den aktuelle side {{PAGENAME}} Skabeloner
{{FULLPAGENAME}} Hjælp:Skabeloner
Navn på det aktuelle navnerum {{NAMESPACE}} Hjælp
Antal registrerede brugere {{NUMBEROFUSERS}} 497.298
Antal sider i en given kategori {{PAGESINCATEGORY:Levende personer}} 47.335
Nuværende version af MediaWiki-softwaren {{CURRENTVERSION}} 1.44.0-wmf.8 (f08e6b3)
Tidsstempel for seneste version af aktuel side {{REVISIONTIMESTAMP}} 20231020143446
Lokalt tidsstempel (YYYYMMDDHHmmss) {{LOCALTIMESTAMP}} 20241223144105

{{PAGENAME}} og {{NAMESPACE}} bliver særligt ofte brugt. Variablen {{NAMESPACE}} kan bl.a. udnyttes til at afgøre, om der er tale om en artikel eller f.eks. en diskussionsside, og derfor om siden der transkluderer skabelonen skal indsættes i en bestemt kategori eller ej.

Simple parserfunktioner til formatering og andet

[redigér | rediger kildetekst]

Nogle simple parserfunktioner er oplistet neden for. Se også den fyldigere vejledning på MediaWiki-siden Help:Magic words.

Beskrivelse Kode Resultat
Tekst med stort {{uc: Hvad SKER der!}} HVAD SKER DER!
Tekst med småt {{lc: Hvad SKER der! }} hvad sker der!
Navnet på et konkret navnerum {{NS: 1 }} Diskussion
Fuld URL for en artikel {{fullurl: artikelnavn }} //da.wikipedia.org/wiki/Artikelnavn
Formatering af tal
(kun decimalpunktum virker)
{{formatnum:1234567.890123}} 1.234.567,890123
{{formatnum:1234567,890123}} 1.234.567,890.123 (forkert!)
Fjern formatering af tal
(kun decimalkomma virker)
{{formatnum:123.4567,890123 | R}} 1234567.890123
{{formatnum:123,4567.890123 | R}} 123.4567890123 (forkert!)

Avancerede parserfunktioner som #if og #switch

[redigér | rediger kildetekst]

Her vises eksempler på mere avancerede parserfunktioner (se også Extension:ParserFunctions):

Beskrivelse Kode Resultat
Parserfunktionen #if tester for indhold inden første lodrette streg og skriver herefter teksten efter enten første eller anden lodrette streg {{#if: | Noget | Ingenting }} Ingenting
Eksempel med #if, hvor noget findes {{#if: Her er noget | Noget | Ingenting }} Noget
Test for lighed mellem to strenge {{#ifeq: ja | ja | De er ens | Forskellige }} De er ens
{{#ifeq: ja | nej | De er ens | Forskellige }} Forskellige
Beregning af arealet af en cirkel
(her med radius 4, afrundet til 3 decimaler)
{{#expr: ( pi * 4 ^ 2 ) round 3 }} 50.265
Lige eller ulige?
(her tallet 1230)
{{#ifexpr: 1.23E+3 mod 2 | Ulige | Lige }} Lige

Sammenlign tekst med flere muligheder

{{#switch: hund
| torsk = fisk
| abe | hund | hest = pattedyr
| fasan = fugl
| #default = dyr
}}

pattedyr


Tydeliggørelse af hvordan #if-funktionen reagerer på, om en parameter (her tekst) har en værdi, er blank eller er udefineret (det vil sige: ikke nævnt i skabelonkaldet). Se også afsnittet Håndtering af parametre oven for.

Skabelonkald Kode i skabelon Resultat
Værdi: {{Forveksles | tekst = Se også }} {{#if: {{{tekst}}} | Noget | Ingenting }} Noget
Blank: {{Forveksles | tekst = }} {{#if: {{{tekst}}} | Noget | Ingenting }} Ingenting
Udefineret: {{Forveksles }} {{#if: {{{tekst}}} | Noget | Ingenting }} Noget
Udefineret: {{Forveksles }} {{#if: {{{tekst|}}} | Noget | Ingenting }} Ingenting

Noinclude, includeonly og onlyinclude

[redigér | rediger kildetekst]

Som udgangspunkt bliver hele skabelonens wikitekst transkluderet (eller substitueret) på den side, hvorfra skabelonen kaldes (er indsat). Dog er det muligt at ændre dette ved at bruge tags der angiver hvilke dele af skabelonen der skal inkluderes. Dette gør det muligt at undgå at inkludere information der kun er beregnet til skabelonsiden selv, såsom skabelonens dokumentation og kategorier. Det er omvendt også muligt at få dele af koden transkluderet uden at disse vises på skabelonsiden selv. Der findes følgende mulige tags:

  • <noinclude>...</noinclude> – Teksten mellem taggene vil ikke blive medtaget, når skabelonen bliver transkluderet (substitueret), men vil blive behandlet på skabelonsiden. Almindeligvis brugt for skabelonens dokumentation.
  • <onlyinclude>...</onlyinclude> – Dette angiver at intet på siden, undtagen hvad der findes mellem disse tags, vil blive transkluderet (substitueret).
  • <includeonly>...</includeonly> – Teksten mellem taggene vil blive transkluderet (substitueret), men vil ikke blive behandlet på skabelonsiden.
Wikitekst Vises på skabelonsiden Transkluderet/
substitueret
<noinclude> tekst1 </noinclude> tekst2 tekst1 tekst2 tekst2
<onlyinclude> tekst1 </onlyinclude> tekst2 tekst1 tekst2 tekst1
<includeonly> tekst1 </includeonly> tekst2 tekst2 tekst1 tekst2

Et almindeligt problem ved brugen af disse tags er fremkomsten af uønskede mellemrum eller linjeskift. For at undgå dette problem, er det vigtigt at huske at virkningen af disse tags begynder umiddelbart inden den første vinkelparentes (<), ikke på den foregående linje eller ved det seneste synlige tegn. På samme måde slutter virkningen umiddelbart efter den sidste vinkelparentes (>), ikke på den næste linje eller ved det næste synlige tegn.

Der er altså forskel mellem

{{skabelon}}</includeonly><noinclude>

og

{{skabelon}}</includeonly>
<noinclude>

Kategorisering med skabeloner

[redigér | rediger kildetekst]

Nogle skabeloner bruges både til at markere forskellige ting og til at kategorisere sider med de pågældende ting. Det benyttes blandt andet af kvalitetsskabeloner, der både viser at der er problemer med en given artikel og tilføjer den til kategorier for de pågældende problemer. Her kan folk så efterfølgende gå ind og se hvilke artikler, der for eksempel trænger til at blive opdateret, eller som er foreslået slettet. Det samme sker med projektskabeloner, der tilføjer artikler til kategorier, så man kan se hvilke artikler, der hører til et givet projekt. Her er der dog den forskel, at projektskabelonerne kan tilføjes en klassificering, så artiklerne kan fordeles i kategorier efter hvor omfattende de er. Tilsvarende benyttes babel-skabeloner på brugersider både til at vise brugernes sprogkundskaber og til at sortere dem i kategorier efter dem. På den måde kan andre så efterfølgende finde dem, hvis de har behov for hjælp til et bestemt sprog.

Udbredte skabeloner

[redigér | rediger kildetekst]
  • Afsnitsliste - Skabelon til lister over afsnit i tv-serier og tegnefilmserier med parametre til f.eks. titler, datoer og handlingsreferater.
  • Flytteskabeloner - Bokse der indsættes øverst på sider, man mener bør flyttes til et andet navn, f.eks. fordi det andet navn er mere kendt. Se Hjælp:Flytning.
  • Geografiske koordinater - Skabeloner der bruges til at vise, hvor et bestemt sted ligger. Koden indsættes forneden i den pågældende artikel men fremstår foroven i dem med links til landkort.
  • Infobokse - Bokse med parametre der indsættes foroven i artikler, hvor de fremstår øverst til højre. De bruges til at opliste de vigtigste informationer om et emne, for en by f.eks. indbyggertal, land og tidspunkt for grundlæggelse. På mange infobokses sider er der en rå kode med alle parametrene, som man kan kopiere ind i artiklerne og derefter udfylde med de relevante oplysninger. Ved nogle infobokse er det desuden angivet, hvad de enkelte parametre dækker over.
  • Jernbanediagrammer - Diagrammer sammensat af forskellige skabeloner til at vise forløbet af en jernbane med stationer og tilslutninger.
  • Kvalitetsskabeloner - Fortrinsvis bokse der indsættes øverst i artikler, hvor der er problemer. Det kan være at emnet ikke er relevant, at der er en alvorlig mangel på kilder, eller at teksten er en tvivlsom maskinoversættelse. Alt sammen ting læserne skal gøres opmærksomme på, og som i en del tilfælde kan føre til sletning af de berørte artikler, hvis problemerne ikke kan eller bliver løst.
Hvis problemet er specifikke ting i teksten, findes der dog også mindre tekstbaserede kvalitetsskabeloner til indsættelse de relevante steder. Savnes der f.eks. kilder til bestemte påstand indsættes Skabelon:Kilde mangler med koden {{km}} efter påstandene.
  • Navigationsbokse - Bokse der indsættes forneden i artikler, hvor de kommer til at fremstå med links til beslægtede artikler. De gør det nemt at få overblik over og navigere rundt mellem forskellige artikler indenfor en givent emneområde. Samtidig betyder de, at man slipper for lange Se også-lister i de enkelte artikler. Alt efter emnet kan navigationsbokse være opbygget alfabetisk, kronologisk, efter nummer eller tematisk.
  • Overordnet og uddybende - Links til hhv. en mere overordnet artikel og en uddybende artikel. I en del tilfælde er der meget at skrive om et emne, og for at bevare overblikket kan man derfor være nød til at skille noget af det ud i særskilte uddybende artikler og så nøjes med at referere det vigtigste i den overordnede artikel. Linksene bruges så til at forbinde de to artikler.
  • Rækkefølgeskabeloner - Placeres nederst i artikler som links til andre artikler der kommer umiddelbart før eller efter i en bestemt rækkefølge. Det kan f.eks. være i en artikel om en statsminister, hvor der linkes til dem, der var statsminister før og efter vedkommende. En anden mulighed er på artikler om jernbanestationer, hvor der vises hvilke slags tog og linjer, der stopper der, og samtidig linkes til forrige og næste station.
  • Sammenskrivningsskabeloner - Indsættes øverst i flere artikler som man mener bør samles i én, f.eks. fordi de handler om det samme eller er meget korte. Se Hjælp:Sammenskrivning.
  • Semibeskyttet og skrivebeskyttet - Hvis en artikel ofte er udsat for hærværk eller er offer for en redigeringskrig, kan det være nødvendigt at semi- eller skrivebeskytte den for at begrænse hvem, der kan redigere den. Dette markeres med skabeloner med udseende som hængelåse. Se Hjælp:Beskyttelser.
  • Spoiler - I artikler om bøger, film og lignende indsættes advarsler om afsløring af pointer mv. lige før og efter handlingsreferater.
  • Stubskabeloner - Bokse der indsættes forneden i artikler for at markere at en artikel er kort, populært kaldet en stub. Artiklen vil typisk indeholde de basale informationer om emnet men ikke mere, hvorfor stubskabelonen er indsat som opfordring til netop at skrive noget mere. I praksis findes der imidlertid tusindvis af stubbe, så det har været nødvendigt med en række forskellige typer til forskellige emner af hensyn til sorteringen i kategorier.
  • Søsterprojekter - Sider der ligesom Wikipedia tilhører Wikimedia, og som i mange tilfælde har sider eller kategorier om samme emne. Det kan f.eks. være Wikimedia Commons, der har billeder og andre filer til brug i artikler, og Wikisource der bruges til kildetekster. Skabelonerne, der linker til dem, placeres normalt i afsnittene Se også eller Eksterne henvisninger.
  • Taksobokse - En særlig form for infobokse til at vise den videnskabelige klassifikation og andre basale oplysninger om dyre- og plantearter.

Diskussionssider

[redigér | rediger kildetekst]
  • Debatskabeloner - Forskellige skabeloner der bruges i diskussioner, f.eks. til at tilføje en glemt signatur eller til at angive, at diskussionen omhandler en nulevende person, der skal tages hensyn til.
  • Projektskabeloner - Bokse der indsættes på diskussionssider for artikler, der indgår i et projekt. Projekter er en form for samarbejde, hvor flere brugere går sammen om at skrive, forbedre og standardisere artikler om et givent emne, et samarbejde skabelonerne opfordrer til at deltage i. Ved en del projekter bruges skabelonerne desuden til vurderinger af, hvor omfattende en artikel er.
  • Babel - Bokse der indsættes på ens brugerside for at angive hvilke sprog man kan og på hvilket niveau. Det giver orientering, hvis man har med fremmedsprogede brugere at gøre, og kan bruges til at finde brugere med kendskab til bestemte sprog. Se Hjælp:Babel.
  • Deltager i projekt - Hvis man deltager i et af ovennævnte projekter, kan man indsætte en boks om det på sin brugerside.
  • Tillidsposter - Brugere der er bureaukrater, administratorer eller patruljanter kan angive dette med særlige bokse med deres brugersider. Boksene må kun indsættes, hvis man faktisk har en af de pågældende tillidsposter.

Brugerdiskussionssider

[redigér | rediger kildetekst]
  • Advarselsskabeloner - Bokse der indsættes som advarsel til personer, der har brudt vores politikker og normer, f.eks. ved at lave hærværk. De gør opmærksom på, at hvis opførslen fortsætter vil den pågældende blive blokeret.
  • Velkomstskabeloner - Bokse med generelle informationer der indsættes som velkomst til nye brugere. Det henstilles, at man venter med at indsætte velkomsten til efter, at den nye bruger har lavet sine første redigeringer. På den måde kan man se, om det er en seriøs bruger, der skal have en venlig velkomst, eller en useriøs, der skal have en advarsel.

Lua-programmering

[redigér | rediger kildetekst]

Siden februar 2013 har programmeringssproget Lua været tilgængelig ved hjælp af MediaWiki-udvidelsen Scribunto. Lua-kode kan indbygges i skabelonkoden ved at bruge parserfunktionen {{#invoke: Modul | funktion | arg1 | arg2 | arg3 ...}}. Luas kildekode bliver gemt i sider kaldet moduler. F.eks. kan funktionen 'hello' fra Modul:Bananas kaldes fra en skabelon med {{#invoke:Bananas|hello}}, for at skrive teksten "Hello, world!".

  1. ^ Da det er nødvendigt at kigge på den nye wikitekst igen, og den nye wikitekst selv ikke kan forhåndsvises mens man redigerer, vil man ikke kunne se resultatet af skabelonsubstitutionen i wikiteksten inden man gemmer siden.
  2. ^ Dette gælder ikke hvis den lodrette streg findes inden i et andet element, f.eks. et wikilink med en særskilt henvisningstekst.
  3. ^ Dette gælder ikke hvis lighedstegnet findes inden i et andet skabelonkald, fordi Wikipedias software behandler dette separat.