See also CategoryMarket
Contents
- Macro syntax in newer versions
- To macro authors
- Installation instructions
- Important hints for developers
- Offers
-
Requests
- Frequently requested but not (yet) implemented
- Miscellaneous
- AliasOfThisPage
- Macro for Graphs in Wiki
- Macro for integrating mail archives
- macro for caching images
- PageOf macro and TOC markup
- RandomPage macro
- subversion integration
- Table of contents - full section numbers
- Encryption of parts of a page
- Easy-append to a page
- Your Comments
- Reorganisation of this page
Macro syntax in newer versions
Note that MoinMoin versions from 1.6.0 and upward use a new syntax for macro calls:
<<Macro(Arguments)>>
instead of the previous
[[Macro(Arguments)]]
To macro authors
Please put your macros (new & old) on a subpage and attach the macro to the subpage (as many have done already) that is then linked from here. You can use the MacroMarketTemplate when creating subpages. Adding a bit of info about the macro - common usage, known limitations and the like - would be great too. This makes it much easier to alter the structure of this page than it is now with many direct attachments. It would, I think, even allow several references, e.g. from different categories.
I would also encourage authors or users to indicate whether they have used a macro with a version other than that it's advertised for, and if there were issues in doing so.
Installation instructions
Make sure, you got the file installed with the correct file name: Of most macros there are different versions available and you might have to delete the version number in the filename: e.g. /MiniPage --> download MiniPage-1.7.1-5.py but install it as MiniPage.py
The best location for macros is to copy them into the /path_to_wiki_instance/data/plugin/macro directory. This method would be guaranteed to survive MoinMoin and Python upgrades.
Alternatively:
You can also copy macros into the Python site-packages/MoinMoin/macro directory. The MoinMoin/macro directory is created inside site-packages during the MoinMoin install. Typical default Python site-packages path on Unix/Linux is /usr/lib/pythonX.Y/site-packages. Because you can add paths to the PYTHONPATH environment variable the actual directory could be anywhere.
Actually, i think that last phrase is not actually true. MoinMoin looks for plugins in two places, the site-packages directory and the wiki's data/ directory. It would be nice to have a third place, but it's not currently the case. -- TheAnarcat 2006-05-30 20:37:53
On Unix/Linux systems you might have to chmod a r on the *.py file, or better yet set the right owner to the *.py files. In most cases it is the owner of the webserver process.
Important hints for developers
The MoinMoin.wikiutil module provides rich functionality for parsing the given args string of a macro: see parseArguments and ParameterParser for that. So there is no need to write your own arg parser in your macro. To build a querystring for calling an action, use makeQueryString.
Please make sure that via your macro no arbitrary HTML code could be injected into a page which could cause cross-site scripting attacks. Use wikiutil.escape or formatter.escapedText to prevent inserting of malicious code.
Moin has an output abstraction built in which enables users to output a page not just in HTML but also in DocBook, Word and other office formats. Output abstraction is done via so called "formatters". So please do not return in your macro just return 'Macro output' but use instead return macro.formatter.text('Macro output') . To output raw HTML: don't do return '<q> Your qoute</q>' please use also the formatter for that nested in a try...except statement: try: return macro.formatter.rawHTML(wikiutil.escape('<q>Your quote</q>')) except: return macro.formatter.escapedText('Your quote')
Make sure that your macro also supports others languages, i.e. macro output could be translated with the built-in getText function by using the underscore. So write text = _('Edit page') and not text = 'Edit page'. From Moin 1.6 onwards you can provide separate translation files for your extensions named LangShortcut.Extensionname.po. For example: de.TaskPlanner.po.
Have a look at our CodingStyle and MoinDev/CodingStandards
Offers
This is a marketplace for your macros. Please state your name, your e-mail-address, and the release your macro is developed for. For information on standard macros, see HelpOnMacros.
Simply create a subpage using the MacroMarketTemplate, upload your source code as an attachment to the subpage, use [[attachment:YourMacro.py]] to link to it, and add a link to your subpage from this page.
Release 1.9
Macro |
Author |
Designed for MoinMoin Release |
Description / Sample |
|
<llubnek AT gmail DOT com> |
1.5, 1.9.3 |
Bible(Genesis 1:1-5) would display Genesis chapter 1, verse 1 through 5 in KJV. Uses bible13.txt from Project Gutenberg. |
||
Boris Smus, MarcelHäfner |
1.8 / 1.9.x |
Display an abbreviated recent changes useful |
||
|
1.8.5 , 1.9.3 |
generates a TagCloud of category pages <<CategoryCloud>> |
||
1.7?-1.9 |
Create a Wiki Checklist utilizing HTML5 localstorage. Only tested on 1.9 but conceivably works on earlier releases. <<CheckList(checkbox_id, heading_level, heading_text)>> |
|||
|
1.8, 1.9 |
List of first-level subpages of the current page. Example: |
||
Andy Doan |
<andy.doan AT linaro DOT org> |
1.9.3 |
Displays supplemental information intended for a page in a collapsed HTML 'div' element. |
|
1.6, 1.9.3 |
Enables colored text with (optional) background color and specified font. Example: <<Color2(red courier on blue,col=red,bcol=blue,font=courier)>>. Note: install as Color2.py |
|||
1.6, 1.9 |
<<Columns(start,left)>> , <<Columns(end)>> |
|||
1.9.3 |
<<CycleContent(pagename=u'CycleContent')>> |
|||
1.9.3 |
<<DictColumns>> |
|||
1.9.3 |
<<EmbedContent(url=u"")>> |
|||
<paul AT boddie DOT org DOT uk> |
1.6/1.7/1.8/1.9 |
<<EventAggregator(CategoryEvents)>> |
||
<devel AT sumpfralle DOT de> |
1.9 |
instant single-file conversion of various input formats (e.g. for embedding attached files: dia/dot/pdf/xcf/ps) |
||
1.6? - 1.9 |
Tool (javascript) to get lat, lng, yaw, pitch and zoom for GoogleStreetView macro. Example: GetStreetView |
|||
|
1.9.x |
add google map into current page |
||
see User |
1.9.x |
integrate on a wiki page a Google Talk link for your visitors |
||
1.9.3 |
<<arnica>>, renders Images, see documentation (first column) |
|||
<gordon AT dragonsdawn dot net> |
1.9.x |
Include a template which, in turn, includes values from a WikiDict |
||
1.9.3 |
<<ListPages(search_term=u'. ', list_type=("number_list", "bullet_list"), link=("pagename", "subpage"), reverse=False)>> |
|||
1.8/1.9 |
Creates a login link if the user is not logged in |
|||
Brian Fiedler |
<bfblock-wik AT yahoo DOT com > |
1.7?-1.9x |
Displays LaTeX as PNG image, <<LTX(\int_0^\infty e^{-x^2}dx)>> |
|
1.9.3 |
<<mathtran(formular=u'', scale_factor=(u"3", u"1", u"2", u"4", u"5"),mathtran_server=u"http://www.mathtran.org/cgi-bin/toy/")>> |
|||
1.8/1.9 |
Blog like comments |
|||
<EMAIL emayssat AT outlook DOT com ENJOY> |
1.9.3 |
Visual display of a grade, rate, etc. Example; 3 out of 5 stars |
||
1.9.3 |
<<pdf2svg(attachment='', url='', width=1200, height=800, pageno=1)>> |
|||
see wiki page |
1.8/1.9 |
<<qwebirc(server="freenode",channels="#moin,#moin-dev")>> |
||
|
1.8, 1.9 |
ATOM and RSS Feed Reader <<RSSReader("http://yoursite.com/rss.xml">> |
||
Andy Doan |
<andy.doan AT linaro DOT org> |
1.9.3 |
Includes content from a page with a banner IFF user has permissions |
|
1.6 to 1.9 |
Enables sections of a page to be see-sawed (toggled) between hidden and shown, or unconditionally placed in either state. Requires JavaScript and jQuery. |
|||
1.9.3 |
<<ShortText(pagename=unicode, length=180)>> |
|||
|
1.9.3 / 1.8.x |
<<ShowTweets(twitteruser>> |
||
|
1.8, 1.9 |
List of pages in the wiki. Example: <<SiteIndex>> |
||
|
1.9.x |
generates html spans - class, id, style, lang, dir |
||
|
1.9 |
Macro for Attachment Administration |
||
1.3 - 1.9 |
display a wiki page using any installed theme with one click |
|||
1.9.7 |
creates a mailto link for all users and all active users |
|||
1.9.3 |
<<UserList>> |
|||
1.9.x |
This macro allows you to include a Vimeo video. Syntax: <<Vimeo(25340759))>> |
|||
The original author: OliverSiemoneit. Updated by VietLe |
1.9.x |
This macro allows you to include a page/url with ease. Updated to make use of Moinmoin 1.9 macro syntax. Syntax: <<IncludePage(TestPage, 800, 600)>> |
||
Daniil Alexeyevsky |
|
1.9 (probably compatible with 1.5-1.9) |
generates QR-code for it's argument or for the address of the current page |
|
1.9 (probably compatible with 1.5-1.9) |
shows a map from github geojson in the wiki |
|||
1.9 (probably compatible with 1.5-1.9) |
shows a gist in the wiki |
|||
1.9 (probably compatible with 1.5-1.9) |
Include and play shell-casts (Asciinema) in your wiki. |
Release 1.8
Macro |
Author |
Designed for MoinMoin Release |
Description / Sample |
|
1.8/1.7 |
<<AirspeedTemplate(my-template-file.html)>> |
|||
|
|
1.8 |
added a second version |
|
<paul AT boddie DOT org DOT uk> |
1.5/1.6/1.7/1.8 |
<<CategoryMenu()>> |
||
|
1.8.5 |
generates a TagCloud of category pages <<CategoryCloud(maxTags=25)>> |
||
1.8 |
<<CollectLists>> |
|||
1.8.x |
<<CollectListsCategory(CategoryBugs>> |
|||
1.8.x |
<<CycleContent>> |
|||
<paul AT boddie DOT org DOT uk> |
1.5/1.6/1.7/1.8/1.9 |
<<EventAggregator(CategoryEvents)>> |
||
1.8 (1.5) |
||||
petrdll at centrum dot sk |
1.8 |
Set of macro plugins to generate various HTML form elements. Submited data are processed by specified MoinMoin action plugin or FormSubmit plugin. See FormSubmit in ActionMarket. |
||
<jo DOT meier AT gmx DOT de> |
1.8/1.9 |
<<FreemindSitemap()>> |
||
AndyD'ArcyJewell |
<andy DOT jewell AT sysmicro DOT co DOT uk> |
1.8 |
<<ImageZoom("image_url")>> |
|
|
1.8/1.6/1.3 |
<<IncludeUrlContentWiki(http://foo.com/wikimarkup)>> |
||
1.8.1 |
<<IncludeWikiContent(Common/AdminBar)>> |
|||
1.8/1.9 |
<<mathtran(formular)>> The mathtran macro is used to write latex formulars into the wiki text. |
|||
1.8/1.9 |
Blog like comments |
|||
1.5 to 1.8 |
permits the use of titles in form = title = or '''title''' in a calendar, see /MonthCalendarHack |
|||
1.5 to 1.8 |
create a list of recent entries created with MonthCalendar, see /MonthCalendarTopList |
|||
1.8 |
Automatically creates new calendar entry (based on core NewPage macro) |
|||
1.6 to 1.9 |
Enables sections of a page to be see-sawed (toggled) between hidden and shown, or unconditionally placed in either state. Requires JavaScript and jQuery. |
|||
|
1.8.x |
<<ShowTweets(user="Twitter">> |
||
1.8 |
<<ShowCategory>> |
|||
1.7 |
<<SvgPlot>> |
|||
1.8 |
<<ThumbGallery>> or <<ThumbGallery(columns=4, imgwidth=250)>> |
|||
Peter Hübert |
1.6 - 1.8 |
<<kbd(args)>> |
||
|
1.8.x |
<<YouTube(keyword="glam metal">> |
Release 1.7
Macro |
Author |
Designed for MoinMoin Release |
Description / Sample |
|
<paul AT boddie DOT org DOT uk> |
1.5/1.6/1.7/1.8 |
<<CategoryMenu()>> |
||
1.7 |
Allow to insert some Crunchy controls |
|||
1.7 |
<<DisqusThread(username)>> |
|||
<paul AT boddie DOT org DOT uk> |
1.5/1.6/1.7/1.8/1.9 |
<<EventAggregator(CategoryEvents)>> |
||
1.7 |
<<HelloWorld(color="blue")>> , <<HelloWorld(color="green")>> |
|||
1.7 |
<<IncludePage(TestPage, 800, 600)>> |
|||
<gary AT NOSPAM vaughan DOT pe> |
1.7 |
Implement a MoinMoin like issue tracker with search |
||
<worldhello DOT net AT gmail DOT com> |
1.7 |
<<jQuery(toggle,hide,.div1,.div2,type=button,text=Hide all>> |
||
1.7.2 |
<<mathtran(formular)>> |
|||
1.5/1.6/1.7 |
create a list of recent entries created with MonthCalendar, see /MonthCalendarTopList |
|||
1.5/1.6/1.7 |
permits the use of titles in form = title = or '''title''' in a calendar, see /MonthCalendarHack |
|||
1.7 |
<<MyPageLinks>> |
|||
1.7 |
||||
1.7 |
||||
|
1.7 |
<<PageDicts(Bug, Description, Status, Status ~= open)>> |
||
<moinmoin AT yoopee DOT de> |
1.5 - 1.7.x |
<<RecentChangesMax(5)>> |
||
1.6/1.7 |
Searches text in some pages and displays the result by sorted lines. Great to collect info over pages, such as TODOs, deadlines, etc. |
|||
1.6 to 1.9 |
Enables sections of a page to be see-sawed (toggled) between hidden and shown, or unconditionally placed in either state. Requires JavaScript and jQuery. |
|||
|
1.6 - 1.7 |
Used to show csv file as wiki table - /ShowCSV |
||
1.5 - 1.7.x |
Sorts table data much like a spreadsheet. See /SortBy |
|||
1.6-1.7 |
Update of Zdenek Pizl's remake of UserList, originaly coded by AnttiKuntsi. |
Release 1.6
Macro |
Author |
Designed for MoinMoin Release |
Description / Sample |
|
l-tribe at yandex dot ru, BoleslawKulbabinski |
1.6 |
Set of tools for Wiki administration |
||
1.6 |
<<AlertDate(12/22/2007)>> |
|||
ggodfrey PLUS moin AT io DOT com |
1.6 |
<<CalDate("%d %B, %Y",2)>> When run on pages created under a MonthCalendar, it returns with formatted text for the date. |
||
<paul AT boddie DOT org DOT uk> |
1.5/1.6/1.7/1.8 |
<<CategoryMenu()>> |
||
1.6 |
returns list of pages in a category, can be used to get rid of ugly regexps in category pages |
|||
1.6 |
Extends Color macro to support text color, background color, and font. Also uses code from /MiniPage to support markup within text. e.g. <<Color2(red,blue,courier,red courier on blue)>>. Note: install as Color2.py |
|||
1.6, 1.9 |
<<Columns(start,left)>> , <<Columns(end)>> |
|||
|
1.6 |
Displays results of SQL select statements as a table. ODBC, MySQL and Oracle DB connections are supported. Supports any database source that can be connected by ODBC. |
||
<paul AT boddie DOT org DOT uk> |
1.5/1.6/1.7/1.8/1.9 |
<<EventAggregator(CategoryEvents)>> |
||
1.6, 1.5 |
A modification of Moin's built-in Action macro which allows also to make action links to other pages than just the current one |
|||
|
1.6/1.7/1.8 |
Displays forms based on database records. The records can be edited or deleted. New records can be inserted. The macro also supports sub forms, filters and table views. |
||
petrdll at centrum dot sk |
1.6 |
Set of macro plugins to generate various HTML form elements. Submited data are processed by specified MoinMoin action plugin or FormSubmit plugin. See FormSubmit in ActionMarket. |
||
1.6 |
Adds a preview window underneath the calendar where you can view, create, change the daypages |
|||
1.6 |
<<HelloWorld(color="blue")>> , <<HelloWorld(color="green")>> |
|||
1.6 |
||||
1.6 |
||||
see wiki page |
1.6 |
<<LoginHint(Please log in!)>> |
||
1.6 |
||||
1.5/1.6/1.7 |
create a list of recent entries created with MonthCalendar, see /MonthCalendarTopList |
|||
1.5/1.6/1.7 |
permits the use of titles in form = title = or '''title''' in a calendar, see /MonthCalendarHack |
|||
1.6 |
shows tooltips for all available pages when using multiple calendars in MonthCalendar |
|||
1.6/1.5/1.3 |
||||
1.6 |
||||
1.6 |
||||
1.6 |
||||
1.6/1.7 |
Searches text in some pages and displays the result by sorted lines. Great to collect info over pages, such as TODOs, deadlines, etc. |
|||
1.6 to 1.9 |
Enables sections of a page to be see-sawed (toggled) between hidden and shown, or unconditionally placed in either state. Requires JavaScript and jQuery. |
|||
|
1.6 |
|||
|
1.6 |
|||
1.5/1.6/1.7 |
||||
TaskTable.py, see TaskPlanner |
1.6 |
|||
|
1.6/1.3 |
<<IncludeUrlContentWiki(http://foo.com/wikimarkup)>> |
||
1.6/1.9 |
An /OpenStreetMap with markers in your wiki |
Release 1.5
Macro |
Author |
Designed for MoinMoin Release |
Description / Sample |
|
Osvaldo Santana |
osantana googlemail |
1.5.6 |
Put a random Advertisement banner |
|
l-tribe at yandex dot ru |
1.5 |
Set of tools for Wiki administration |
||
1.5.4 |
http://www.wiki.visualmodeller.org beware you should also install the JGraphpadCE applet plugin in your public wiki directory as explained on the site |
|||
1.5 |
||||
guido moinmoin. wikiwikiweb.de AT berhoerster DOT name |
1.5 |
|||
<llubnek AT gmail DOT com> |
1.5 |
Bible(Genesis 1:1-5) would display Genesis chapter 1, verse 1 through 5 in KJV. Uses bible13.txt from Project Gutenberg. |
||
guido moinmoin. wikiwikiweb.de AT berhoerster DOT name |
1.5 |
|||
boris at z3 dot ca |
1.5 |
Display an abbreviated recent changes useful |
||
1.5 |
Javascript Calendar based bwiki (blog/wiki) - based on the work of MarkProctor |
|||
1.5.8 |
<<Bugzilla(192)>> |
|||
1.5 |
Allows to use template pages with parameters (like in Mediawiki): |
|||
<paul AT boddie DOT org DOT uk> |
1.5/1.6/1.7/1.8 |
[[CategoryMenu()]] |
||
guido moinmoin. wikiwikiweb.de AT berhoerster DOT name |
1.5 |
|||
<llubnek AT gmail DOT com> |
1.5, 1.6 |
Clear(left) would ensure that there are no floating elements to the left of the following content. |
||
1.5 |
Extends Color macro to support text color, background color, and font. Also uses code from MiniPage to support markup within text. e.g. Color2(red,blue,courier,red courier on blue) |
|||
1.5 |
Insert a fixed string dependant on the logged in user. |
|||
1.5 |
[[DateLastModified]], Displays when the page was last edited. |
|||
tested with |
||||
boris at z3 dot ca |
1.5 |
List a user's del.icio.us bookmarks as a |
||
1.5 |
Insert Javascript that generates a specified email address |
|||
1.5 |
||||
1.5 |
If section-numbers are used, Enhanced Table Of Contents displays full section number instead of the normal list number. For examples, go to SteveTindle/DocTools. |
|||
<paul AT boddie DOT org DOT uk> |
1.5/1.6/1.7/1.8 |
[[EventAggregator(CategoryEvents)]] |
||
1.3, 1.5 (1.8) |
||||
1.5 |
will insert a copy of the second argument for each page matching the (full) search pattern given as first argument, replacing occurrences of %% found there with the page title |
|||
shinsuk at gwbs dot net |
1.5, 1.8, 1.9 |
Upload your freemind map as an attachment, and then use [[FreeMindFlashBrowser(attachment:test.mm)]] |
||
Kaltokri |
<gu AT procom DOT de> |
1.5 |
||
1.5.x |
||||
benny1990 ätt gmail punkt com |
1.5.4 |
|
||
Claudio Pisa |
<clauz AT PLEASE DONT SPAM ME ninux DOT org> |
1.5 |
Text highlighting (see trivial python code for colors) [[hi(TEXT)]] |
|
1.5 |
||||
see wiki page |
1.5 |
[[IconLink(/!\, 'FooBar/SubHat')]] |
||
1.5 |
The macro is a simple modification of the ImageLink-Macro. Instead of using attachment:pic.png to display an image, use [[Image(pic.png,height=100, alt=your description)]] to display resized with an optional alt text. For image-alignment see ParserMarket/Frame and SectionParser |
|||
<llubnek AT gmail DOT com> |
1.5, 1.6 |
ImageBrowserContent(''[index][, image0, image1, ...]'') |
||
1.5 |
||||
Allefant |
1.5 |
|||
1.5, 1.6.1 |
Include a list of upcoming events based on a MonthCalendar base page |
|||
1.5 |
Uses ISBN to create link to Amazon, B&N, etc. ISBN(020171499X) would produce something like: (Amazon) (BN) |
|||
see wiki page |
1.5 |
[[LoginHint(Please log in!)]] |
||
1.5 |
Lookup definitions in some pages and displays the result by sorted values. Great to collect info over pages, such as lists of contact info, small wiki-based database, etc. |
|||
Timothy Head |
<betatim AT gmail DOT com> |
1.5.7 |
||
1.5 |
A macro for viewing MySQL Server Status and Variables with descriptions. |
|||
1.5/1.6 |
permits the use of titles in form = title = of title in a calendar, see /MonthCalendarHack |
|||
1.5 |
[[MonthCalendarTopList(X)]] will display the titles of the past X days generated with the MonthCalendar macro |
|||
Jennifer Vanderputten |
<Jen AT RabidWeasel DOT com> |
1.5 |
Create a navigation list of the tree of subpages for any page in an indented bulleted list layout. See MacroMarket/Navitree. Usage: Navitree(childtree). Limit depth example: Navitree(childtree, 1). |
|
1.5 |
Extension of /PageComment2 with captchas from recaptcha. |
|||
1.5/1.6 |
[[PageDicts(Bug, Description, Status, Status ~= open)]] This will show all pages which have a title like Bug, with dict keys Description and Status and which have a Status matching Open. |
|||
1.5 |
||||
1.5 |
||||
Jörg Haustein |
<READ AND REPLACE jchaustein AT gmx DOT de> |
1.5 |
Query a PostgresSQL database: PgSQLQuery(mydb,SELECT * from table) See Python script headers for documentation. |
|
<moin AT sheep DOT art DOT pl> |
1.5 |
Changes the Unix password via poppass protocol. |
||
1.5 |
[[Progress(percent)]] outputs DIV in DIV with fixed width. Uses .div.progress and div.progressbg CSS classes for progressbar and its background (which has always width set to 100%) respectively. |
|||
<moinmoin AT yoopee DOT de> |
1.5 |
[[RecentChangesMax(5)]] |
||
christian dot groh at doubleSlash dot de |
1.5.4 |
Show a list of recently created pages. |
||
Carlos Zager |
<czager AT gmail DOT com> |
0.1 |
!Rollover(Images/img1.png,Images2.png,64,64,www.ejemplo.com)) |
|
<ianw AT ieee DOT org> |
1.5 |
[[RSSReader(URL-to-RSS-feed-to-display[, allow_html])]] Pass in optional allow_html argument if you trust the source to inject any HTML it wants. You need feedparser. See also macro/FeedParser |
||
1.5 |
Outputs from the given email an image to disable spam robots. Replaces AT, DOT and DASH, strips blanks and ALLUPPERCASE words (like MailTo ). |
|||
1.5 |
Sets the starting section number for the page. Must be used at very top of page, before any TableOfContents. Does not support subsections. For examples, go to SteveTindle/DocTools. |
|||
|
1.5.8 |
|||
<moin AT sheep DOT art DOT pl> |
1.5 |
Changes the Windows password using an external smbclient. |
||
1.5 |
Generates a sparkline which provides a simple, tiny graph. Examples are in the attached file. |
|||
1.5 |
This macro create an clickable icon on the page content. On clicking the image, an menu opens. By selecting an other icon at the menu, the clicked image would be changed. |
|||
1.3, 1.5 (Last update: 2006 -04 -02) |
[[SubscribeTo(UserName,ImportantGroup,-SkipThisUser)]] MoinMoinSubscribeTo |
|||
1.5 |
A macro for symlinking files into attachments |
|||
1.5 |
A macro for running Unix commands and capturing their output |
|||
christian dot groh at doubleSlash dot de |
1.5 |
Create a Tagcloud |
||
<llubnek AT gmail DOT com> |
1.5, 1.6 |
Thumbnail(image.png) would display a 64x64 thumbnail of the attachment "image.png". Should work for SVG, EPS, text, HTML, PDF, etc as well. Uses ImageMagick. Set _convert in data/plugins/action/Thumbnail.py to the actual location of convert or simply "_convert = 'convert'" if it's in your path. |
||
1.5 |
Generates a complete Table of Contents for a list of other pages. Supports SetSection above and formats like EnhancedTableOfContents. For examples, go to SteveTindle/DocTools. |
|||
Gouichi Iisaka |
iisaka51 at hotmail dot com |
1.5.x |
Allow to set and reuse string as variable in wiki documents. |
|
<mail AT travisbailey DOT com> |
1.5 |
[[VotingStars(UniqueName)]] |
||
1.5 |
[[WhoLastModified]], Displays who last edited the page. |
|||
1.5.4 |
||||
JesusLAlvaro en gmail.com |
1.5.4 |
Embed YouTube videos with this simple macro |
Release 1.3
Macro |
Author |
Designed for MoinMoin Release |
Description / Sample |
|
|
>=1.3 |
A simple, 5-stars rating system including a rating form and cross-page ranking tables |
||
|
>=1.3 |
Wikipedia-like Attention Boxes in MoinMoin |
||
1.3 |
This macro allows an easy integration of a bug tracking system in a wiki |
|||
<pascal DOT bauermeister AT gmail DOT com> |
1.3 |
This macro generates a progress indicator. Various styles. See /ProgressBar. |
||
<pascal DOT bauermeister AT gmail DOT com> |
1.3 |
Get content from an URL and insert it into the wiki page. See /UrlGrab. |
||
Lars Kruse |
<devel AT sumpfralle DOT de> |
1.3 |
[[NewPage(pagename_prefix,template)]] shows a form to create a new page starting with "pagename_prefix" by using the optional template |
|
1.35 |
||||
<n DOT king AT moologic DOT com> |
1.5 |
Item becomes clickable |
||
SergioRGiraldo |
<sergiorgiraldo AT gmail DOT com> |
1.3 |
read script |
|
1.3 |
||||
[[SQL(oraprod1|NEXRAD|NEXRAD|prod1|oracle|select * from user_tables)]] |
||||
Supports Oracle or MySQL database queries. |
||||
1.2, 1.3, 1.5 |
Gallery or Gallery(thumbnailwidth=100,webnailwidth=300,numberofcolumns=4) see /Gallery |
|||
1.3 |
[[FreeSpace(/mnt/hda)]] prints (e.g.) "3.8GiB of 3.8GiB" |
|||
1.3 |
[[HelpTitle(this is the text you see, this is the tooltip for it)]] |
|||
1.3 |
[[Link(PageName, accesskey="1")]] |
|||
Mat |
see source |
1.3.3 |
creates a link which opens in a new browser window |
|
<zdenek DOT pizl AT prolinux DOT cz> |
>=1.3 |
Remake of UserList originaly coded by AnttiKuntsi. Download here UserList2.py |
||
<sp1d3rx AT gmail DOT com> |
>=1.3 |
includes a variable from a page |
||
<nirs AT freeshell DOT org> |
1.3 |
|||
1.3 |
||||
1.3 |
||||
1.3 |
||||
1.3 |
||||
1.3 |
||||
1.3 |
||||
>=1.3 |
||||
1.3 |
||||
latex macro (for code see url) |
1.3 patch-500 |
http://johannes.sipsolutions.net/Projects/new-moinmoin-latex |
||
1.3 |
||||
<gustavo[a]niemeyer.net> |
1.3.5 |
unofficial patch of irss (action) for MoinMoin 1.5.8: /IRSS/irss-moin-1.5.8.patch |
||
Turns parts of any normal Moin page in RSS feeds, using very simple and straightforward markup. |
||||
1.3 and 1.2 |
||||
Searches text in some pages and displays the result by sorted lines. Great to collect info over pages, such as TODOs, deadlines, etc. |
||||
1.3 |
||||
1.3, 1.5 (Last update: 2006-04-02) |
[[SubscribeTo(UserName,ImportantGroup,-SkipThisUser)]] |
|||
1.3 |
works with M`M 1.5.4 and DesktopEdition, see docu at /FreeMindBrowser |
|||
1.3.4, 1.5 |
IMG(http://example.com/img_gen.php?id=4) or IMG(http://foo/img_gen.php?id=4, http://example.com/) |
|||
1.3.4 |
[[ShowMe()]] [[ShowMe(my text)]] |
|||
<aaranya[a]gmail.com> |
1.3.4 |
Updated Martin Stone's and John Cocula's vote macro to work with 1.3.4. See attachment for details |
||
<contact AT theendmusic DOT org> |
1.3 |
|||
Roger Haase |
1.3, 1.5 beta |
After downloading, rename this to NewWindow.py. This is a small mod to Changjune Kim's macro to use Javascript to open a new window because the HTML feature is deprecated. |
||
1.3 |
[[Card(TemplatePage arg1|arg2|var1=value|var2=value|...)]] |
|||
1.3 |
/QueryPg After downloading, rename this to QueryPg.py. Use something like [[QueryPg(SELECT * from countries)]] |
|||
1.3 |
/RandomBanner After donwloading, rename to RandomBanner.py, please do read the docs, before using it |
Release 1.2
Macro |
Author |
Designed for MoinMoin Release... |
... and Revision... |
Description / Sample |
|
-- |
1.2.3 |
n/a |
|||
1.2.3 |
n/a |
||||
1.2.3 |
n/a |
||||
|
1.2 |
n/a |
IncludeExternalFile(dynamidata.html) or IncludeExternalFile(data/file.txt) |
||
1.2 |
n/a |
Gallery or Gallery(thumbnailwidth=100,webnailwidth=300,numberofcolumns=4) see /Gallery example: SampleGallery |
|||
1.2 |
n/a |
[[AlertDate(10/28/2004)]] |
|||
1.2 |
n/a |
RockPaperScissors(), also see /RockPaperScissors |
|||
1.2 |
n/a |
Columns(start,left) also see /Columns Columns(end) (This works in 1.5, at least on my install (Apache2, Python2.4, Firefox 1.5.0.10) |
|||
1.2 |
n/a |
UserList(), also see /UserList |
|||
1.2 |
n/a |
A monthly calendar - see /MonthCalendar for more details. |
|||
Macro used to generate calendar sheet - more info on MonthCalendar (updated 4.3.2004) |
|||||
Jun Hu |
Jun Hu |
1.2 |
n/a |
||
Updated for Moin 1.2. More info now on /IncludePages |
|||||
|
1.2.1 |
|
this works if: eventlog.py from 1.1 is copied to MoinMoin dir and request.py get added these lines EditRequest (only runs in standalone wiki) -- ReimarBauer 2004-04-09 07:17:55 this is obsolete because of 1.2.2 -- ReimarBauer 2004-07-04 17:36:28 |
||
1.2 |
n/a |
|
|||
Updated for Moin 1.2. More info on macro/IncludeCalendarPage.py |
|||||
|
1.2.1 |
|
this works if: eventlog.py from 1.1 is copied to MoinMoin dir (only runs in standalone wiki) -- ReimarBauer 2004-04-09 07:17:55 this is obsolete because of 1.2.2 -- ReimarBauer 2004-07-04 17:36:28 |
||
/SearchInPagesAndSort new version fixing a security hole! |
1.2 (and 1.1) |
n/a |
|||
Searches text in some pages and displays the result by sorted lines. Great to collect info over pages, such as TODOs, deadlines, etc. |
|||||
RobertKellyIV |
|
1.2 |
|
trade will embed HTML: "™" |
|
RobertKellyIV |
|
1.2 |
|
deg will embed HTML: "°" |
|
1.2 |
n/a |
||||
modified FullSearch which handles Category searchs a bit more strict and displays an optional ##BLURP text from the result pages |
|||||
see macro |
see macro |
1.2(2) |
n/a |
cleaned up version |
|
|
1.2 |
|
[[SubscribedPages]] will display a list of all pages you have subscribed to. [[SubscribedPages(SomeUser)]] will display a list of all pages SomeUser has subscribed to. |
||
|
1.2 |
|
[[AttachList]] shows list of files attached to a page, [[AttachInfo]] has info on attached files. Minor mods needed to main Moin code - see homepage NigelMetheringham for details |
Release 1.1
Macros designed for Release 1.1 are now on this subpage.
Release 1.0
Macros designed for Release 1.0 are now on this subpage.
Macros for older or unknown releases
Macros designed for Release 1.0 are now on this subpage.
Attic
The Attic is now on a subpage.
Miscellaneous Macros
Stuff formerly found under contribution/:
Requests
If you are not familiar with Python and/or the MoinMoin code base, but have a need or an idea for a macro, this is the place to ask for it. Someone might find it useful, too, and implement it.
Frequently requested but not (yet) implemented
Section editing:
Look at ExtensionProposals/SectionEditing and SectionParser. This is a work in progress.
Database integration / interaction:
see plugins at: /DatabaseMacros and FeatureRequests/DataBaseIntegration and ProcessorMarket/MySQL (these are different features, all related to databses)
Miscellaneous
- Is there a macro to include a web page in the wiki page? For exampe like a Include macro inserts another wiki page, this one should insert a web page by link. Something like:
<<Include(http://moinmo.in/, ,)>>
- AFAIK there is no such macro. Maybe you could do your own macro and use an iframe to do that.
- I am not familiar with Python, that is why I can't craate any macros. Can any one help me with this?
See /IncludeUrlContent and /UrlGrab. However installing this macro, which enables inclusion of foreign HTML/Javascript is a security problem.
/IncludeUrlContent includes html code of the page, I need full page, like if it was browser in page. /UrlGrab seems that it is hard to make it work on moin v1.6
Indeed, /UrlGrab does not work on v1.6. Please either wait till I fix it (allow 1 week), or if anybody wants to do it, please contact me -- PascalBauermeister 2008-05-29 10:13:26
- OK I will wait. Just, please, do not forget about it.
See also /IncludePage-1.7 now where you can include external pages, interwiki pages, locale pages with an iframe.
Thank you very much, this /IncludePage-1.7 macro seems to be exactly what I was looking for.
- I am not familiar with Python, that is why I can't craate any macros. Can any one help me with this?
- Using the linking functions of moinmoin be able to post comments to other pages through a link or by itself, such as [url label "comment"] or [url "comment"] and then the comments are displayed on both pages, or only on the page it is written and then on the reciving page with a macro.
I'd like to have a macro to find all pages created or modified by a user... it'd be invoked like !UserContributions(!UserName) or something like that and show a list of pages... maybe an optional argument to be able to sort the list alphabetically/chronologically by last modification/by total number of lines contributed/etc... you might use it in your WikiHomePage -- MarianoAbsatz 2007-07-27 04:53:17
1 -- EricVeirasGalisson 2007-07-31 10:02:28
Probably the wrong place to ask, but: -- EvanLanglois
- Can you use a macro inside a processor block? Meaning, will the macro be done before the processor sees it, like a preprocessor. This could be useful for using a macro to fetch dynamic content to be processed by something else, or is there a preferred way to do this?
- Will macros such as macro/IncVar fetch data based on the raw source, or will other macros or processors be applied to the page before it looks at it? Basically looking for ways to fetch content dynamically and hopefully format it as something other than a table.
I would like to see a macro like PageHits.py that presents the total of hits on the wikisite. (all pagehits cumulated). Most beautiful would be that it can be presented in the header of all pages in the wiki. Something like "This wikisite had hitscounter been read".
There's code for an XML-PRC based macro, which is okay.
But much better is the URC listed in the ProcessorMarket, which is RSS based, and uses threading to pull down changes. -- LionKimbro
- some easy way to upload media files, images, etc, and reference them systematically, organise them by date/time/etc.
- tables of thumbnails of images, possibly with captions
It would be nice if you could list images as bullet items and the use the RandomQuote macro to select one and display it. Currently this doesn't work, it just returns the URL. -- AdamShand
- I would suggest two macros wich would be useful to write information based on the date.
ex: BEFORE('27/02/2002','Yeah, it will be by birthday in few weeks')
ex: AFTER('27/02/2002','Gasp, I'm again one year older')
- Probably, the harder will be to deal with date format (I've been told that some strange countries wouldn't use the same format for dates than me)
If someone does this, then as [[BETWEEN('','somedate',...)]] or even [[CONDITION('someexpr',...]] please. -- jh
- ISO 8601 is meant for fixing up date format confusion, please use it. E.g. right now is 2002-06-24T19:14 01:00 (aka 2002-06-24T18:14Z).
AliasOfThisPage
In my attempt to adapt MoinMoin to an author kit for TopicMap, I am constantly in need of the AliasOfThisPage feature, which, To create a WikiName which point to the current page. Which is also listed in TitleIndex as well as WordIndex.
If you want alias of existing page, just create the alias, place #redirect there, and point it to existing page. See HelpOnProcessingInstructions.
Macro for Graphs in Wiki
Is there a way of creating graphs, charts and stuff like that in Wiki? That would really help a lot of people out. Now I'm making images out of them, but that's not really working for me.
I'm not sure this is the right place to put this... if so, my apologies.
See WikiVisualization.
Macro for integrating mail archives
- It would be very useful to have a archive of a mailing list integrated in the wiki. A tool which converts each email sent to the list to a wiki page... and a macro which displays the first few lines of of all email-pages (including author and subject). Or is there an other, easier way to achieve this?
Yes. Use an existing mail archiver, and link to it.
There are lots of ways in which it would be useful to have your email archives integrated with your wiki, and more of them as the functionality of the wiki expands. When you WikiParse your mail archives, you get BackLinks into the wiki for free. You can refer to InterWiki links in E-mail to your list, and in the archives the hyperlinking will be handled for you. Etc., etc. I work in an environment where we use a PurpleWiki and a copy of MailMan patched to WikiParse the archives, and it's just the cat's pajamas. Even better (but granted, still a hack), one of our developers wrote a simple filter for Pine that dereferences WikiWords and other wiki markup in his outgoing messages, and turns them into FreeLinks. This makes them helpful to people with plain text email, but when they are parsed and end up in the mail archives, they still appear as clickable hyperlinks. Very cool stuff. So anyway, it seems to me that the answer immediately above is not a very useful one, but the right way to solve this problem isn't really a Macro, either; it's probably a patch to your mail archiver (being Python, MailMan seems like a natural choice.) Perhaps a MailManIntegration node should be created? --JoeBlaylock
macro for caching images
A macro for caching images and links automatically, ie something like [[CacheImage:http://image.url]] would automatically download the image, save it in the attachments directory, and display it on page. Similar for [[CacheLink:http://link.url]] to cache links. This would collapse the download/save/attach/link steps for attaching copies of online resources into one.
PageOf macro and TOC markup
To make navigation of book style organization of wikipages, a PageOf macro will take a TOC page which contain a section of wikinames organized in tree structure and output the prev, up, toc, next links.
For example, the TOC page look like:
Title by authors .... <TOC> * [[Chapter 0]] The first chapter ** [[Section 0]] The first section of Chapter * [[Chapter 1]] Chapter 1 .... </TOC> ....
The macro in Section 0 will generate :
- TOC page as TOC, Chapter 0 as up and prev, Chapter 1 as next.
These macros can be inserted to pages in templates, by hand and by action of the TOC page.
RandomPage macro
How about a new RandomPage macro which does not include UnderlayPages? UnderlayPages contains the help files and their l10n versions only.
subversion integration
an integration of subversion archives was requested on the mailing list .
Table of contents - full section numbers
- Currently, using show_section_numbers configuration setting, gives nice section numbers for headings e.g. "5.1.2 Section Title". However, the table of contents is still numbered with separate lists, so there is no way to show the full section number in the table of contents.
I have modified my (1.5, intranet) install to show full section numbers in the html table of contents. Before I post it, I'll need to clean up my hard-coded changes to check the relevant configuration settings. Interested in this change? Let me know. --StuartHarding
Encryption of parts of a page
I would like to be able to store encrypted text within the normal text of a page, e.g. for storing passwords, PINs etc. The idea is to store information that does not need encryption (e.g. a web address, a user name, a bank account number) on the same page as sensitive information that should be encrypted. e.g.
Bank: Some Bank Address: Some Street 55 Account No: 08514711 PIN: <some encrypted text or link to it>
En/decryption should use a user supplied password and should be reasonably secure. I imagine the syntax as something like this:
<<<encrypt(password, some text)>>>
which will then add a link to the page that asks for a password and then tries to use this password to decrypt the content. Of course this is only really usefull in a personal wiki that is not accessible remotely.
Suggestion Instead of making the wiki do the encryption, do it on your local machine and paste the encrypted text to the wiki. E.G. pipe your PIN through GPG and paste the results to your wiki. To get your pin back, copy from wiki and pipe to GPG again.
Possible Solution I just posted https://github.com/lorrin/moinmoin-client-crypt which tackles this use-case. Installation & MoinMoin integration isn't polished yet.
Easy-append to a page
This macro should generate a text box and a button. Clicking the button causes the contents of the text box to be appended to the page. TWiki's %COMMENT% macro works this way.
Your Comments
Problems with MacrosforMoinx
Reorganisation of this page
We want to solve two problems:
- people have problems finding the right plugin (solution: categories)
- people have problems to find what plugins they actually can install with no risk of data loss (solution: table)
DONE
I started to split up this page into seperate sub-pages. See /DatabaseMacros and /WikiInfoMacros for examples. When the component pages are complete we could then [[Include()]] them onto this page. Anyone want to help? Good idea? Bad idea? Other categories that I thought of would be /ImageMacros and /NavigationMacros, and then of course the /ImpossibleToClassifyMacros There is a problem with this approach in that the location of attachments and descriptive pages/sub-pages are scattered all over the wiki and web. Having macro descriptions split up onto seperate pages is not going to help. Though I really think this categorization would really help new users to find macros useful to them. -- TimCera 2006-02-02 14:33:42
I must admit I did not follow the structure after my own suggestions. I think good ideas. I think with the attachments we should follow one standard all over the wiki. So discussing this only here would be a fault. Instead I suggest we do the discussion on a page MarketDiscussion and link from all market pages to that page. -- ThiloPfennig 2006-10-22 13:56:46
Moved macros
I just finished cleaning up the MacroMarket by moving all of the macros/attachments to their own subpage. If you notice anything broken, please let me know on my home page. If you are looking for a macro that is no longer attached to this page, try going to MacroMarket/NameOfMacroYouAreLookingFor. -- JordanCronin 2008-02-01 19:46:10
OPEN
- it would be nice to have what plugins work on what versions. I also. Do all plugins under 1.3 do not work under 1.5 or do 1.5 plugins not work under 1.3? I think this kind od overview should be made as a table. I also would like to see plugins sorted by:
- official macro (part of distribution
- tested macro (this one is working good)
- untested macro (only for developers)
- maybe also display how active one plugin is developed.