Skabelon:Infoboks

Page semibeskyttet
Fra Wikipedia, den frie encyklopædi
Documentation icon Skabelondokumentation[vis] [redigér] [historik] [opfrisk]
Denne skabelon indeholder en eller flere valgbare parametre.
Skabelonen anvender en syntaks, som er yderst kompliceret og esoterisk. Forsøg ikke at ændre den, medmindre du er helt sikker på, at du forstår opbygningen og er indstillet på at udbedre alle eventuelle uheldige følger af, at ændringer giver et uventet resultat. Alle eksperimenter bør udføres i sandkassen, sandkasse-skabelonen, eller på din egen brugerside.

Brug

Denne skabelon er en hjælpeskabelon, udviklet af en:wiki som en hjælpeskabelon til at fremstille andre skabeloner. Den er ikke beregnet på at blive brugt direkte i artikler.

Hver række i tabellen i en infoboks kan være

  1. en overskrift (header)
  2. et parvis samhørende sæt af forspalte/data
  3. kun en linje med data

Disse valg udelukker hinanden.

Bemærk, at indsættelse af et billede andre steder end i toppen eller indsættelse af andre data i frit format kan gøres ved brug af mulighed 3).

Parametre

Vis/diskuter/rediger-links

navn
Den skabelon, som "Vis/diskuter/rediger"-links skal henvise til. Der kan bruges {{subst:PAGENAME}}. Udelades denne parameter, vises Vis/diskuter/rediger-links ikke.

Titel

Tekst står oven over infoboksen
(resten af infoboksen kommer her)
Teksten står i infoboksens øverste celle
(resten af infoboksen kommer her)

Der er to måder at give infoboksen en titel på: Enten som en overskrift inden for infoboksens ramme eller som en overskrift over infoboksen. Begge kan benyttes samtidig, hvis det ønsket, eller begge kan undlades (hvilket dog ikke anbefales).

title
Tekst som sættes over infoboksen
above
Tekst som sættes i infoboksens øverste celle.

Valgfrit indhold

