Gebruiker:Zanaq/Zeusmodus/Sjablonen

In Zeusmodus kun je ook zelf je eigen sjablonen toevoegen, of de voorgedefinieerde sjablonen vervangen naar eigen smaak.

Aktiveer de persoonlijke sjablonen via Zeusmode:Preferences en maak de sjabloonpagina aan, bijvoorbeeld Special:MyPage/zeusmodetemplates.js.

Elk sjabloon wordt bepaald door een paar instellingen in de vorm parameter = waarde ;.

Als je kunt programmeren in JavaScript kun je er natuurlijk lekker vrij mee omgaan, in het andere geval: let vooral op de aanhalingstekens en op de puntkomma's.

Vinkje bewerken

De simpelste en minimaalste vorm geeft een vinkje:

qTemplate[++k] = 'sjabloon'    ; 
qPos[k]        = 'positie'     ;  
qCategory[k]   = 'link'        ;

of op 1 regel:

qTemplate[++k] = 'sjabloon ; qPos[k] ='positie' ;  qCategory[k] = 'link' ;
  • qTemplate[++k] = 'sjabloon' ;
    sjabloon bepaalt het sjabloon dat toegevoegd wordt, of weggehaald. qTemplate[++k] moet het eerste zijn van de instellingen voor dit sjabloon. Sjablonen met meerdere namen kunnen met pipes (|) gescheiden worden: qTemplate[++k] = 'ws|waarschuwing' ; Begin met een kleine letter: qTemplate[++k] = 'Beginnetje' ; werkt niet altijd, maar qTemplate[++k] = 'beginnetje' ; werkt wel altijd. Om toch een hoofdletter op het scherm en in de bewerkingssamenvatting te krijgen, noem de kleine letter apart qTemplate[++k] = 'NPOV|nPOV' ; Een streepje (qTemplate[++k] = '-' ;) zorgt voor tussenruimte.
  • qPos[k] = 'positie' ;
    positie kan top of bottom zijn. top plaatst het sjabloon bovenaan de pagina, bottom onderaan. Bijvoorbeeld qPos[k] = 'bottom' ; Indien gekozen voor tussenruimte, dan een afstand (in %) bijvoorbeeld qPos[k] = '10%' ;
  • qCategory[k] = 'link' ;
    link kan elke pagina binnen wikipedia zijn, bijvoorbeeld: qCategory[k] = 'Categorie:Wikipedia:Beginnetje' ;

Niet verplicht zijn:

  • qHidden[k] = 1 ;
    zet het sjabloon in de uitklapbalk. Merk op dat er geen aanhalingstekens om de 1 staan.
  • qDisplayText[k] = 'tekst' ;
    tekst is de tekst die te zien is op het scherm. Bijvoorbeeld qTemplate[++k] = 'nPOV' ; qDisplayText[k] = 'NPOV' ;

Knop bewerken

Een knop wordt geplaatst als qTemplateText[k] een waarde heeft. De parameters van het vinkje zijn hier ook toegestaan, cq. verplicht.

  • qTemplateText[k] = 'complex sjabloon' ;
    complex sjabloon vervangt de gehele inhoud van de pagina bij het opslaan. Bijvoorbeeld: qTemplateText[k] = '{{vertrokken}}'; of qTemplateText[k] = '{{welkom}}\n~~~~'; De oorspronkelijke inhoud van de pagina is beschikbaar als $1.
  • qPrompt[k] = 'vraag?' ;
    Vraagt de gebruiker iets. Bijvoorbeeld qPrompt[k] = 'Wat is de maat van uw schoenen?' ;. Het antwoord op de vraag is beschikbaar als $2.
  • qDefault[k] = 'antwoord' ;
    antwoord is alvast ingevuld als de gebruiker iets gevraagd wordt. Bijvoorbeeld qDefault[k] = "geklieder op ''" + vandalizedPage + "''";
  • dontusesquirlyBrackets[k]=1;
    Onderdrukt krulhaken in de samenvatting.

Uitklaplijst bewerken

De parameters van vinkje en knop zijn hier ook toegestaan, cq. verplicht. Voor een uitklaplijst moet je ook nog definieren wat in de lijst komt te staan, en eventueel hoe dat op de pagina moet komen:

  • qOptions[k]=['keuze1', 'keuze2', ...., 'keuzeN'];
    dit zijn de keuzen die in het lijstje komen. Bijvoorbeeld: qOptions[k]=["hola", "zb", "ws"];Bug: opties met diakrieten (zoals ë,ó) werken niet in combinatie met qTemplateText[k].
  • qTemplateText[k] = ['sjabloon1', 'sjabloon2', ...., 'sjabloonN'];
    de sjabloondefinities komen overeen met de opties: evenveel en in dezelfde volgorde. Bijvoorbeeld: qTemplateText[k] = ['{{hola}}','{{zandbak}}', '{{waarschuwing}}'] ;
  • qWidth[k]= 'breedte';
    breedte bepaalt de breedte van de combobox. Bijvoorbeeld qWidth[k]= '150';

