Manuale:Estensione wiki markup
MediaWiki provvede un linguaggio di markup standard che può essere personalizzato facilmente. Sono possibili personalizzazioni individuali e globali:
- aggiunta token standard: L'approccio standard di personalizzazione del markup di MediaWiki è aggiungere nuovi marcatori che somigliano ai già presenti tag XML (
<tag>
), template ({{...}}
), o link markup ([[...]]
). - aggiunta token personalizzati: Alcune estensioni definiscono nuovi tipi di token.
- fondamentali cambiamenti al parser: Qualche estensione tenta di cambiare fondamentalmente il metodo di analisi in modo che il markup di altri tipi di wiki e gestioni dei contenuti possano essere usati (devono essere usati?) al posto della normale marcatura.
Aggiunta token di tipo standard
- Parser function extensions : Parser function estendono l'elaborazione parametrizzata dei template e solitamente somigliano a:
{{#funcname ...}}
. Sebbene ogni "template" può essere usato, estensioni personalizzate iniziano il nome della funzione sempre con #, come nell'esempio sopra. Altri nomi per funzioni parser sono riservati per MediaWiki.
Quando{{#funcname ...}}
è implementato come una funzione parser, passa i suoi parametri template a una funzione PHP invece del normale articolo del template. Questa funzione restituisce una stringa di wikitext che rimpiazza il template parametrizzato. Le funzioni parser sono usate per gestire la gestione del wikitext che coinvolge logica troppo complessa o confusa per essere scritta usando normali tecniche di scrittura di template. - Variable extensions : Variable extensions estendono l'elaborazione di template senza parametri.
Invece della solita inclusione degli articoli,{{XXX}}
è associato con una funzione PHP che restituisce una stringa di wikitext che lo sostituisce. Sono usate solitamente per inserire informazioni di sistema dentro la marcatura della wiki (es., l'ora corrente, la pagina corrente). - Estensioni markup XML : Estensioni del markup XML (altrimenti note come estensioni tag) definiscono nel wikitext tag personalizzati in stile XML Il testo contenuto nei tag viene trasmesso ad una funzione PHP che analizza il contenuto del tag e restituisce una stringa HTML al posto di tag e contenuto. Il contenuto all'interno del tag potrebbe essere wiki markup, testo semplice, o testo con regole di formattazione specifiche al tag. Spetta all'implementatore dell'estensione. Consultare la documentazione delle singole estensioni.
<tagname parname="parvalue" ... parname="parvalue"> some text </tagname>
- Link markup extensions : Estensioni dei link markup cambiano il modo in cui MediaWiki interpreta link interni, cioè, wiki markup nella forma [[...]].
- Extended syntax extensions : Estensioni con sintassi ampia, maggiormente estensioni di tipo Magic Word, si aggiungono alla lista delle Magic Word di MediaWiki, come
__NOTOC__
. Solitamente, una specifica funzione PHP interpreta queste parole, e o le rimpiazza con qualcosa, o impone alcune condizioni per i successivi processi di generazione output, o entrambe le cose. Di solito, la sostituzione è una stringa vuota; vale a dire, la Magic Word viene eliminata e al suo posto non viene mostrato nulla. L'elaborazione alterata può comportare l'aggiunta di pezzi extra di CSS o la soppressione delle impostazioni delle preferenze dell'utente durante la generazione della pagina, e potrebbe essere quasi qualsiasi cosa.
Aggiunta token di nuovo tipo
Per aggiungere nuovi tipi di token o cambiare interamente il metodo di markup, gli implementatori hanno bisogni di aggiungere nuove funzioni ad uno o più dei vari parser hooks:
- Category:ParserBeforeStrip extensions basato sull'hook ParserBeforeStrip . (rimosso nella 1.36)
- Category:ParserBeforeInternalParse extensions basato sull'hook ParserBeforeInternalParse .
- Category:OutputPageBeforeHTML extensions basato sull'hook OutputPageBeforeHTML .
- Category:ParserBeforeTidy extensions basato sull'hook ParserBeforeTidy .(rimosso nella 1.36)
- Category:ParserAfterTidy extensions basato sull'hook ParserAfterTidy .
See also Category:Extensions by hook usage .
Vedi anche
- Manuale:Estensioni - provvede istruzioni generali per cercare, installare e scrivere estensioni.