Handboek MediaWiki/Extensies
Een extensie is een uitbreiding op de originele software van de MediaWiki. Welke extensies op deze wiki beschikbaar zijn ziet u op de pagina Special:Version.
Installeren van extensies[bewerken]
Extensies worden geïnstalleerd in de subdirectory extensies; volg daarvoor de volgende stappen:
- Voor de start
- Sommige extensies behoeven de installatie van een patch. Een patch verandert de code van de MediaWiki programmatuur en wordt afgeraden omdat bij upgrade van Mediawiki de patch opnieuw (en mogelijk anders) moet worden gedaan. Bij de beschrijving van een extensies wordt indien nodig beschreven hoe dit gedaan moet worden.
- Download en installeer
ExtensionFunctions.php
- Sommige extensies, meestal de nieuwere, gebruiken een hulpbestand genaamd
ExtensionFunctions.php
. ExtensionFunctions bevat een serie van functies die het mogelijk maken dat extensies worden gemodulariseerd weg van de MediaWiki kerncode. De beste manier om dit bestand te installeren is om de laatste versie te downloaden van de subversion verzameling van MediaWiki (https://svn.wikimedia.org/svnroot/mediawiki/branches/REL1_11/phase3). Na het downloaden: kopieer hetExtensionFunctions.php
bestand naar de/extensions/
subdirectory van de MediaWiki installatie.
- Sommige extensies, meestal de nieuwere, gebruiken een hulpbestand genaamd
- Download de extensie.
- Extensies zijn meestal modulair en worden in een eigen subdirectory van
/extensions/
geplaatst. Een lijst van extensies inclusief beschrijving is te vinden op mediawiki.org: extension matrix. Een lijst van extensies die in de Wikimedia SVN repository te vinden is vindt men hier: svn:trunk/extensions.
- Extensies zijn meestal modulair en worden in een eigen subdirectory van
- Installeer de extensie.
- Gewoonlijk aan het einde van de
LocalSettings.php
, (maar boven de PHP end-of-code delimiter, "?>
") moet het volgende worden toegevoegd: require_once "$IP/extensions/extension_name/extension_name.php";
- Deze code laat de PHP interpreter het extensiebestand lezen, waardoor het toegankelijk wordt voor MediaWiki.
- Gewoonlijk aan het einde van de
Extensies[bewerken]
Een aantal extensies die ook op sommige Wikimedia-projecten beschikbaar zijn worden hier besproken.
Dynamicpagelist[bewerken]
Dynamicpagelist kan de inhoud van categorieën als links overzichtelijk weergeven.
Beschrijving van de extensie in het Engels is hier te vinden: mw:Extension:DynamicPageList/old.
Op Wikibooks wordt deze extensie voornamelijk gebruikt in het Kookboek om recepten die een bepaald ingrediënt gebruiken te groeperen bij het artikel over het ingrediënt.
Een voorbeeld:
<DynamicPageList> category = KB-tomaat count = 5 order = ascending addfirstcategorydate = true </DynamicPageList>
Dit geeft dan volgend resultaat binnen Wikibooks:
- 1 mrt 2007: Kookboek/Pasta met romige tomatensaus
- 1 mrt 2007: Kookboek/Boranija
- 1 mrt 2007: Kookboek/Pasta met rijst en gehakt
- 1 mrt 2007: Kookboek/Chili con carne
- 1 mrt 2007: Kookboek/Pasta met budgetbolognese
Selectiecriteria[bewerken]
category[bewerken]
category geeft een lijst van artikelen in die categorie. Worden meerdere categorieën opgegeven dan moet het artikel in beide categorieën voorkomen.
De syntax is category = categorienaam
<DynamicPageList> category = KB-tomaat category = KB-rijst </DynamicPageList>
Dit geeft dan volgend resultaat binnen Wikibooks:
notcategory[bewerken]
notcategory in combinatie met category laat de artikelen zien die wel binnen de eerste categorie zijn opgenomen, maar laat niet die artikelen zien die in notcategory zijn opgenomen.
Met dit voorbeeld ziet u de inverse van het vorige voorbeeld.
<DynamicPageList> category = KB-tomaat notcategory = KB-rijst </DynamicPageList>
Dit geeft dan volgend resultaat binnen Wikibooks:
- Kookboek/Balletjes in tomatensaus
- Kookboek/Pindasoep
- Kookboek/Broccoli met kaassaus
- Kookboek/Mozzarella met tomaten
- Kookboek/Aubergines in tomatensaus
- Kookboek/roze pasta
- Kookboek/Eolische salade
- Kookboek/Guacamole
- Kookboek/Smoske
- Kookboek/Mediterrane witte bonensoep
- Kookboek/Tomaten op de barbecue
- Kookboek/Goulash
- Kookboek/Griekse salade
- Kookboek/Pasta met mozzarella, tomaten en basilicum
- Kookboek/Couscousschotel
- Kookboek/Pasta met budgetbolognese
- Kookboek/Chili con carne
- Kookboek/Pasta met rijst en gehakt
- Kookboek/Boranija
- Kookboek/Pasta met romige tomatensaus
namespace[bewerken]
namespace laat de artikelen zien die alleen in de gespecificeerde naamruimte zijn opgenomen:
<DynamicPageList> category = KB-tomaat namespace = Help </DynamicPageList>
Dit geeft dan volgend resultaat binnen Wikibooks (geen resultaat dus omdat er geen helpartikelen binnen KB-tomaat zijn opgenomen):
Geen enkele pagina voldoet aan deze criteria.
redirects[bewerken]
redirects bepaalt of redirect/doorverwijspagina's wel of niet moeten worden opgenomen. De waarde kan gezet worden op:
- exclude (dit is de standaard, dat wil zeggen geen redirects)
- include (geeft de redirects in de lijst)
- only (alleen redirects opnemen).
<DynamicPageList> category = KB-tomaat redirects = include </DynamicPageList>
Dit geeft dan volgend resultaat binnen Wikibooks (er zijn geen redirects opgenomen in de categorie KB-tomaat, dus deze parameter heeft geen invloed op het resultaat):
Geen enkele pagina voldoet aan deze criteria.
count[bewerken]
count beperkt het aantal resultaten dat de extensie laat zien. Als standaard worden de pagina's toegevoegd die het laatst aan de categorie zijn toegevoegd. Let op:het maximum dat in de source-code van de extensie is opgenomen (200) kan niet overschreden worden.
<DynamicPageList> category = KB-tomaat count = 2 </DynamicPageList>
Dit geeft dan volgend resultaat binnen Wikibooks:
Weergegeven details[bewerken]
shownamespace[bewerken]
shownamespace laat de naamruimte bij de resultaten zien. De waarde kan zijn:
- true (standaardwaarde, laat de naamruimte zien)
- false (geen naamruimte laten zien).
<DynamicPageList> category = Boeken in Wikijunior shownamespace = true </DynamicPageList>
Dit geeft dan volgend resultaat binnen Wikibooks:
- Categorie:Wikijunior:Frans
- Wikijunior:Wereldwonderen
- Wikijunior:Informatica
- Categorie:WikiJunior-Dierenalfabet - inhoud
- Categorie:WikiJunior-Schaken voor beginners - inhoud
- Wikijunior:Elektriciteitsproefjes
- Wikijunior:Afval
- Wikijunior:Engels
- Wikijunior:Bus en trein
- Wikijunior:Italiaans
- Wikijunior:Kleuren
- Wikijunior:De elementen
- Wikijunior:Mens en maatschappij
- Wikijunior:Frans
- Wikijunior:Tijdreizen
- Wikijunior:Beroepen van de wereld
- Wikijunior:Dierenalfabet
- Wikijunior:Topografie
- Wikijunior:Natuurkunde
- Wikijunior:Het lichaam
- Wikijunior:Aardrijkskunde
- Wikijunior:Schaken voor beginners
- Wikijunior:Energiebronnen
- Wikijunior:Tijdrekenen
- Wikijunior:Kriebelbeestjes
- Wikijunior:Zonnestelsel
- Wikijunior:Tijdreizen door Vlaardingen
- Categorie:Vragen over boeken in Wikijunior
addfirstcategorydate[bewerken]
addfirstcategorydate laat de datum zien wanneer elk artikel is toegevoegd aan de categorie. De waarde kan zijn:
- true (datum laten zien)
- false (standaardwaarde, datum niet laten zien).
Indien meerdere categorieën zijn opgegeven wordt de eerste categorie gebruikt.
<DynamicPageList> category = Boeken in Wikijunior addfirstcategorydate = true </DynamicPageList>
Dit geeft dan volgend resultaat binnen Wikibooks:
- 24 jan 2022: Categorie:Wikijunior:Frans
- 31 jul 2021: Wikijunior:Wereldwonderen
- 3 jan 2020: Wikijunior:Informatica
- 30 aug 2017: Categorie:WikiJunior-Dierenalfabet - inhoud
- 30 aug 2017: Categorie:WikiJunior-Schaken voor beginners - inhoud
- 25 mrt 2017: Wikijunior:Elektriciteitsproefjes
- 17 nov 2016: Wikijunior:Afval
- 17 nov 2016: Wikijunior:Engels
- 17 nov 2016: Wikijunior:Bus en trein
- 19 okt 2016: Wikijunior:Italiaans
- 19 okt 2016: Wikijunior:Kleuren
- 17 okt 2016: Wikijunior:De elementen
- 15 okt 2016: Wikijunior:Mens en maatschappij
- 17 jul 2016: Wikijunior:Frans
- 5 mei 2015: Wikijunior:Tijdreizen
- 8 mrt 2015: Wikijunior:Beroepen van de wereld
- 21 dec 2014: Wikijunior:Dierenalfabet
- 12 dec 2014: Wikijunior:Topografie
- 27 nov 2014: Wikijunior:Natuurkunde
- 2 sep 2014: Wikijunior:Het lichaam
- 2 sep 2014: Wikijunior:Aardrijkskunde
- 31 dec 2013: Wikijunior:Schaken voor beginners
- 31 okt 2013: Wikijunior:Energiebronnen
- 13 sep 2012: Wikijunior:Tijdrekenen
- 8 sep 2012: Wikijunior:Kriebelbeestjes
- 4 jun 2012: Wikijunior:Zonnestelsel
- 18 apr 2012: Wikijunior:Tijdreizen door Vlaardingen
- 13 feb 2007: Categorie:Vragen over boeken in Wikijunior
mode[bewerken]
mode bepaalt het formattering van de lijst. De waarde kan zijn:
- unordered, (gewone lijst)
- ordered (genummerde list)
- none (tekst)
Niet georganiseerd: <DynamicPageList> category = Boeken in Wikijunior mode = unordered </DynamicPageList> genummereerd: <DynamicPageList> category = Boeken in Wikijunior mode = ordered </DynamicPageList> platte tekst: <DynamicPageList> category = Boeken in Wikijunior mode = none </DynamicPageList>
Dit geeft dan volgend resultaat binnen Wikibooks:
- niet georganiseerd:
- Categorie:Wikijunior:Frans
- Wikijunior:Wereldwonderen
- Wikijunior:Informatica
- Categorie:WikiJunior-Dierenalfabet - inhoud
- Categorie:WikiJunior-Schaken voor beginners - inhoud
- Wikijunior:Elektriciteitsproefjes
- Wikijunior:Afval
- Wikijunior:Engels
- Wikijunior:Bus en trein
- Wikijunior:Italiaans
- Wikijunior:Kleuren
- Wikijunior:De elementen
- Wikijunior:Mens en maatschappij
- Wikijunior:Frans
- Wikijunior:Tijdreizen
- Wikijunior:Beroepen van de wereld
- Wikijunior:Dierenalfabet
- Wikijunior:Topografie
- Wikijunior:Natuurkunde
- Wikijunior:Het lichaam
- Wikijunior:Aardrijkskunde
- Wikijunior:Schaken voor beginners
- Wikijunior:Energiebronnen
- Wikijunior:Tijdrekenen
- Wikijunior:Kriebelbeestjes
- Wikijunior:Zonnestelsel
- Wikijunior:Tijdreizen door Vlaardingen
- Categorie:Vragen over boeken in Wikijunior
- genummereerd:
- Categorie:Wikijunior:Frans
- Wikijunior:Wereldwonderen
- Wikijunior:Informatica
- Categorie:WikiJunior-Dierenalfabet - inhoud
- Categorie:WikiJunior-Schaken voor beginners - inhoud
- Wikijunior:Elektriciteitsproefjes
- Wikijunior:Afval
- Wikijunior:Engels
- Wikijunior:Bus en trein
- Wikijunior:Italiaans
- Wikijunior:Kleuren
- Wikijunior:De elementen
- Wikijunior:Mens en maatschappij
- Wikijunior:Frans
- Wikijunior:Tijdreizen
- Wikijunior:Beroepen van de wereld
- Wikijunior:Dierenalfabet
- Wikijunior:Topografie
- Wikijunior:Natuurkunde
- Wikijunior:Het lichaam
- Wikijunior:Aardrijkskunde
- Wikijunior:Schaken voor beginners
- Wikijunior:Energiebronnen
- Wikijunior:Tijdrekenen
- Wikijunior:Kriebelbeestjes
- Wikijunior:Zonnestelsel
- Wikijunior:Tijdreizen door Vlaardingen
- Categorie:Vragen over boeken in Wikijunior
- platte tekst:
Categorie:Wikijunior:Frans
Wikijunior:Wereldwonderen
Wikijunior:Informatica
Categorie:WikiJunior-Dierenalfabet - inhoud
Categorie:WikiJunior-Schaken voor beginners - inhoud
Wikijunior:Elektriciteitsproefjes
Wikijunior:Afval
Wikijunior:Engels
Wikijunior:Bus en trein
Wikijunior:Italiaans
Wikijunior:Kleuren
Wikijunior:De elementen
Wikijunior:Mens en maatschappij
Wikijunior:Frans
Wikijunior:Tijdreizen
Wikijunior:Beroepen van de wereld
Wikijunior:Dierenalfabet
Wikijunior:Topografie
Wikijunior:Natuurkunde
Wikijunior:Het lichaam
Wikijunior:Aardrijkskunde
Wikijunior:Schaken voor beginners
Wikijunior:Energiebronnen
Wikijunior:Tijdrekenen
Wikijunior:Kriebelbeestjes
Wikijunior:Zonnestelsel
Wikijunior:Tijdreizen door Vlaardingen
Categorie:Vragen over boeken in Wikijunior
suppresserrors[bewerken]
suppresserrors verbergt fouten. De waarde kan true zijn (verberg fouten) of false (standaardwaarde, laat fouten zien).
true: <DynamicPageList> category = Boekjes in Wikijunior suppresserrors = true </DynamicPageList> false: <DynamicPageList> category = Boekjes in Wikijunior suppresserrors = false </DynamicPageList>
Dit geeft dan volgend resultaat binnen Wikibooks:
true:
false:
Geen enkele pagina voldoet aan deze criteria.
Volgorde[bewerken]
ordermethod[bewerken]
ordermethod bepaalt de volgorde en de datum. De waarde kan zijn:
- categoryadd (standaardwaarde, sorteer naar de datum wanneer de pagina's aan de categorie werden toegevoegd)
- lastedit (sorteer naar datum wanneer de laatste pagina's werden veranderd)
<DynamicPageList> category = KB-tomaat addfirstcategorydate = true ordermethod = lastedit </DynamicPageList>
Dit geeft dan volgend resultaat binnen Wikibooks:
- 24 jul 2007: Kookboek/Goulash
- 26 mrt 2007: Kookboek/Griekse salade
- 1 mrt 2007: Kookboek/Chili con carne
- 2 mrt 2007: Kookboek/Couscousschotel
- 23 jun 2008: Kookboek/Guacamole
- 5 aug 2007: Kookboek/Tomaten op de barbecue
- 1 mrt 2007: Kookboek/Pasta met romige tomatensaus
- 28 sep 2007: Kookboek/Mediterrane witte bonensoep
- 1 mrt 2007: Kookboek/Boranija
- 1 mrt 2007: Kookboek/Pasta met rijst en gehakt
- 9 mei 2010: Kookboek/Eolische salade
- 1 mrt 2007: Kookboek/Pasta met budgetbolognese
- 22 mei 2010: Kookboek/roze pasta
- 2 mrt 2007: Kookboek/Bruinebonenprut
- 3 aug 2010: Kookboek/Aubergines in tomatensaus
- 29 jul 2011: Kookboek/Mozzarella met tomaten
- 4 mrt 2007: Kookboek/Pasta met mozzarella, tomaten en basilicum
- 14 mei 2012: Kookboek/Broccoli met kaassaus
- 14 dec 2015: Kookboek/Pindasoep
- 8 aug 2016: Kookboek/Balletjes in tomatensaus
- 26 feb 2008: Kookboek/Smoske
order[bewerken]
order bepaalt de richting van sorteren. De waarde kan zijn:
- descending (standaardwaarde, het nieuwste boveaan)
- ascending (de oudste bovenaan).
<DynamicPageList> category = KB-tomaat addfirstcategorydate = true ordermethod = categoryadd order = ascending </DynamicPageList>
Dit geeft dan volgend resultaat binnen Wikibooks:
- 1 mrt 2007: Kookboek/Pasta met romige tomatensaus
- 1 mrt 2007: Kookboek/Boranija
- 1 mrt 2007: Kookboek/Pasta met rijst en gehakt
- 1 mrt 2007: Kookboek/Chili con carne
- 1 mrt 2007: Kookboek/Pasta met budgetbolognese
- 2 mrt 2007: Kookboek/Bruinebonenprut
- 2 mrt 2007: Kookboek/Couscousschotel
- 4 mrt 2007: Kookboek/Pasta met mozzarella, tomaten en basilicum
- 26 mrt 2007: Kookboek/Griekse salade
- 24 jul 2007: Kookboek/Goulash
- 5 aug 2007: Kookboek/Tomaten op de barbecue
- 28 sep 2007: Kookboek/Mediterrane witte bonensoep
- 26 feb 2008: Kookboek/Smoske
- 23 jun 2008: Kookboek/Guacamole
- 9 mei 2010: Kookboek/Eolische salade
- 22 mei 2010: Kookboek/roze pasta
- 3 aug 2010: Kookboek/Aubergines in tomatensaus
- 29 jul 2011: Kookboek/Mozzarella met tomaten
- 14 mei 2012: Kookboek/Broccoli met kaassaus
- 14 dec 2015: Kookboek/Pindasoep
- 8 aug 2016: Kookboek/Balletjes in tomatensaus
SyntaxHighlight[bewerken]
SyntaxHighlight is een extensie waarmee code van programmeertalen overzichtelijk met kleuren van de originele programmeertaal kan worden weergegeven.
Installatie[bewerken]
Download de extensie van de Subversion repository en sla dit op in de volgende directory extensions\SyntaxHighlight_GeSHi van de wiki. Als je shell access tot de server hebt, kan je hetvolgende ingeven om de extensie te downloaden:
cd extensions svn co https://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/SyntaxHighlight_GeSHi
Of download de laatste stabiele versie GeSHi, en unzip het binnen de extensions\SyntaxHighlight_GeSHi directory. (Let op: het zip bestand maakt een sub-directory geshi/, and plaatst daar de geshi.php)
Als MediaWiki de Subversion omgeving gebruikt kan de geshi.php file ook gedownloaded worden van Subversion repository in SourceForge.net.
Voeg de volgende regel toe aan het eind van LocalSettings.php:
require_once("extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php");
Indien nodig, verander de volgende regel in SyntaxHighlight_GeSHi.class.php
zodat dat overeenkomt met de plaats van het geshi.php bestand in de wiki
require_once( 'geshi/geshi.php' );
Gebruik[bewerken]
Op de wikipagina kan je nu "syntaxhighlight" elementen gebruiken:
<syntaxhighlight lang="php"> <?php v = "string"; // initialisatievoorbeeld ?> html text <? echo v; // einde van de php code ?> </syntaxhighlight>
C# voorbeeld[bewerken]
<syntaxhighlight lang="csharp"> // Hello World in Microsoft C# ("C-Sharp"). using System; class HelloWorld { public static int Main(String[] args) { Console.WriteLine("Hello, World!"); return 0; } } </syntaxhighlight>
Dit levert op:
// Hello World in Microsoft C# ("C-Sharp").
using System;
class HelloWorld
{
public static int Main(String[] args)
{
Console.WriteLine("Hello, World!");
return 0;
}
}
PHP voorbeeld[bewerken]
<syntaxhighlight lang="php"> <?php // Hello World in PHP echo 'Hello World!'; ?> </syntaxhighlight>
Dit levert het volgende op:
<?php
// Hello World in PHP
echo 'Hello World!';
?>
Python voorbeeld[bewerken]
<syntaxhighlight lang="python"> def main(): print "Hello World!" if __name__ == '__main__': main() </syntaxhighlight>
Dit levert het volgende op:
def main():
print "Hello World!"
if __name__ == '__main__':
main()
Parameters[bewerken]
- lang: Definieert de programmeertaal
- line: Correspondeert met de enable_line_numbers methode bij GeSHi
- start: Correspondeert met de start_line_numbers_at methode bij GeSHi
- enclose: Correspondeert met de set_header_type methode bij GeSHi
- strict: Correspondeert met de enable_strict_mode methode bij GeSHi
Het effect en het gebruik van deze parameters kan nagelezen worden in GeSHi's documentatie (Engelstalig).
Ondersteunde programmeertalen[bewerken]
De volgende codes voor betreffende programmeertalen kunnen in de lang-parameter worden gebruikt:
|
|
|
|
Imagemap[bewerken]
Met Imagemap wordt een afbeelding klikbaar gemaakt. Dat wil zeggen dat (een deel van) de afbeelding functioneert als een hyperlink naar een artikel.
- Parameters
- Op de eerste regel wordt het bestand opgegeven, volgens de normale wiki-syntax, behalve dat de rechte haken weggelaten worden.
- desc geeft de positie van het i-icoontje om eventueel te linken naar de bestandspagina (deze moet bereikbaar blijven!). Mogelijke waarden:
top-right, bottom-right (default), bottom-left, top-left, none
. Wordt genegeerd als de afbeelding een van de attributenthumb
offrame
heeft. - circle geeft een klikbare cirkel; vraagt 4 argumenten, tw.
cx cy r wikilink
. - rect geeft een klikbare rechthoek; vraagt 5 argumenten, tw.
x1 y1 x2 y2 wikilink
. - poly geeft een klikbare veelhoek; vraagt een even aantal argumenten die per twee een hoekpunt aangeven:
x1 y1 x2 y2 ... xn yn
, gevolgd door eenwikilink
. - default de link die actief is op de rest van de afbeelding
- # commentaarregel
NB.: De coördinaten worden opgegeven in pixels op de originele afbeelding (!), waarbij het nulpunt in de linkerbovenhoek ligt. De weergavegrootte van de afbeelding kan zodoende veranderd worden zonder dat de coördinaten opnieuw berekend hoeven te worden.
- Tools
- Meer info