image
Et billede, som vises øverst i infoboksen. Brug fuld billedsyntax, som [[Billede:eksempel.png|200px]]. Billedet centreres som default.
(Senere tilføjelse): Se også vejledningen til modulet Modul:InfoboxImage der gør brug af billeder i infobokse mere fleksibelt.
Eksempel fra koden til {{Infoboks sejlbåd}}:
|image = {{#invoke:InfoboxImage|InfoboxImage|image={{{billede|}}}|size={{{billedstørrelse|{{{Size|}}}}}}|sizedefault=250x150px|alt={{{imagealt|}}}}}
caption
Billedtekst under billedet.
header(n)
Teksten, der er overskrift i række n.
label(n)
Teksten, som er forspaltetekst i række n.
data(n)
Teksten, som er data i række n.
below
Teksten, som skal stå i den nederste celle. Den er beregnet til fodnoter, "se også" og anden tilsvarende information.

Valgfri CSS styling

bodystyle
Gælder for infoboksen som helhed
titlestyle
Gælder kun for titelteksten. Det er normalt utilrådeligt at bruge denne, eftersom teksten vises uden for infoboksen.
abovestyle
Gælder kun for "above" cellen i toppen. Default gælder font-size:large; skal teksten vises i alm. størrelse, må "font-size:medium;" sættes ind i abovestyle.
imagestyle
Gælder for den celle, der indeholder billedet. Det omfatter også billedteksten, men tekstegenskaberne bør sættes med captionstyle i stedet for imagestyle for at tage hensyn til, at billedsteksten flyttes ud af denne celle i fremtiden.
captionstyle
Gælder for billedteksten.
headerstyle
Gælder for alle celler med overskrifter
labelstyle
Gælder for alle celler med forspalte
datastyle
Gælder for alle celler med data
belowstyle
Gælder kun for den nederste celle

Mikroformater

Ikke implementeret på da:wiki, men findes i skabelonen. Vejledningens tekst er gemt som skjult tekst her og kan aktiveres, når det bliver aktuelt.




At gøre felter valgfri

En række med forspalte, og som ikke indeholder data, vises ikke. Det tillader enkelt oprettelse af valgfri rækker med infoboks-indhold. Hvis en række skal være valgfri, skal der bruges en parameter, der har en tom "string" som default, som:

|label5 = Folketal
|data5  = {{{Folketal|}}}

Definerer en artikel ikke folketalsparameteren, vises rækken slet ikke.

Til mere komplekse felter med præformateret indhold, som stadig ville blive vist, hvis parameteren ikke var angivet, kan det hele inkluderes i en "#if"-sætning. For eksempel læses den følgende "#if"-sætning således: "#if: parameteren masse er anført | så vis den, efterfulgt af 'kg'":

|label6 = Masse
|data6  = {{#if:{{{masse|}}} | {{{masse}}} kg}}
Kursiv

Dette gælder også hvis man vil have titler vist med kursiv. Hvis man (fejlagtigt) brugte:

|label3 = Originaltitel
|data3 = ''{{{originaltitel}}}''

ville anførselstegnene stå tilbage hvis parameteren originaltitel ikke bruges, og feltet ville så vises da det ikke er tomt. Det kan undgås ved i stedet at bruge:

|label3 = Originaltitel
|data3 = {{#if: {{{originaltitel|}}} | ''{{{originaltitel}}}'' }}

Mere information om #if findes her.

Også overskrifter kan gøres valgfri på tilsvarende måde. Skal overskriften kun vises, hvis et eller flere datafelter under den er udfyldt, så viser følgende eksempel fremgangsmåden:

{{Infoboks
|name    = {{subst:PAGENAME}}
|title   = Eksempel på en valgfri overskrift
|header1 = {{#if:{{{data_et|}}}{{{data_to|}}}{{{data_tre|}}} |Valgfri header}}
|label2  = Data et
|data2   = {{{data_et|}}}
|label3  = Data to
|data3   = {{{data_to|}}}
|label4  = Data tre
|data4   = {{{data_tre|}}}
}}

header1 vil blive vist, hvis en eller flere af værdierne for data_et, data_to eller data_tre er anført og ellers ikke.

Fremgangsmåden udnytter, at "if" kun returnerer værdien falsk, hvis der slet ikke er noget i betingelsesdelen, så det sker kun, hvis alle tre værdier er udefineret.

Eksempler

Test Infoboks
Billedtekst til example.svg
Overskrift defineret alene
Data defineret alene
Alle tre defineret (overskrift)
Forspalte og data defineret (Forspalte) Forspalte og data defineret (data)
Bundtekst
{{Infoboks
|name    = Infoboks/doc
|title   = Test Infoboks
|image   = [[Image:Example.svg|200px]]
|caption = Billedtekst til example.svg

|headerstyle  = background:#ccf;
|labelstyle   = background:#ddf;

|header1 = Overskrift defineret alene
|label1  = 
|data1   = 
|header2 = 
|label2  = Forspaltetekst defineret alene
|data2   = 
|header3 = 
|label3  = 
|data3   = Data defineret alene
|header4 = Alle tre defineret (overskrift)
|label4  = Alle tre defineret (forspalte)
|data4   = Alle tre defineret (data)
|header5 = 
|label5  = Forspalte og data defineret (forspalte)
|data5   = Forspalte og data defineret (data)

|belowstyle = background:#ddf;
|below = Bundtekst
}}

Bemærk, hvordan en forspaltetekst uden en tilhørende datacelle ikke vises i infoboksen, og at en overskrift, som er defineret for samme række som en datacelle går forud for denne.


I dette eksempel er {{{1}}} og {{{1}}}

Test Infoboks
Forspalte 1 Data 1
Forspalte 2 Data 2
Forspalte 3 Data 3
Overskrift 4
Forspalte 5 Data 5: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Bundtekst


Fuld infobokssyntax

(Bemærk: Skabelonen håndterer op til 80 rækker; kun 20 er vist her, eftersom større infobokse er sjældne. Er der brug for flere, forsættes nummerering efter behov. Mikroformatets "class"- parametre er også udeladt, fordi de ikke er i almindelig brug.)

{{Infoboks
| name         = {{subst:PAGENAME}}
| bodystyle    = 
| title        = 
| titlestyle   = 
| above        = 
| abovestyle   = 
| image        = 
| imagestyle   = 
| caption      = 
| captionstyle = 
| headerstyle  = 
| labelstyle   = 
| datastyle    = 

| header1  = 
| label1   = 
| data1    = 
| header2  = 
| label2   = 
| data2    = 
| header3  = 
| label3   = 
| data3    = 
| header4  = 
| label4   = 
| data4    = 
| header5  = 
| label5   = 
| data5    = 
| header6  = 
| label6   = 
| data6    = 
| header7  = 
| label7   = 
| data7    = 
| header8  = 
| label8   = 
| data8    = 
| header9  = 
| label9   = 
| data9    = 
| header10 = 
| label10  = 
| data10   = 
| header11 = 
| label11  = 
| data11   = 
| header12 = 
| label12  = 
| data12   = 
| header13 = 
| label13  = 
| data13   = 
| header14 = 
| label14  = 
| data14   = 
| header15 = 
| label15  = 
| data15   = 
| header16 = 
| label16  = 
| data16   = 
| header17 = 
| label17  = 
| data17   = 
| header18 = 
| label18  = 
| data18   = 
| header19 = 
| label19  = 
| data19   = 
| header20 = 
| label20  = 
| data20   = 

| belowstyle =
| below = 
}}