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, maarqTemplate[++k] = 'beginnetje' ;
werkt wel altijd. Om toch een hoofdletter op het scherm en in de bewerkingssamenvatting te krijgen, noem de kleine letter apartqTemplate[++k] = 'NPOV|nPOV' ;
Een streepje (qTemplate[++k] = '-' ;
) zorgt voor tussenruimte.
- sjabloon bepaalt het sjabloon dat toegevoegd wordt, of weggehaald.
qPos[k] = 'positie' ;
- positie kan
top
ofbottom
zijn.top
plaatst het sjabloon bovenaan de pagina,bottom
onderaan. BijvoorbeeldqPos[k] = 'bottom' ;
Indien gekozen voor tussenruimte, dan een afstand (in %) bijvoorbeeldqPos[k] = '10%' ;
- positie kan
qCategory[k] = 'link' ;
- link kan elke pagina binnen wikipedia zijn, bijvoorbeeld:
qCategory[k] = 'Categorie:Wikipedia:Beginnetje' ;
- link kan elke pagina binnen wikipedia zijn, bijvoorbeeld:
Niet verplicht zijn:
qHidden[k] = 1 ;
- zet het sjabloon in de uitklapbalk. Merk op dat er geen aanhalingstekens om de
1
staan.
- zet het sjabloon in de uitklapbalk. Merk op dat er geen aanhalingstekens om de
qDisplayText[k] = 'tekst' ;
- tekst is de tekst die te zien is op het scherm. Bijvoorbeeld
qTemplate[++k] = 'nPOV' ; qDisplayText[k] = 'NPOV' ;
- tekst is de tekst die te zien is op het scherm. Bijvoorbeeld
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}}';
ofqTemplateText[k] = '{{welkom}}\n~~~~';
De oorspronkelijke inhoud van de pagina is beschikbaar als$1
.
- complex sjabloon vervangt de gehele inhoud van de pagina bij het opslaan. Bijvoorbeeld:
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
.
- Vraagt de gebruiker iets. Bijvoorbeeld
qDefault[k] = 'antwoord' ;
- antwoord is alvast ingevuld als de gebruiker iets gevraagd wordt. Bijvoorbeeld
qDefault[k] = "geklieder op ''" + vandalizedPage + "''";
- antwoord is alvast ingevuld als de gebruiker iets gevraagd wordt. Bijvoorbeeld
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 metqTemplateText[k]
.
- dit zijn de keuzen die in het lijstje komen. Bijvoorbeeld:
qTemplateText[k] = ['sjabloon1', 'sjabloon2', ...., 'sjabloonN'];
- de sjabloondefinities komen overeen met de opties: evenveel en in dezelfde volgorde. Bijvoorbeeld:
qTemplateText[k] = ['{{hola}}','{{zandbak}}', '{{waarschuwing}}'] ;
- de sjabloondefinities komen overeen met de opties: evenveel en in dezelfde volgorde. Bijvoorbeeld:
qWidth[k]= 'breedte';
- breedte bepaalt de breedte van de combobox. Bijvoorbeeld
qWidth[k]= '150';
- breedte bepaalt de breedte van de combobox. Bijvoorbeeld
Variabelen bewerken
vandalizedPage
- De variabele
vandalizedPage
is beschikbaar en bevat vaak de titel van de relevante pagina. Plak elk stuk tekst aanelkaar met+
. Bijvoorbeeld:
- De variabele
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}} ~~~~'
- De inhoud van de pagina wordt vervangen door de tekst van
\n
- begint een nieuwe regel. Bijvoorbeeld bij een kopje:
'\n==Kopje==\n'
- begint een nieuwe regel. Bijvoorbeeld bij een kopje:
\'
- Enkel aanhalingsteken binnen enkele aanhalingstekens:
'pagina\'s'
- Enkel aanhalingsteken binnen enkele aanhalingstekens:
\"
- Dubbel aanhalingsteken binnen dubbele aanhalingstekens:
"zeg maar \"dag\"!"
- Dubbel aanhalingsteken binnen dubbele aanhalingstekens:
!!!
- Om in vinkbare sjablonen toch een pipe te kunnen opnemen:
wiu|wiu!!!erg slecht
- Om in vinkbare sjablonen toch een pipe te kunnen opnemen:
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
- Gebruiker:Zanaq/Zeusmode/nl-templates.js - de voorgedefinieerde sjablonen voor de nederlandse wikipedia.
- Gebruiker:Zanaq/zeusmodetemplates.js - berichtjes voor GFDL- en Auteursrechtenschendingen.
- Gebruiker:MoiraMoira/zeusmodetemplates.js - waarschuwingssjablonen voor school, hogeschool en organisatie.
Zie ook bewerken
Deze pagina mag bewerkt en verduidelijkt worden alsof zij zich in de Help-naamruimte bevindt