Handboek MediaWiki/Extensies

Uit Wikibooks
Naar navigatie springen Naar zoeken springen

Inleidend
Installatie Nog vrijwel niets. Revisiedatum: onbekend
Geschiedenis van MediaWiki Zeer goed ontwikkeld. Revisiedatum: onbekend
MediaWiki toepassen
Wikitekst en HTML Goed ontwikkeld. Revisiedatum: onbekend
Taalcodes Zeer goed ontwikkeld. Revisiedatum: onbekend
Magische woorden Zeer goed ontwikkeld. Revisiedatum: onbekend
Sjablonen Redelijk ontwikkeld. Revisiedatum: onbekend
Extensies Goed ontwikkeld. Revisiedatum: onbekend
DynamicPagelist
Imagemap
SyntaxHighlight
MediaWiki intern
Database-opbouw Goed ontwikkeld. Revisiedatum: onbekend
Gebruikersgroepen Zeer goed ontwikkeld. Revisiedatum: onbekend
Speciale pagina's Goed ontwikkeld. Revisiedatum: onbekend
Monobook.js en Common.js Redelijk ontwikkeld. Revisiedatum: onbekend
Monobook.css en Common.css In ontwikkeling. Revisiedatum: onbekend

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:

  1. 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.
  2. 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 het ExtensionFunctions.php bestand naar de /extensions/ subdirectory van de MediaWiki installatie.
  3. 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.
  4. 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.

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:

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:

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:

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:

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:


genummereerd:
  1. Categorie:Wikijunior:Frans
  2. Wikijunior:Wereldwonderen
  3. Wikijunior:Informatica
  4. Categorie:WikiJunior-Dierenalfabet - inhoud
  5. Categorie:WikiJunior-Schaken voor beginners - inhoud
  6. Wikijunior:Elektriciteitsproefjes
  7. Wikijunior:Afval
  8. Wikijunior:Engels
  9. Wikijunior:Bus en trein
  10. Wikijunior:Italiaans
  11. Wikijunior:Kleuren
  12. Wikijunior:De elementen
  13. Wikijunior:Mens en maatschappij
  14. Wikijunior:Frans
  15. Wikijunior:Tijdreizen
  16. Wikijunior:Beroepen van de wereld
  17. Wikijunior:Dierenalfabet
  18. Wikijunior:Topografie
  19. Wikijunior:Natuurkunde
  20. Wikijunior:Het lichaam
  21. Wikijunior:Aardrijkskunde
  22. Wikijunior:Schaken voor beginners
  23. Wikijunior:Energiebronnen
  24. Wikijunior:Tijdrekenen
  25. Wikijunior:Kriebelbeestjes
  26. Wikijunior:Zonnestelsel
  27. Wikijunior:Tijdreizen door Vlaardingen
  28. 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:

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:



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]

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:

  • actionscript
  • ada
  • apache
  • applescript
  • asm
  • asp
  • autoit
  • bash
  • blitzbasic
  • bnf
  • c
  • caddcl
  • cadlisp
  • cfdg
  • cfm
  • cpp-qt
  • cpp
  • csharp
  • css-gen.cfg
  • css
  • c_mac
  • d
  • delphi
  • diff
  • div
  • dos
  • eiffel
  • fortran
  • freebasic
  • gml
  • groovy
  • html4strict
  • idl
  • ini
  • inno
  • io
  • java
  • java5
  • javascript
  • latex
  • lisp
  • lua
  • matlab
  • mirc
  • mpasm
  • mysql
  • nsis
  • objc
  • ocaml-brief
  • ocaml
  • oobas
  • oracle8
  • pascal
  • perl
  • php-brief
  • php
  • plsql
  • python
  • qbasic
  • reg
  • robots
  • ruby
  • sas
  • scheme
  • sdlbasic
  • smalltalk
  • smarty
  • sql
  • tcl
  • text
  • thinbasic
  • tsql
  • vb
  • vbnet
  • vhdl
  • visualfoxpro
  • winbatch
  • xml
  • z80




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 attributen thumb of frame 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 een wikilink.
  • 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.

Een eenvoudig voorbeeld
<imagemap>
 Afbeelding:Example2.png|150px|alt=Alt text
 default [[Hoofdpagina|Open de hoofdpagina]]
 desc top-right
</imagemap>
Resultaat
Alt text

Tools
Meer info
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.