Makrot
Makrot mahdollistavat järjestelmätoimintojen sisällyttämisen sivujen sisältöön. Hyviä esimerkkejä makrojen hyötykäytöstä löytyy sivuilta UusimmatMuutokset ja JärjestelmäTiedot.
Lisätietoja merkintätavoista löytyy sivulta OhjeMuokkauksesta.
Hakumakrot
MoinMoin käyttää hakukonetta, joka mahdollistaa hakujen suorittamisen käyttämällä yläreunan hakutoimintoa, SivuHakua tai sisällyttämällä hakumakroja sivulle. Lisätietoja löytyy sivulta OhjeHakemisesta.
Makro |
||
|
Kuvaus |
Esimerkki |
[[AdvancedSearch]] |
||
|
luo laajennetun hakukentän sivulle |
Katso SivuHaku |
[[TitleSearch]] |
||
|
luo sivulle hakukentän, jonka avulla voi etsiä sivujen nimistä |
Katso SivuHaku |
[[FullSearch]] |
||
|
luo sivulle hakukentän, jonka avulla voi etsiä sivujen sisällöstä |
Katso SivuHaku |
[[FullSearch()]] |
||
|
luetteloi sivut, joiden sisältö vastaa nykyisen sivun nimeä (kuten napsauttaessa yläreunasta sivun nimeä) |
Katso KategoriaKategoria |
[[FullSearch(hakuehto)]] |
||
|
luetteloi sivut, joiden sisällöstä löytyy sana hakuehto |
|
[[FullSearchCached(hakuehto)]] |
||
|
toimii kuten FullSearch, mutta tulokset haetaan välimuistista (ovat staattisia). käytä jos nopeus on tärkeämpää kuin ajantasaiset tulokset |
|
[[GoTo]] |
||
|
siirtyy suoraan halutulle sivulle |
Katso SivuHaku |
[[PageList(Ohje)]] |
||
|
luetteloi sivut, joiden nimessä esiintyy sana Ohje |
Katso OhjeHakemisto |
Navigointi
Makro |
||
|
Kuvaus |
Esimerkki |
[[RecentChanges]] |
||
|
luetteloi uusimmat muutokset |
Katso UusimmatMuutokset |
[[TitleIndex]] |
||
|
luetteloi wikin kaikki sivut nimen mukaisesti |
Katso SivuHakemisto |
[[WordIndex]] |
||
|
luetteloi kaikki wikin sivujen nimissä esiintyvät sanat |
Katso SanaHakemisto |
[[WantedPages]] |
||
|
luetteloi sivut, joille johtaa joltain toiselta sivulta linkki, mutta joita ei ole vielä luotu |
Katso KaivatutSivut |
[[OrphanedPages]] |
||
|
luetteloi sivut, jotka ovat olemassa, mutta joille ei johda linkkiä miltään sivulta |
Katso OrvotSivut |
[[AbandonedPages]] |
||
|
luetteloi sivut, joita ei ole muokattu pitkään aikaan |
Katso HylätytSivut |
[[RandomPage]] |
||
|
luo linkin satunnaiselle sivulle |
|
[[RandomPage(#)]] |
||
|
luo linkit halutulle määrälle satunnaisia sivuja |
Kaksi satunnaista sivua: |
[[TableOfContents([maxdepth])]] |
||
|
luo sisällysluettelon sivusta. tasojen määrää on mahdollista rajoittaa |
Katso sivun yläosa |
[[Anchor(anchorname)]] |
||
|
luo nykyiselle sivulle ankkurin |
#ankkuri |
[[Navigation(children[,maxdepth])]] |
||
|
luetteloi kaikki nykyisen sivun alasivut |
Katso sivun yläosa |
[[Navigation(siblings[,maxdepth])]] |
||
|
quick navigation to siblings of a page |
See /MailTo |
[[Navigation(slideshow)]] |
||
|
luo linkin, jonka avulla voi vaihdella diaesityksen ja wikin välillä. luo myös linkin diaesityksen alkuun |
Katso OhjeDiaEsityksistä |
[[Navigation(slides)]] |
||
|
näyttää linkit ensimmäinen/edellinen/seuraava/viimeinen |
Katso OhjeDiaEsityksistä |
[[AttachInfo]] |
||
|
luetteloi nykyisen sivun liitetiedostojen lukumäärän |
Katso HelpOnActions/AttachFile |
[[AttachInfo(SivunNimi)]] |
||
|
luetteloi sivun SivunNimi liitetiedostojen lukumäärän |
Katso HelpOnActions/AttachFile |
[[AttachList(SivunNimi,mimetype)]] |
||
|
luetteloi sivun SivunNimi liitetiedostot ja niiden tyypit |
Katso HelpOnActions/AttachFile |
Järjestelmätiedot
Makro |
||
|
Kuvaus |
Esimerkki |
[[InterWiki]] |
||
|
luetteloi kaikki InterWiki-sivut |
|
[[SystemInfo]] |
||
|
tietoa wikistä, Pythonista ja palvelimesta |
|
[[PageCount(exists)]] |
||
|
current page count. If exists is supplied as an argument, only existing pages will be shown. |
26472 pages |
[[PageSize]] |
||
|
luetteloi kaikki sivut ja niiden koot kilotavuina |
|
[[StatsChart(type)]] |
||
|
shows statistical charts (currently defined types: hitcounts, pagesize, useragents) |
See EventStats and subpages |
[[SystemAdmin]] |
||
|
tietoa ylläpitäjille |
tunnuksellasi tulee olla superuser-oikeudet, jotta voit käyttää tätä makroa |
[[EditedSystemPages]] |
||
|
luettelo kaikista järjestelmäsivuista, joita on muokattu |
|
Muita makroja
Makro |
||
|
Kuvaus |
Esimerkki |
[[Action(action [,text])]] |
||
|
links to page with valid action, optional text could be used as alias. (action names are case sensitive) |
e.g. [[Action(print, Print this page)]], Print this page |
[[ImageLink(image,target[,width=width[,height=height]][,alt=alttag])]] |
||
|
This macro is used to make a link that displays an image (can be given as either attachment or URL) and links to either an URL or a wiki page. Optionally the size of the image can be adjusted. If no target is given the link will point to the image itself. |
See /ImageLink |
[[Icon(image)]] |
||
|
display system icons |
Katso OhjeNavigoinnista |
[[UserPreferences]] |
||
|
display a user preferences dialog |
Katso KäyttäjäAsetukset |
[[UserPreferences(createonly)]] |
||
|
display user creation dialog |
|
[[BR]] |
||
|
luo rivivälin |
ensimmäinen rivi |
[[RandomQuote(pagename)]] |
||
|
Select a random quote from the given page, or from FortuneCookies if omitted |
Hint: Edit the FortuneCookies page to display randomly selected wisdom here. |
[[Include(HelloWorld[,"heading"[,level]])]] |
||
|
sisällyttää toisen sivun sisällön |
katso /Include |
[[FootNote(text)]] |
||
|
Add a footnote1, or explicitly display collected footnotes when no args are given |
See below for an example. |
[[Date(timestamp)]] |
||
|
näyttää aikaleiman järjestelmän asetusten mukaisesti |
2024-10-23 |
[[DateTime(timestamp)]] |
||
|
display a timestamp2 according to user settings |
2024-10-23 11:24:43 |
[[GetText(text)]] |
||
|
loads I18N texts (mainly intended for use on Help pages) |
"EditText" is translated to "EditText" |
[[GetText2(,message,argument1,argument2,...)]] |
||
|
loads I18N texts (mainly intended for use on Help pages or in generated output on wiki pages) and replaces %s in the message by the arguments. The first character of the argument is used as the separator (in this example: a comma). You can escape the separator by using a backslash. |
"[[GetText2(,[You may not read %s],FooBar)]]" yields "[You may not read FooBar]" |
[[TeudView]] |
||
|
useful for intranet developer wikis, a means to view pydoc documentation, formatted via a XSLT stylesheet |
|
[[MailTo(email)]] |
||
|
suojaa sähköpostiosoitteesi roskapostiroboteilta |
katso /MailTo |
[[NewPage(PageTemplate,ButtonLabel,[ParentPage,@ME,@SELF] [,NameTemplate])]] |
||
|
Allow the user to create (sub-) pages easily, using the page PageTemplateas the template for the new page and the string NameTemplate as a template for the name.3 @ME is used if you want the page created below the users homepage. @SELF is used to create a subpage below the page where it is called from. |
|
[[GetVal(NeatSnippets,regards)]] |
||
|
Retrieve dictionary entries from dict pages. |
If you have a page called GermanDict which contains the entry Test, you should see the translation here: |
[[MonthCalendar(,,12)]] |
||
|
Displays a Calendar and creates link for entries to each day on subpages |
See /MonthCalendar |
the text cannot contain any wiki markup (1)
"timestamp" can be empty (current time), a number of seconds since 1970 (unix timestamp), or a W3C time specification ("2002-01-23T12:34:56"). See RFC822, sect. 5. (2)
NameTemplate is formatted with time.strftime(), with the exception of %s which is replaced by the input into the edit box (which is only shown if necessary). If NameTemplate is not specified or empty, it defaults to %s. (3)
Omien makrojen luominen
Create a python file called MacroName.py located in your data/plugin/macro directory. Ensure it has a single method called execute(macro, arguments), which is the entry-point.
macro is an instance of class Macro, and also evaluates to a string of the macroname.
arguments is an arbitrary argument string you can pass in with parameters to your macro.
All Macro instances have a request member through which you can access the form parameters and other information related to user interaction.
execute() should use the formatter to construct valid markup for the current target format. In most cases this is HTML, so writing a macro which returns HTML will work in most cases but fail when formats like XML or text/plain are requested.
For example, your wiki page has the following line on it:
[[MacroName(arg1,arg2,arg3)]]
You could write a MacroName.py file like this:
Add an entry into Dependencies if the output from your macro should not be cached. This is important if the macro output could change from one moment to another, for example if your macro searches in wiki pages which may be being edited by other users, or loads information from an external database whose contents may change. Currently the value of any entry does not matter and may be considered a short description for 'why results from this macro should not be cached', but please look at the entries used in other macros for values which may be suitable.