/Include /MailTo |
1. Macros
Macros allow the insertion of system features into normal wiki pages;![[WWW]](/wiki/rightsidebar/img/moin-www.png)
![[WWW]](/wiki/rightsidebar/img/moin-www.png)
![[WWW]](/wiki/rightsidebar/img/moin-www.png)
For more information on the possible markup, see HelpOnEditing.
1.1. Search macros
Macro | Description | Example |
[[TitleSearch]] | search the page titles | See the FindPage |
[[FullSearch]] | search the page contents | See the FindPage |
[[FullSearch()]] | search for the current title in all pages (like clicking on the page title) | See the CategoryCategory page |
[[FullSearch('text')]] | search for "text" in all pages |
Search for FullSearch:
|
[[GoTo]] | directly go to the page you enter | See the FindPage |
[[PageList(regex)]] | list of pages whose title matches the regex | See the HelpIndex |
1.2. Navigation
Macro | Description | Example |
[[RecentChanges]] | a list of recently edited pages | See RecentChanges |
[[TitleIndex]] | an index of all page titles | See TitleIndex |
[[WordIndex]] | an index of all words in page titles | See WordIndex |
[[WantedPages]] | list links to non-existent pages | See WantedPages |
[[OrphanedPages]] | list pages no other page links to | See OrphanedPages |
[[AbandonedPages]] | list pages that were not edited for the longest time | See AbandonedPages |
| Please include this information in your bug reports!: Python Python 2.7.18: /usr/bin/python2 Linux erode.bofh.it 6.1.0-23-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.99-1 (2024-07-15) x86_64 MoinMoin Release 1.2.4 [Revision 1.187] Wed Apr 2 10:24:41 2025 |
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
/usr/local/share/moin/MoinMoin/request.py in run(self=<MoinMoin.request.RequestCGI instance>) |
389 if handler: |
390 handler(pagename or |
391 wikiutil.getSysPage(self, config.page_front_page).page_name, self) |
392 else: |
393 self.http_headers() |
global wikiutil = <module 'MoinMoin.wikiutil' from '/usr/local/share/moin/MoinMoin/wikiutil.pyc'>, wikiutil.getSysPage = <function getSysPage>, self = <MoinMoin.request.RequestCGI instance>, global config = <module 'MoinMoin.config' from '/usr/local/share/moin/MoinMoin/config.pyc'>, config.page_front_page = 'FrontPage', ).page_name undefined |
/usr/local/share/moin/MoinMoin/wikiaction.py in do_recall(pagename='HelpOnMacros', request=<MoinMoin.request.RequestCGI instance>) |
554 return |
555 if request.form.has_key('date'): |
556 Page(pagename, date=request.form['date'][0]).send_page(request) |
557 else: |
558 Page(pagename).send_page(request) |
global Page = <class MoinMoin.Page.Page>, pagename = 'HelpOnMacros', date undefined, request = <MoinMoin.request.RequestCGI instance>, request.form = {'action': ['recall'], 'date': ['1099443610']}, ).send_page undefined |
/usr/local/share/moin/MoinMoin/Page.py in send_page(self=<MoinMoin.Page.Page instance>, request=<MoinMoin.request.RequestCGI instance>, msg='<strong>Version as of 2004-11-03 01:00:10</strong><br>', **keywords={}) |
622 else: |
623 # parse the text and send the page content |
624 self.send_page_content(request, Parser, body) |
625 |
626 # check for pending footnotes |
self = <MoinMoin.Page.Page instance>, self.send_page_content = <bound method Page.send_page_content of <MoinMoin.Page.Page instance>>, request = <MoinMoin.request.RequestCGI instance>, Parser = <class MoinMoin.parser.wiki.Parser>, body = '[[Navigation(children)]]\n[[TableOfContents]]\n\n==... the {{{[[SystemInfo]]}}} macro:\n [[SystemInfo]]\n' |
/usr/local/share/moin/MoinMoin/Page.py in send_page_content(self=<MoinMoin.Page.Page instance>, request=<MoinMoin.request.RequestCGI instance>, Parser=<class MoinMoin.parser.wiki.Parser>, body='[[Navigation(children)]]\n[[TableOfContents]]\n\n==... the {{{[[SystemInfo]]}}} macro:\n [[SystemInfo]]\n', needsupdate=0) |
673 (not formatter_name in config.caching_formats)): |
674 # parse the text and send the page content |
675 Parser(body, request).format(self.formatter) |
676 return |
677 |
Parser = <class MoinMoin.parser.wiki.Parser>, body = '[[Navigation(children)]]\n[[TableOfContents]]\n\n==... the {{{[[SystemInfo]]}}} macro:\n [[SystemInfo]]\n', request = <MoinMoin.request.RequestCGI instance>, ).format undefined, self = <MoinMoin.Page.Page instance>, self.formatter = <MoinMoin.formatter.text_html.Formatter instance> |
/usr/local/share/moin/MoinMoin/parser/wiki.py in format(self=<MoinMoin.parser.wiki.Parser instance>, formatter=<MoinMoin.formatter.text_html.Formatter instance>) |
1031 line = line + " " # we don't have \n as whitespace any more |
1032 |
1033 formatted_line = self.scan(scan_re, line) # this also sets self.inhibit_p as side effect! |
1034 |
1035 #self.request.write("<!-- inhibit_p==%d -->\n" % self.inhibit_p) |
formatted_line = '<tr>\n<td>\n<tt>[[AbandonedPages]]</tt> </td>\n<td>..."/AbandonedPages">AbandonedPages</a> </td>\n</tr>\n', self = <MoinMoin.parser.wiki.Parser instance>, self.scan = <bound method Parser.scan of <MoinMoin.parser.wiki.Parser instance>>, scan_re = <_sre.SRE_Pattern object>, line = '||{{{[[RandomPage]]}}} || a link to a random page || [[RandomPage]] || ' |
/usr/local/share/moin/MoinMoin/parser/wiki.py in scan(self=<MoinMoin.parser.wiki.Parser instance>, scan_re=<_sre.SRE_Pattern object>, line='||{{{[[RandomPage]]}}} || a link to a random page || [[RandomPage]] || ') |
864 else: |
865 result.append(self.formatter.text(line[lastpos:match.start()])) |
866 result.append(self.replace(match)) |
867 |
868 # search for the next one |
result = ['', '<tr>\n<td>\n', '', '<tt>[[RandomPage]]</tt>', ' ', '</td>\n<td>\n', ' a link to a random page ', '</td>\n<td>\n', ' '], result.append = <built-in method append of list object>, self = <MoinMoin.parser.wiki.Parser instance>, self.replace = <bound method Parser.replace of <MoinMoin.parser.wiki.Parser instance>>, match = <_sre.SRE_Match object> |
/usr/local/share/moin/MoinMoin/parser/wiki.py in replace(self=<MoinMoin.parser.wiki.Parser instance>, match=<_sre.SRE_Match object>) |
884 return self.highlight_text(hit) |
885 else: |
886 return getattr(self, '_' + type + '_repl')(hit) |
887 else: |
888 import pprint |
getattr undefined, self = <MoinMoin.parser.wiki.Parser instance>, type = 'macro', hit = '[[RandomPage]]' |
/usr/local/share/moin/MoinMoin/parser/wiki.py in _macro_repl(self=<MoinMoin.parser.wiki.Parser instance>, word='[[RandomPage]]') |
823 |
824 # call the macro |
825 return self.formatter.macro(self.macro, macro_name, args) |
826 |
827 |
self = <MoinMoin.parser.wiki.Parser instance>, self.formatter = <MoinMoin.formatter.text_html.Formatter instance>, self.formatter.macro = <bound method Formatter.macro of <MoinMoin.formatter.text_html.Formatter instance>>, self.macro = <MoinMoin.wikimacro.Macro instance>, macro_name = 'RandomPage', args = None |
/usr/local/share/moin/MoinMoin/formatter/base.py in macro(self=<MoinMoin.formatter.text_html.Formatter instance>, macro_obj=<MoinMoin.wikimacro.Macro instance>, name='RandomPage', args=None) |
160 def macro(self, macro_obj, name, args): |
161 # call the macro |
162 return macro_obj.execute(name, args) |
163 |
164 def processor(self, processor_name, lines): |
macro_obj = <MoinMoin.wikimacro.Macro instance>, macro_obj.execute = <bound method Macro.execute of <MoinMoin.wikimacro.Macro instance>>, name = 'RandomPage', args = None |
/usr/local/share/moin/MoinMoin/wikimacro.py in execute(self=<MoinMoin.wikimacro.Macro instance>, macro_name='RandomPage', args=None) |
110 return self._m_lang(macro_name, args) |
111 |
112 raise ImportError("Cannot load macro %s" % macro_name) |
113 |
114 def _m_lang(self, lang_name, text): |
ImportError undefined, macro_name = 'RandomPage' |