Gebruiker:P4b/Xmpls
Uiterlijk
ParserFunctions
[bewerken | brontekst bewerken]ParserFunctions, een extensie van MediaWiki waarmee onder andere berekeningen mogelijk zijn gemaakt. Hou er bij het gebruik rekening mee dat deze functie mogelijk snel weer wordt uitgezet[1]. De nieuwe parserfuncties experimenteel en vooralsnog zijn ze erg lastig te gebruiken voor rechts-naar-links talen als het Arabisch, Hebreeuws etc.
Parser functies hebben de algemene syntax:
- {{#functiennaam: parameter 1 | parameter 2 | parameter 3...}}
Functies
[bewerken | brontekst bewerken]- expr: {{#expr: (100 - 32) / 9 * 5 round 0}} — Voert een berekening uit
- if: {{#if: <conditie> | <then tekst> | <else tekst> }}</nowiki> — Conditioneel weergeven.
- N.B.: De if functie is een "if defined" en evalueert zelf géén vergelijkingen dus {{#if: 1 = 2|ja|nee}} geeft altijd "ja", want "1 = 2" is niet leeg of alleen whitespace.
- Test (WebBoy): {{#if:{{{reden|}}}|De reden is: {{{reden}}}|Er is geen reden opgegeven}} Geeft: Er is geen reden opgegeven
- ifexpr: {{#if: <expressie> | <then tekst> | <else tekst> }}</nowiki> — Conditioneel weergeven afhankelijk van expressie.
- Als de expressie het resultaat '0' oplevert wordt de 'else tekst' uitgevoerd in alle andere gevallen de 'then tekst'.
- ifeq: {{#ifeq: <comparison text 1> | <comparison text 2> | <equal text> | <not equal text> }} — Vergelijkt twee strings
- Test: {{#ifeq: test|test|zelfde|ongelijk}} Geeft: zelfde
- Test: {{#ifeq: Test|test|zelfde|ongelijk}} Geeft: ongelijk
- Test: {{#ifeq: test|Test|zelfde|ongelijk}} Geeft: ongelijk
- Test: {{#ifeq: Kort|Kortbegin|zelfde|ongelijk}} Geeft: ongelijk
- Test: {{#ifeq: Kortbegin|Kort|zelfde|ongelijk}} Geeft: ongelijk
- rand: {{#rand: <minimum> | <maximum> }} — Kiest willekeurig uit opgegeven mogelijkheden
- Test: {{#rand: 0 | 99 }} — Geeft: {{#rand: 0 | 99 }} (dus alleen gehele getallen)
- Test: {{#rand: 0.1 | 0.9 }} — Geeft: {{#rand: 0.1 | 0.9 }} (dus geen breuken)
- Test: {{#rand: Naam10 | Naam99 }} — Geeft: {{#rand: Naam10 | Naam99 }} (dus niet tellen met substrings)
Quickstart
[bewerken | brontekst bewerken]- {{#if: {{Tekst}} | True | False}} Kijkt of de tekst (string) Tekst niet leeg is.
- {{#ifexpr: {{#expr: 1 = 2}} | True | False }} Kijkt of het getal 1 gelijk is aan het getal 2 (Let op de dubbele punt na expr!)
- {{#ifexpr: {{{<parameter>|0}}} | <optionele tekst> | }} Voegt de optionele tekst toe indien 'parameter' en anders niets.
Voorbeelden
[bewerken | brontekst bewerken]- Random tekst: Pudding is {{#ifexpr:{{#rand:0|1}}|de beste|een sukkel}}! Wordt: Pudding is Fout in uitdrukking: Onbekend leesteken "{".!
- Random foto1: {{#ifexpr:{{#rand:0|1}}|[[Image:Bossche_Bol.jpg|32px]]|}} Wordt: Fout in uitdrukking: Onbekend leesteken "{".
- Random foto2: [[Image:{{#ifexpr:{{#rand:0|1}}|Negerzoenen.jpg|Bossche Bol.jpg}}|32px]] Wordt: [[Afbeelding:Fout in uitdrukking: Onbekend leesteken "{".|32px]]
Willekeurige foto3
[bewerken | brontekst bewerken][[Afbeelding:Fout in uitdrukking: Onbekend leesteken "{".|thumb|Dit snoepen we vandaag]]
Resultaat van onderstaande code zie rechts:
[[Afbeelding:{{#ifexpr:{{#rand: 0|5}}|{{#ifexpr:{{#rand: 0|4}}| {{#ifexpr:{{#rand: 0|3}}|{{#ifexpr:{{#rand: 0|2}}|{{#ifexpr:{{#rand: 0|1}}| Bossche Bol.jpg| Melo Cake of Mallo met doorsnede.jpg}}| Roze Marshmallows.jpg}}| Jodekoeken met AA-batterij.jpg}}| Blanke Kussen.jpg}}| Negerzoenen.jpg}}|thumb|Dit snoepen we vandaag]]
Nadeel: lelijk en cache wordt alleen vernieuwd na een bewerking van de pagina?!!!!