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

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

OhjeLuetteloista

<<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

InterWikit

<<SystemInfo>>


tietoa wikistä, Pythonista ja palvelimesta

JärjestelmäTiedot

<<PageCount(exists)>>


current page count. If exists is supplied as an argument, only existing pages will be shown.

3139 pages

<<PageSize>>


luetteloi kaikki sivut ja niiden koot kilotavuina

SivuKoko

<<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

  1. BadContent
  2. FrontPage
  3. HelpContents
  4. HelpOnLists
  5. HelpOnParsers
  6. HelpOnSearching
  7. HelpOnSpellCheck
  8. WikiSandBox

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
toinen 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-04-23

<<DateTime(timestamp)>>


display a timestamp2 according to user settings

2024-04-23 21:29:39

<<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

See http://twistedmatrix.com/wiki/python/TeudProject

<<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

  1. the text cannot contain any wiki markup (1)

  2. "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)

  3. 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.

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:

   1 Dependencies = []
   2 def execute(macro, args):
   3     return macro.formatter.text("I got these args from a macro %s: %s" %
   4     (str(macro), args))