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 | brontekst 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 | brontekst 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 | brontekst 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 | brontekst 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 | brontekst 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 | brontekst bewerken]
Sjabloon:Berisping[bewerken | brontekst bewerken]
if (mw.config.get('wgCanonicalNamespace') === "User talk") {
qTemplate[++k] = 'brp|berisping' ;
qPos[k] = 'top' ;
qCategory[k] = 'Categorie:Waarschuwing' ;
}
Sjabloon:Coördinaten[bewerken | brontekst 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 | brontekst 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 | brontekst 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 | brontekst bewerken]
Deze pagina mag bewerkt en verduidelijkt worden alsof zij zich in de Help-naamruimte bevindt