Sjabloon:Stamboom

Uit Wiki Raamsdonks Erfgoed
Versie door Colani (overleg | bijdragen) op 15 nov 2024 om 12:28 (1 versie geïmporteerd)
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)



De sjabloonbeschrijving hieronder wordt niet afgebeeld wanneer het sjabloon wordt geplaatst

Uitleg

Een stamboom is een rechthoekig patroon van tegels (tiles) en boxen. Dit sjabloon produceert een enkele rij in een stamboom.

  • Een tegel bevat verbindingslijntjes
  • Een box bevat tekst, eventueel een plaatje, met of zonder links naar andere pagina's

Een box is precies drie tegels breed en heeft een zwarte rand van 2 pixels dik.

Het sjabloon accepteert tot 99 parameters waarvan de waarde in de sjabloonaanroep wordt gespecificeerd zonder expliciete parameternaam, en daarnaast parameters met een expliciete naam; de onderlinge volgorde van de eerstgenoemde soort parameters correspondeert met de volgorde in het resultaat. De parameterwaarden kunnen uit een enkel teken bestaan en dan resulteert dat meestal in een tegel, tenminste als het teken bekend is. De tekens hebben enigszins de vorm van een tegel, zodat ze gemakkelijk te onthouden zijn. Een speciale tegel is de lege tegel, die verkregen wordt door een spatie.

De overige waarden van deze parameters zonder expliciete parameternaam resulteren in een box. De inhoud kan direct gegeven wordt door de parameterwaarde, maar de parameterwaarde kan ook een boxnaam zijn, dit is de naam van een parameter die deze inhoud verderop in de sjabloonaanroep specificeert.

Een tabel met mogelijke tegels staat hieronder. Sjabloon:Stamboom/parameters

Voorbeeld

De code:

{{Stamboom/start}}
{{Stamboom | | | | Oma |~|y|~| Opa | |}}
{{Stamboom | | | | | | | |)|-|-|-|.| }}
{{Stamboom | | |Mama|y|Papa| |Tante|}}
{{Stamboom | |,|-|-|-|+|-|-|-|.| | | }}
{{Stamboom | Jan | | IK! | |Zusje| | |}}
{{Stamboom/eind}}

Resulteert in:

 
 
 
Oma
 
 
 
Opa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Mama
 
Papa
 
Tante
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Jan
 
IK!
 
Zusje
 
 

Boxnaam

De notatie als in het voorbeeld is overzichtelijk als een box hoogstens vijf tekens bevat. Worden de boxen langer, dan verlies je het overzicht tussen de regels. Daarom kun je in de sjabloonaanroep op de plaats van een box als parameternaam een zelfgekozen naam (de boxnaam) opgeven die daarachter wordt verklaard.

In het voorbeeld hieronder zijn de meeste boxnamen drie tekens lang en met spaties aangevuld tot vijf.

  • Een boxnaam van een enkel teken wordt afgeraden - het zou de code van een tegel kunnen zijn, misschien van een tegel die in een toekomstige uitbreiding gedefinieerd wordt.
  • Een boxnaam bestaande uit enkel cijfers kan verwarring geven met positionele parameters, geeft daardoor onvoorspelbare resultaten en wordt dus ook afgeraden.

De code:

{{Stamboom/start}}
{{Stamboom | | | | GRM |~|y|~| GRV | | GRM=[[Grootmoeder|Oma]]|GRV=[[Grootvader|Opa]]}}
{{Stamboom | | | | | | | |)|-|-|-|.| }}
{{Stamboom | | | MOE |y| VAD | | ELLA| MOE=Mamma|VAD=Pappa|ELLA=[[Tante Ella]]}}
{{Stamboom | |,|-|-|-|+|-|-|-|.| | | }}
{{Stamboom | JAN | | IK  | | ZUS | | | JAN=Mijn broer Jan|IK='''Ik!'''|ZUS=Mijn kleine zusje}}
{{Stamboom/eind}}

Resulteert in:

 
 
 
Oma
 
 
 