Variabelen bewerken

  • vandalizedPage
    De variabele vandalizedPage is beschikbaar en bevat vaak de titel van de relevante pagina. Plak elk stuk tekst aanelkaar met +. Bijvoorbeeld:
qTemplateText[k] = '{{mijnSjabloon|' + vandalizedPage + '}}' ;
Of complexer:
qTemplateText[k] = '$1\n==' + vandalizedPage + '==\n{{subst:Gebruiker:Ikke/MijnSjabloon|1=' + vandalizedPage + '|2=$2}} ~~~~';
  • $1, $2
    De inhoud van de pagina wordt vervangen door de tekst van qTemplateText[k]. Binnen die tekst kan $1 of $2 gebruikt worden, wat vervangen wordt.
    • $1 - wordt vervangen door de (oude) inhoud van de pagina. Bijvoorbeeld '{{hola}}\n$1'
    • $2 - wordt vervangen door wat de gebruiker intypt in de popup. '$1\n{{vvn|$2}} ~~~~'
  • \n
    begint een nieuwe regel. Bijvoorbeeld bij een kopje: '\n==Kopje==\n'
  • \'
    Enkel aanhalingsteken binnen enkele aanhalingstekens: 'pagina\'s'
  • \"
    Dubbel aanhalingsteken binnen dubbele aanhalingstekens: "zeg maar \"dag\"!"
  • !!!
    Om in vinkbare sjablonen toch een pipe te kunnen opnemen: wiu|wiu!!!erg slecht

Naamruimten bewerken

Soms wil je een sjabloon alleen in bepaalde naamruimten gebruiken. Zet de sjablonen dan in een blok met een voorwaarde:

if (mw.config.get('wgCanonicalNamespace') === "Naamruimte") {
    // Zet hier je sjablonen
}

Naamruimte is de engelstalige naamruimte, volgens de volgende lijst:

"Media" - "Special" - "Talk" - "User" - "User talk" - "Wikipedia" - "Wikipedia talk"- "File" - "File talk" - "MediaWiki" - "MediaWiki talk" - "Template" - "Template talk" - "Help" - "Help talk" - "Category" - "Category talk"

Let op: de overige naamruimten krijgen de lokale namen, bijvoorbeeld "Portaal".

Voorbeelden bewerken

Sjabloon:Berisping bewerken

if (mw.config.get('wgCanonicalNamespace') === "User talk") {
    qTemplate[++k] = 'brp|berisping' ; 
    qPos[k]        = 'top' ; 
    qCategory[k]   = 'Categorie:Waarschuwing' ;
}

Sjabloon:Coördinaten bewerken

if (mw.config.get('wgCanonicalNamespace') === "") {
    qTemplate[++k] = 'coördinaten|coordinaten'; 
    qPos[k]        = 'bottom'   ;  
    qCategory[k]   = 'Sjabloon:Coördinaten' ;
    qOptions[k]    = ["", '00_00_00_N_00_00_00_W_scale:0000000|0° 0\' 0\" NB 0° 0\' 0\" WL']; 
    qHidden[k]     = 1; 
    qWidth[k]      = 200;
}

Sjabloon:Geen coördinaten bewerken

    if (mw.config.get('wgCanonicalNamespace') === "") {
        qTemplate[++k] = 'Geen coördinaten'    ; 
        qPos[k] ='bottom'      ;  
        qCategory[k] = 'Categorie:Wikipedia:Co%C3%B6rdinaten_gewenst' ;
        qDisplayText[k]='¬Crd';
        qHidden[k]=1;
        qOptions[k]=[
            "", 
            "België", 
            "Drenthe", 
            "Flevoland", 
            "Friesland", 
            "Gelderland", 
            "Groningen", 
            "Noord-Brabant", 
            "Noord-Holland", 
            "Overijssel", 
            "Utrecht", 
            "Zeeland", 
            "Limburg (Nederland)", 
            "Zuid-Holland"
        ];
}

Complete sets bewerken

Zie ook bewerken

Deze pagina mag bewerkt en verduidelijkt worden alsof zij zich in de Help-naamruimte bevindt