Generate wiki code from lines of a master page, indexed by IDs
Compatibel met DokuWiki
2008-05-05
Deze uitbreiding is al meer dan 2 jaar niet meer geupdated. Misschien worden hij niet langer onderhouden of ondersteund. Er kunnen compatibiliteitsproblemen zijn.
This plugin implements generating wiki code from lines of a master file. Each line in the master file that is indicated by an ID can be included in the current page. I use this for our choir, where we have a large repertoire of songs, which we can perform. The program for a given concert is simply generated by selecting some songs of that master repertoire list. Text that does not match any ID in the master file is inserted as verbatim wiki code.
Usage of the plugin inside a wiki page:
<songlist [src=]masterlist> id1 id2 </songlist>
This takes all lines from the page named “masterlist”, which are indexed by id1 and id2. The masterlist has the following syntax:
some wiki text|id lines without ID can be written but cannot be included by <songlist..> some more wiki text|anotherid
Generate a master page (let's say “:playground:songlistdata”), that contains lines of the form:
==== Masses ==== * **"Petite Messe Solennelle"** (G. Rossini): [[wp>Petite Messe Solennelle|Wikipedia]]|Rossini * **"Missa di gloria"** (G. Puccini): [[wp>Puccini|Wikipedia]]|Puccini ==== Others ==== * **"Ave Verum"** (Wolfgang Amadeus MOZART): [[wp>Ave Verum|Wikipedia]]|Ave Verum
Each line can now be used by the ID after the last |.
In your page you can now use the plugin as
<songlist src=:playground:songlistdata> ==== Songlist for the concert ==== Ave Verum Rossini * //BREAK// Puccini </songlist>
This will effectively have the same effect as simply writing
==== Songlist for the concert ==== * **"Ave Verum"** (Wolfgang Amadeus MOZART): [[wp>Ave Verum|Wikipedia]] * **"Petite Messe Solennelle"** (G. Rossini): [[wp>Petite Messe Solennelle|Wikipedia]] * //BREAK// * **"Missa di gloria"** (G. Puccini): [[wp>Puccini|Wikipedia]]
and thus generate an output:
No configuration is needed.
Search and install the plugin using the Extension Manager. Refer to Plugins on how to install plugins manually.