Opa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Mamma
 
Pappa
 
Tante Ella
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Mijn broer Jan
 
Ik!
 
Mijn kleine zusje
 
 


Zonder lijntjes

Staan er geen lijntjes tussen de boxen, dan resulteert dat soms in een lelijke layout met kleine boxen en grote tegels. Het probleem is op te lossen met een aantal lege tegels:

{{Stamboom/start|style=font-size:67%;}}
{{Stamboom|pers1| |pers2| |pers3| |pers4}}
{{Stamboom| |!}}
{{Stamboom| |pers5| |pers6| |pers7| |pers8}}
{{Stamboom/eind}}

resulteert in:

pers1
 
pers2
 
pers3
 
pers4
 
 
 
 
pers5
 
pers6
 
pers7
 
pers8
{{Stamboom/start|style=font-size:67%;}}
{{Stamboom|pers1| |pers2| |pers3| |pers4}}
{{Stamboom| |!| | | | | | | | | | | | | | | }} <-- aangevuld met lege tegels
{{Stamboom| |pers5| |pers6| |pers7| |pers8}}
{{Stamboom/eind}}

resulteert in:

pers1
 
pers2
 
pers3
 
pers4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
pers5
 
pers6
 
pers7
 
pers8

Opmaak

Het uiterlijk van boxen kan worden beïnvloed door de optionele parameters border en boxstyle. De eerstgenoemde bepaalt de breedte van de boxrand in pixels, de tweede kan gebruikt worden voor CSS. Dit werkt voor alle boxen op een regel. Wil je elke box een eigen kleur geven, gebruik dan de parameter [boxnaam]kl=[kleur].

Alle boxen op een regel dezelfde kleur

