Note: The recipes here are for PmWiki versions 0.6 and 1.0 only. For PmWiki 2.0 recipes, see Cookbook.

The PmWiki Cookbook contains recipes and examples for customizing PmWiki in lots of different ways. Feel free to add your own contributions!

Proposals and ideas for new features (as opposed to existing solutions) should be added to the PmWiki Issue Tracking System (PITS).

Want to add a new Cookbook entry?

  • Cookbook Template - A template for creating new cookbook entries
  • Complex Recipes - Some hints how you should structure your module, when it contains more than one file.

Common configuration, setup, and administration tasks

Markup changes

  • Graph Viz -- Embed directed and undirected graphs into your wiki body using standard "dot" markup.
  • PmWiki Logo -- Alternative Pmwiki logos
  • Picture Gallery -- Display uploaded pictures and automatically create thumbnails for preview
  • Maximum Image Size -- Limit the width of images that will be inlined automatically
  • Wiki Smileys -- Add graphical smileys to markup
  • Acronyms -- Turn abbreviations and acronyms into hotspots with popups
  • Revision Marks -- Add insert, delete, ^^superscript^^, and __subscript__ markup
  • MimeTeX -- Embed mathematical formulas in wiki pages
  • LinuxTex -- pretty much like the script above, better quality, needs a complete latex installation
  • Line Breaks -- Cause PmWiki to honor line breaks in wiki markup
  • Mail Form -- Add a mailform:xxx command to send mail from your homepage via a Web-Form.
  • Reverse Headings -- Reverse the meaning of !, !!, !!!, so that more !'s produce larger headings
  • Extended Wiki Styles CSS1 -- Adds support for more text styles
  • Date Time Stamp -- Display current date and time
  • Beautifier -- Provide syntax highlighting for source code
  • Group List -- Add markup to generate a list of all WikiGroups on the site
  • Index Template -- Produce Index of pages (by site or group)
  • Enable HTML -- Enable selected HTML elements in wiki markup
  • Foot Notes -- add markup for footnotes: [^this is a footnote^]
  • Page Table Of Contents -- make a table of contents for a wiki page with [[toc]] markup.
  • If Group - conditional text, here used for: yet another dynamic sidebar
  • Lazy Web Links - recognise www.pmwiki.org as a valid link
  • Random Incl - include another page selected at random from a list
  • Extended Images With Links - Relative Images with Links
  • Netflix Include - Include information about your Netflix queue and outgoing list
  • Bibtex Ref -- Manipulate, display and cite your bibtex references
  • This Farm - adding Linkshortcut to fields within a wiki farm

Authoring and authentication

Page Plug-Ins

  • X-Include -- include external html pages in your Wiki Pages
  • X-Chat -- embed a java-based IRC client in your Wiki Pages
  • X-Gallery -- include an Image Gallery in your Wiki pages
  • X-Comment -- append comments to bottom of Wiki pages
  • Comments -- another commenting engine, stores comments in separate files
  • PMWikiDraw -- Port of TWikiDrawPlugin to allow editing ofdrawings on wiki pages.
  • X-Ptviewer -- include an interactive panorama into you Wiki Pages

External editing of wiki pages

  • Emacs PmWiki Mode -- Opening/editing/saving PmWiki source from within Emacs, also known as pmwiki-mode for Emacs.

Other recipes

  • Wiki Tree -- an approach to setup hierarchies with pmWiki
  • From Worksheet To Wiki -- a "magic" spreadsheet permitting to copy and paste direcly from Excel (or Open Office) to PmWiki.
  • Append Wiki Page -- a bash script that will take an email message, and create a PmWiki page. The pagename(s) are determined by markup placed within the email message.
  • Form Template System II -- a flexible, extensible, template based form system for PmWiki. Uses PmWiki pages for form definition.
  • Random Quote -- Inserts a random line from a text file.
  • Typing Errors -- Correct typical typing errors upon save.
  • Reduce Band Width -- Reducing the used bandwidth on the web server
  • Search Highlight -- highlight search results when coming from Google, Main/SearchWiki, etc.
  • Tell A Friend -- send page by email
  • Wiki Calendar -- lets users create a Calendar group, with each day a wiki page
  • Add Link Bookmarklet -- add links from a wiki page to the page that you're currently browsing.
  • MetaData -- Provide Dublin Core and Creative Commons RDF metadata for wiki pages
  • not in trial Squeaky - the IRC infobot
  • PmWiki Watch - watch changes over many PmWikis via http and send a mail
  • Using RSS Feed -- Some hints on using a rss feed on your page
  • Wiki Farm -- share one code base across multiple wikis: a wiki farm consists of existing groups, plus fields -- collections of related groups
  • Trail 2 Menu -- A wiki-editable, expanding navigation menu.
  • Drop Down Menu -- A dropdown menu listing all wiki pages for quick navigation.
  • Obfuscate External Links -- Replace external links by a redirection
  • Simple Page Counter -- Count visits on your pages
  • Publish Wiki Trail - Publish a trail page to make a printable version of the stops (useful for books)
  • FourOhFour Cache -- Server-side cache to provide files from file system
  • What Links Here -- Show pages that link to or depend on a give page
  • Smart Quotes — automatically smartens straight quotes and other characters (“it just works”)
  • About Vandalism - How to recognize & fix vandalism on your wiki
  • PmWiki As A Notepad -- using pmwiki and mozilla as a notepad
  • Page Keywords -- create custom RecentChanges pages to assign keywords to selected pages
  • Concurrent Editing -- checks for simultaneous edits and allows a user to merge page versions.
  • My PmWiki -- access to mysql
  • Simple Table Of Contents -- A Simple TOC for all levels of headings in a page
  • Embedded Gallery -- How to embed the Menalto Gallery inside of PmWiki
  • Single Page Gallery -- How to link thumbnails to a single page displaying the larger image

Developer Tips

See also: Obsolete Recipes pmwiki-2.3.33 -- Last modified by {{simon}}

from IP: ip should be disabled by default for security reasons