<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>HelpOnMacros</title></articleinfo><section><title>Macros</title><para>Macros allow the insertion of system features into normal wiki pages; the only thing that makes those pages special is that they contain macros. If you edit pages like <ulink url="https://flisol.info/HelpOnMacros/RecentChanges#">RecentChanges</ulink> or <ulink url="https://flisol.info/HelpOnMacros/SystemInfo#">SystemInfo</ulink>, you'll see what that means. </para><para>For more information on the possible markup, see <ulink url="https://flisol.info/HelpOnMacros/HelpOnEditing#">HelpOnEditing</ulink> and <ulink url="https://flisol.info/HelpOnMacros/HelpOnMoinWikiSyntax#">HelpOnMoinWikiSyntax</ulink>. </para><section><title>Search macros</title><para><ulink url="https://flisol.info/HelpOnMacros/MoinMoin#">MoinMoin</ulink> now uses a new search engine, that lets your make sophisticated searches using both the interactive search box or any of the search macros. For more help, see <ulink url="https://flisol.info/HelpOnMacros/HelpOnSearching#">HelpOnSearching</ulink>. </para><informaltable><tgroup cols="2"><colspec colname="col_0"/><colspec colname="col_1" colwidth="75*"/><tbody><row rowsep="1"><entry colsep="1" rowsep="1"><para> <emphasis role="strong">Macro</emphasis> </para></entry><entry colsep="1" rowsep="1"><para> <emphasis role="strong">Description</emphasis>  </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;AdvancedSearch&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1" valign="top"><para> create an advanced search dialogue on the page. See <ulink url="https://flisol.info/HelpOnMacros/FindPage#">FindPage</ulink>. </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;TitleSearch&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> create a search box on the page, which search the page titles. See <ulink url="https://flisol.info/HelpOnMacros/FindPage#">FindPage</ulink>. </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;FullSearch&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> create a search box on the page, which search the page contents.See <ulink url="https://flisol.info/HelpOnMacros/FindPage#">FindPage</ulink>. </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;FullSearch()&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> print a list of pages whose content matches the current page title (like clicking on the page title). See <ulink url="https://flisol.info/HelpOnMacros/CategoryCategory#">CategoryCategory</ulink> for example </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;FullSearch(text[, highlight_titles={0|1}, highlight_pages={0|1}])&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> print a list of pages whose content matches the search term. If <code>search_macro_parse_args</code> configuration option is set, then <code>highlight_titles</code> parameter gives ability to control highlighting of matches in page names showed in search results and <code>highlight_pages</code> parameter controls whether links in these search results contain query parameter which turns highlighting of matches in page body. </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;FullSearchCached(text[, highlight_titles={0|1}, highlight_pages={0|1}])&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> Works like the <code>FullSearch</code> macro but caches the results statically. Use it if you prefer speed over an up-to-date result. Behavior of <code>highlight_titles</code> and <code>highlight_pages</code> parameters is the same as in <code>FullSearch</code> macro. </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;GoTo&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> directly go to the page you enter. See <ulink url="https://flisol.info/HelpOnMacros/FindPage#">FindPage</ulink>.  </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;PageList(Help[, highlight_titles={0|1}])&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> print a list of pages whose title matches the search term. See <ulink url="https://flisol.info/HelpOnMacros/HelpIndex#">HelpIndex</ulink>. Behavior of <code>highlight_titles</code> parameter is the same as in <code>FullSearch</code> macro. </para></entry></row></tbody></tgroup><!--Width &quot;33%&quot; not supported--></informaltable></section><section><title>Navigation macros</title><informaltable><tgroup cols="2"><colspec colname="col_0"/><colspec colname="col_1"/><tbody><row rowsep="1"><entry colsep="1" rowsep="1"><para> <emphasis role="strong">Macro</emphasis> </para></entry><entry colsep="1" rowsep="1"><para> <emphasis role="strong">Description</emphasis>  </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> <code>&lt;&lt;RecentChanges&gt;&gt;</code> </para></entry><entry colsep="1" rowsep="1"><para> a list of recently edited pages. See <ulink url="https://flisol.info/HelpOnMacros/RecentChanges#">RecentChanges</ulink> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> <code>&lt;&lt;TitleIndex&gt;&gt;</code> </para></entry><entry colsep="1" rowsep="1"><para> an index of all page titles. See <ulink url="https://flisol.info/HelpOnMacros/TitleIndex#">TitleIndex</ulink> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> <code>&lt;&lt;WordIndex&gt;&gt;</code> </para></entry><entry colsep="1" rowsep="1"><para> an index of all words in page titles. See <ulink url="https://flisol.info/HelpOnMacros/WordIndex#">WordIndex</ulink> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> <code>&lt;&lt;WantedPages&gt;&gt;</code> </para></entry><entry colsep="1" rowsep="1"><para> list links to non-existent pages. See <ulink url="https://flisol.info/HelpOnMacros/WantedPages#">WantedPages</ulink> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> <code>&lt;&lt;OrphanedPages&gt;&gt;</code> </para></entry><entry colsep="1" rowsep="1"><para> list pages no other page links to. See <ulink url="https://flisol.info/HelpOnMacros/OrphanedPages#">OrphanedPages</ulink> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> <code>&lt;&lt;AbandonedPages&gt;&gt;</code> </para></entry><entry colsep="1" rowsep="1"><para> list pages that were not edited for the longest time. See <ulink url="https://flisol.info/HelpOnMacros/AbandonedPages#">AbandonedPages</ulink> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> <code>&lt;&lt;RandomPage&gt;&gt;</code> </para></entry><entry colsep="1" rowsep="1"><para> inserts a link to a random page. </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> <code>&lt;&lt;RandomPage(#)&gt;&gt;</code> </para></entry><entry colsep="1" rowsep="1"><para> links to a number of random pages. </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> <code>&lt;&lt;TableOfContents([maxdepth])&gt;&gt;</code> </para></entry><entry colsep="1" rowsep="1"><para> display a local table of contents, possibly limited to a maximal depth. </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> <code>&lt;&lt;Anchor(anchorname)&gt;&gt;</code> </para></entry><entry colsep="1" rowsep="1"><para> macro to insert anchors into a page. </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> <code>&lt;&lt;Navigation(children[,maxdepth])&gt;&gt;</code> </para></entry><entry colsep="1" rowsep="1"><para> macro to list all of a pages' children. See start of this page for sample. </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> <code>&lt;&lt;Navigation(siblings[,maxdepth])&gt;&gt;</code> </para></entry><entry colsep="1" rowsep="1"><para> quick navigation to siblings of a page. See <ulink url="https://flisol.info/HelpOnMacros/HelpOnMacros/MailTo#">/MailTo</ulink> for sample. </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> <code>&lt;&lt;Navigation(slideshow)&gt;&gt;</code> </para></entry><entry colsep="1" rowsep="1"><para> creates a link to toggle between slide show and wiki mode, and a link to start the slide show. See <ulink url="https://flisol.info/HelpOnMacros/HelpOnSlideShows#">HelpOnSlideShows</ulink> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> <code>&lt;&lt;Navigation(slides)&gt;&gt;</code> </para></entry><entry colsep="1" rowsep="1"><para> displays first/prev/next/last links. See <ulink url="https://flisol.info/HelpOnMacros/HelpOnSlideShows#">HelpOnSlideShows</ulink> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> <code>&lt;&lt;AttachInfo&gt;&gt;</code> </para></entry><entry colsep="1" rowsep="1"><para>displays number of attachments for current page. See <ulink url="https://flisol.info/HelpOnMacros/HelpOnActions/AttachFile#">HelpOnActions/AttachFile</ulink> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> <code>&lt;&lt;AttachInfo(page)&gt;&gt;</code> </para></entry><entry colsep="1" rowsep="1"><para> displays number of attachments for page. See <ulink url="https://flisol.info/HelpOnMacros/HelpOnActions/AttachFile#">HelpOnActions/AttachFile</ulink> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para> <code>&lt;&lt;AttachList(pagename,mimetype,searchterm)&gt;&gt;</code> </para></entry><entry colsep="1" rowsep="1"><para> displays list of attachments. See <ulink url="https://flisol.info/HelpOnMacros/HelpOnActions/AttachFile#">HelpOnActions/AttachFile</ulink> </para></entry></row></tbody></tgroup><!--Width &quot;33%&quot; not supported--></informaltable></section><section><title>System Information macros</title><informaltable><tgroup cols="2"><colspec colname="col_0"/><colspec colname="col_1"/><tbody><row rowsep="1"><entry colsep="1" rowsep="1"><para> <emphasis role="strong">Macro</emphasis> </para></entry><entry colsep="1" rowsep="1"><para> <emphasis role="strong">Description</emphasis>  </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;Hits&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> a counter for page hits <code>&lt;&lt;Hits([all=(False,True)][,event_type=(VIEWPAGE,SAVEPAGE)]&gt;&gt;</code> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;InterWiki&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> a list of all known <ulink url="https://flisol.info/HelpOnMacros/InterWiki#">InterWiki</ulink> names.</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;SystemInfo&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> info on the wiki, the python interpreter and the host system. </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;PageCount(exists)&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para>current page count. If <code>exists</code> is supplied as an argument, only existing pages will be shown.  </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;PageSize&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> list the sizes of all pages. See <ulink url="https://flisol.info/HelpOnMacros/PageSize#">PageSize</ulink> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;StatsChart(type)&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> shows statistical charts (currently defined types: hitcounts, pagesize, useragents, languages). See <ulink url="https://flisol.info/HelpOnMacros/EventStats#">EventStats</ulink> and subpages </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;SystemAdmin&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> Information for system administrators, see <ulink url="https://flisol.info/HelpOnMacros/SystemAdmin#">SystemAdmin</ulink>. <emphasis>You need to be superuser to use this macro.</emphasis> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;EditedSystemPages&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> A list of system pages that were modified. </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;WikiConfig&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> Shows wiki configuration settings which are either non-default or unknown. <emphasis>You need to be superuser to use this macro.</emphasis> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;WikiConfigHelp&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> Shows all wiki configuration settings with descriptions. </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;HighlighterList&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> List available Pygments lexers. See <ulink url="http://moinmoin.wikiwikiweb.de/MacroMarket/HighlighterList#">MacroMarket/HighlighterList</ulink> for additional information. </para></entry></row></tbody></tgroup><!--Width &quot;33%&quot; not supported--></informaltable></section><section><title>Others</title><informaltable><tgroup cols="2"><colspec colname="col_0"/><colspec colname="col_1"/><tbody><row rowsep="1"><entry colsep="1" rowsep="1"><para> <emphasis role="strong">Macro</emphasis></para></entry><entry colsep="1" rowsep="1"><para><emphasis role="strong">Description</emphasis> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;Action(action [,text])&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para>links to page with valid action, optional text could be used as alias. (action names are case sensitive). Example: <code>&lt;&lt;Action(print, Print this page)&gt;&gt;</code> will generate <ulink url="https://flisol.info/HelpOnMacros/HelpOnMacros?action=print">Print this page</ulink></para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;Icon(image)&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para>display system icons.  See <ulink url="https://flisol.info/HelpOnMacros/HelpOnNavigation#">HelpOnNavigation</ulink> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;BR&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> insert a line break. </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;RandomQuote(pagename)&gt;&gt;</code> </para></entry><entry colsep="1" rowsep="1"><para> Select a random quote from the given page, or from <code>FortuneCookies</code> if omitted. </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;Include(HelloWorld[,&quot;heading&quot;[,level]])&gt;&gt;</code> </para></entry><entry colsep="1" rowsep="1"><para> include contents of another page. See <ulink url="https://flisol.info/HelpOnMacros/HelpOnMacros/Include#">/Include</ulink> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;FootNote(text)&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> Add a footnote<footnote><para>the text cannot contain any wiki markup</para></footnote>, or explicitly display collected footnotes when no args are given.  </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;Date(timestamp)&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> display a timestamp according to system settings, in the style of <!--The macro Date caused an error and should be blacklisted. It returned the data '2026-04-08' which caused the docbook-formatter to choke. Please file a bug.--> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;DateTime(timestamp)&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> display a timestamp<footnote><para>&quot;timestamp&quot; can be empty (current time), a number of seconds since 1970 (unix timestamp), or a W3C time specification (&quot;2002-01-23T12:34:56&quot;). See RFC822, sect. 5. </para></footnote> according to user settings, in the style of <!--The macro DateTime caused an error and should be blacklisted. It returned the data '2026-04-08 19:06:04' which caused the docbook-formatter to choke. Please file a bug.--> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;GetText(text)&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> <!--"~-smaller-~" is not applicable to DocBook-->(mainly intended for use on Help pages) Loads I18N texts. Example: &quot;EditText&quot; is translated to &quot;EditText&quot; </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;GetText2(,message,argument1,argument2,...)&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> <!--"~-smaller-~" is not applicable to DocBook-->(mainly intended for use on Help pages or in generated output on wiki pages) loads I18N texts and replaces <code>%s</code> 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. Example: &quot;<code>&lt;&lt;GetText2(,[You may not read %s],FooBar)&gt;&gt;</code>&quot; yields &quot;[You may not read FooBar]&quot;. For named placeholders, use &quot;key=value&quot; argument syntax, for example, &quot;<code>&lt;&lt;GetText2(,Upload new attachment \&quot;%(filename)s\&quot;,filename=file.txt)&gt;&gt;</code>&quot; yields &quot;Upload new attachment &quot;file.txt&quot;&quot;. </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;TeudView&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> useful for intranet developer wikis, a means to view pydoc documentation, formatted via a XSLT stylesheet. See <ulink url="http://twistedmatrix.com/wiki/python/TeudProject"/> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;MailTo(email)&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> protect your email address from spam bots. See <ulink url="https://flisol.info/HelpOnMacros/HelpOnMacros/MailTo#">/MailTo</ulink> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;NewPage(PageTemplate,ButtonLabel,[ParentPage,@ME,@SELF] [,NameTemplate])&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> Allow the user to create (sub-)pages easily, using the page <code>PageTemplate</code> as the template for the new page and the string <code>NameTemplate</code> as a template for the name.<footnote><para>`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`.</para></footnote> <code>@ME</code> is used if you want the  page created below the users homepage. <code>@SELF</code> is used to create a subpage below the page where it is called from. </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;GetVal(NeatSnippets,regards)&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> Retrieve dictionary entries from dict pages. Example: If you have a page called <ulink url="https://flisol.info/HelpOnMacros/GermanDict#">GermanDict</ulink> which contains the entry <emphasis>Test</emphasis>, you should see the translation here:  </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code>&lt;&lt;MonthCalendar(,,12)&gt;&gt;</code></para></entry><entry colsep="1" rowsep="1"><para> Displays a Calendar and creates link for entries to each day on subpages. See <ulink url="https://flisol.info/HelpOnMacros/HelpOnMacros/MonthCalendar#">/MonthCalendar</ulink> </para></entry></row></tbody></tgroup><!--Width &quot;33%&quot; not supported--></informaltable><para><footnote><para>None</para></footnote> </para></section></section></article>