{{Stamboom/start}}
{{Stamboom|border=0|boxstyle=background:lightgreen;|Box 1|y|Box 2}}
{{Stamboom|border=0|boxstyle=background:#dfd;      | |,|-|^|-|.| | }}
{{Stamboom|border=0|boxstyle=background:lightblue; |Box 3|y|Box 4}}
{{Stamboom/eind}}

Geeft als resultaat:

Box 1
 
Box 2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Box 3
 
Box 4
 
 

Het kleuren van individuele boxen

Voor een box met een boxnaam kan de kleur worden gespecificeerd als waarde van de parameter met als naam de boxnaam, gevolgd door "kl". Indien er spaties staan achter de in eerste instantie opgegeven boxnaam dan moeten deze ook tussen de boxnaam en "kl" staan. (Bij het specificeren van de inhoud van de box is het echter niet nodig deze spaties tussen de boxnaam en het is-teken te plaatsen.)

{{Stamboom/start}}
{{Stamboom|  pa |y|  ma|     pa=Vader|   ma=Moeder|   pakl=red|   makl=pink}} 
{{Stamboom| |,|-|^|-|.| }}
{{Stamboom| zoon| |docht|    zoon=<span style="color:green">Zoon</span>|   docht=Dochter|   Dochterkl=red}} 
{{Stamboom/eind}}

Geeft als resultaat:

Vader
 
Moeder
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Zoon
 
Dochter

Er zijn hier twee fouten gemaakt, waardoor vader en dochter geen kleur hebben gekregen:

  • de boxnaam van vader is niet 'pa' maar 'pa ', er staat een spatie na 'pa', dus 'pakl' moet 'pa kl' zijn, of de boxnaam moet rechts aangesloten in het vakje staan (pipe direct na de naam).
  • de boxnaam van de dochter is 'docht', niet 'Dochter'

Het sjabloon {{Stamboom/start}} accepteert ook een optionele style-parameter die gebruikt kan worden voor CSS-styles voor de gehele tabel.

Conventies

We streven in Wikipedia naar een uniforme layout. Enkele suggesties:

Ouders komen boven de kinderen met een lijntje ertussen. Een andere plaatsing is mogelijk om ruimte te sparen, maar in elk geval komt er een lijntje van de onderkant van de ouders naar de bovenkant van de kinderen.

Broers en zussen komen naast elkaar, met of zonder tussenruimte. Eventueel boven elkaar zonder tussenruimte.

Tussen echtparen komt een horizontale gestippelde lijn. De kinderen takken af van dat lijntje, of (wat de voorkeur heeft als iemand meerdere keren getrouwd was) van een van de ouders.

De vrouwen krijgen een roze achtergrond.

Voorbeelden:

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Willem III
 
 
Wilhelmina
 
 
Juliana
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
BeatrixIreneMargrietChristina



 
Sophie
 
Willem III
 
Emma
 
 
 
Willem III
 
Sophie
 
Emma
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WillemMauritsAlexanderWilhelmina
 
 
 
 
 
 
 
Willem
 
Wilhelmina
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Maurits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Alexander

<templatedata> { "params": { "1": { "type": "line" }, "2": { "type": "line" }, "3": { "type": "line" }, "4": { "type": "line" }, "5": { "type": "line" }, "6": { "type": "line" }, "7": { "type": "line" }, "8": { "type": "line" }, "9": { "type": "line" }, "10": { "type": "line" }, "11": { "type": "line" }, "12": { "type": "line" }, "13": { "type": "line" }, "14": { "type": "line" }, "15": { "type": "line" }, "16": { "type": "line" }, "17": { "type": "line" }, "18": { "type": "line" }, "19": { "type": "line" }, "20": { "type": "line" }, "21": { "type": "line" }, "22": { "type": "line" }, "23": { "type": "line" }, "24": { "type": "line" }, "25": { "type": "line" }, "26": { "type": "line" }, "27": { "type": "line" }, "28": { "type": "line" }, "29": { "type": "line" }, "30": { "type": "line" }, "31": { "type": "line" }, "32": { "type": "line" }, "33": { "type": "line" }, "34": { "type": "line" }, "35": { "type": "line" }, "36": { "type": "line" }, "37": { "type": "line" }, "38": { "type": "line" }, "39": { "type": "line" }, "40": { "type": "line" }, "41": { "type": "line" }, "42": { "type": "line" }, "43": { "type": "line" }, "44": { "type": "line" }, "45": { "type": "line" }, "46": { "type": "line" }, "47": { "type": "line" }, "48": { "type": "line" }, "49": { "type": "line" }, "50": { "type": "line" }, "51": { "type": "line" }, "52": { "type": "line" }, "53": { "type": "line" }, "54": { "type": "line" }, "55": { "type": "line" }, "56": { "type": "line" }, "57": { "type": "line" }, "58": { "type": "line" }, "59": { "type": "line" }, "60": { "type": "line" }, "61": { "type": "line" }, "62": { "type": "line" }, "63": { "type": "line" }, "64": { "type": "line" }, "65": { "type": "line" }, "66": { "type": "line" }, "67": { "type": "line" }, "68": { "type": "line" }, "69": { "type": "line" }, "70": { "type": "line" }, "71": { "type": "line" }, "72": { "type": "line" }, "73": { "type": "line" }, "74": { "type": "line" }, "75": { "type": "line" }, "76": { "type": "line" }, "77": { "type": "line" }, "78": { "type": "line" }, "79": { "type": "line" }, "80": { "type": "line" }, "81": { "type": "line" }, "82": { "type": "line" }, "83": { "type": "line" }, "84": { "type": "line" }, "85": { "type": "line" }, "86": { "type": "line" }, "87": { "type": "line" }, "88": { "type": "line" }, "89": { "type": "line" }, "90": { "type": "line" }, "91": { "type": "line" }, "92": { "type": "line" }, "93": { "type": "line" }, "94": { "type": "line" }, "95": { "type": "line" }, "96": { "type": "line" }, "97": { "type": "line" }, "98": { "type": "line" }, "99": { "type": "line" }, "100": { "type": "line" }, "101": { "type": "line" }, "boxstyle": { "type": "line" }, "border": { "type": "line" } }, "format": "inline" } </templatedata>