Welcome to the PmWiki Cookbook! The "recipes" in the Cookbook describe add-on scripts and and various "tips and tricks" that let you customize PmWiki in lots of different ways. If this is your first exposure to the Cookbook, you may want to read CookbookBasics.
Note:
These are PmWiki 2.0 and 2.1 recipes. See Cookbook-V1
for PmWiki 0.6 and 1.0 recipes.
Feel free to add your own contributions to the cookbook.
If you want to write and distribute Cookbook recipes, see the cookbook module guidelines. In order to avoid duplication, make sure you check the archives of the discussion list for keywords of what you want to implement.
Proposals and ideas for new features
(as opposed to existing solutions)
should be added to the PmWiki Issue Tracking System
(PITS).
See also Cookbook-ByCategory.
Table of Contents
See also:
Administrative Tasks
- Auto Restore
- Automatically restore page contents after a time interval
- Backup Pages
- Backup wiki.d directory in a compressed file
- Change Time Format
- Change the time format string or timezone
- Compare Versions
- of the same file (or directory)
- Compressed Page Store
- Have PmWiki save pages in compressed format
- Content Type
- Change PmWiki's content type or charset
- ConvertHTML
- Converts an HTML page to PmWiki markup
- ConvertTABLE
- Sed script that extracts HTML tables and add Advanced Table markup
- CSS In Wiki Pages
- Apply style sheets in wiki pages on the fly
- Edit Templates
- How can I establish an "edit template" for new pages?
- Global Operations
- Run a script over every page in a wiki
- ImportText
- Processes a set of text files for use as PmWiki files
- One Group For All
- A cookbook to run a PmWiki in a 'single group mode' for 'naive' end-users
- Override CSS
- Override default CSS styles without editing the skin
- PageGenerationTime
- Adds the page generation time to the bottom of the page
- Performance Comparisons
- Compare various wiki installations and performances
- Recent Changes Excerpt
- Display a list of the last n modified pages
- Removing HTML Styles
- Remove HTML styles from the page source into a css file
- ROSPatterns
- Replace on save patterns
- Restore PmWiki
- Restore PmWiki from an archive
- Shared Pages
- Share pages among multiple wikis or fields in a farm
- Search Results
- Limit the pages displayed in search results or page lists
- Skin Change
- Allow users to select custom skins for viewing pages
- Skin Config
- Configure skins interactively
- Simuledit Without Popen?
- Use Simuledit on Server with popen() not allowed
- SourceForge Servers
- Run PmWiki in SourceForge.net's Project Web Environment.
- Sys Diff
- Use an external diff(1) program for page history
- WordpressImport
- Import entries from Wordpress into PmWiki
- Use Alternative Configurations
- depending on server name (or some other determinant)
- View Modes
- Basic tools to add view modes to skins according to the Modes concept
- WikiFarm Step by Step
- Step by step instruction on how to set up a WikiFarm
- WikiFarmAlternative
- A simple approach to secure wiki farms.
- Site Information
- View site information on a Wiki page
- Compressed Uploads
- Store your uploaded files compressed
- Two Way Mirroring with Rsync
- Keep identical copies of your wiki on two systems.
- PHP files management
- How to handle files created by PHP modules.
- webadmin
- A file manager integrated in PmWiki.
Content Management System Add-Ons
- Bundle 4 Blog
- Using PmWiki as a blogging engine
- BlogWithPageList
- Enhancing pagelists to handle pages named as dates
- Blog Simple
- Simple blog bundle using pagelists
- Kind-of Blog
- Simple blogging for PmWiki
- CMS Like
- Another recipe for adding CMS behavior to PmWiki
- AuthUser CMS Like
- How to have CMS behavior whilst using Auth User
- PmWiki as a CMS
- Using PmWiki as a CMS (Content Management System)
- CMS Mode
- Adds some customizations for a non-wiki (or hybrid) type installation.
- JjsCMS
- Using PmWiki as a CMS without exposing it to normal page visitors
- Guestbook
- Provide a simple guestbook
- Forum
- A very simple forum
- Simple Forum
- A simple but styled forum
- Tell a Friend
- Send page by email
- Dynamic PageActions
- Show/hide actions to logged-out users
Editing
- Chart Director
- Add bar charts (or any other kind of chart) to a page
- Edit On DblClick
- Edit a page by double-clicking on it
- Emacs PmWiki Mode
- Opening/editing/saving PmWiki source from within Emacs, also known as pmwiki-mode for Emacs (Unix/Linux, etc.)
- Excel Paste
- Paste and convert spreadsheet (Excel) data
- Gui Edit
- Adding buttons in the edit window
- Add Newline
- Always add a newline character to get better diffs
- GuiEdit DateButton
- Adding a date button to the guiedit toolbar
- PmWikiDraw
- Edit a drawing in your browser
- RichEdit
- Use a word processor-like rich text editor for WYSIWYG document editing.
- SpellChecker
- Adds spelling checking to PmWiki Editing.
- EditTitle
- Adds a Title input field to the edit form.
- SubEthaEdit PmWiki Mode
- Mac text editor plug-in for PmWiki compatibility, with a Safari-compatible script.
- User Configurations
- Add edit form configuration option for users.
- XML RPC
- Connect to PmWiki using an XML-RPC interfaces such as the Blogger API
- Voting
- A simple vote tally recipe
- RyeVoting
- Radio button votes with output graph
- Include With Edit
- Add an edit button to edit the included page / section
- SectionEdit
- Split a wiki page into editable sections
Form Tools
- Compare Forms Recipes
- Provides an overview of various form recipes
- Build Forms
- Create HTML forms with Wiki Markup
- Forms
- Create input forms in wiki pages (part of PmWiki)
- Form Guide System
- Make Wiki Pages into dynamic forms
- Input
- Create input forms in wiki pages (add-on recipe)
- Mail Form
- Send mail without exposing your own email-address
- Mailform2
- Send mail without exposing your own email-address; More options for email
- Wiki Forms
- Like PITS, extended to support: defining the form using a wiki page; updating entries as well as creating them
- FormValidation
- Validate forms in wiki pages.
- Comment Box
- Adds (:commentbox:) markup
- Comment Box Styled
- modified Comment Box with additional styling
- CommentDb
- Adds paginated and RSS-syndicated comments to pages.
- NewPageBox
- Provide a form to create new pages (simple)
- NewPageBoxPlus
- As NewPageBox with additional options
- New Page Form
- Adds a new page using a form (more advanced)
- Add PageForm
- Add pages without having to place their name on another page first
Functional extensions
- Acronym Glossary?
- Use a Glossary page to give you tooltips for abbreviations
- AddDeleteLine
- Insert a line into a page using a form and delete it by clicking a link
- Backlinks
- List pages which link to current page
- Beautifier
- Perform code and syntax highlighting in wiki pages
- Bibtex Ref
- Use a bibliography in your pages
- ClipBoard
- Perform Cut & Paste, resource-sharing and template-filling across pages
- CountGlyphs
- Adds
{$Glyphs} and {$Words} markups to display the number of characters and words on a page.
- Dynamic Trails
- Create WikiTrails with pagelist
- Search Index?
- Make Searchlists and Pagelists with Fulltext Searchterms load significantly faster
- Fast Backlinks?
- Make Categories pages and other backlinks lists load significantly faster
- Fast Search
- Make Searches, Pagelists and Categories pages load significantly faster
- Comment Page Link
- Easy way to create a comment page
- DiscussionTab
- Wikipedia-like discussiontab/talk feature
- Comments
- Another commenting engine, stores comments in separate files
- Source Block
- An other code and syntax highlighter (supersedes CodeBlock).
- Google Sitemaps
- How to submit a pmwiki site to Google sitemaps
- Multi Language
- How to manage multiple language translations within a single page
- Output Compression
- Compress the output and achieve major load speed improvements
- PayPal Buttons
- Add PayPal merchant's "Buy Now Button" markup
- PayPal Buttons 2
- A more flexible PayPal "Buy Now Button" markup
- Pear Diff?
- Using PHP PEAR Diff for merging conflicts
- PagelistExplained
- Pagelist markup and its options explained.
- PagelistTemplateSamples
- Advanced Pagelist template samples.
- PageList WikiTrail
- Use Pagelist markup for WikiTrails
- PmWiki2PDF
- Generate a PDF file by one click in your site
- PmWiki2PDFBackup
- Backup your entire site in PDF format
- Publish PDF
- Typeset any wiki page collection as a print-oriented PDF
- Generate PDF
- Generates a PDF file from the current Wiki page using htmldoc.
- SlideShow
- Slide presenter for any wikipage.
- Publish WikiTrail
- Create a printable view of the pages on a WikiTrail as a single page
- Simple Page Counter
- Count number of hits to a page
- CurrentVisitors
- Count the number of visitors currently surfing on the site
- VisitorsLogging
- Create a daily log of PmWiki activity and delete old logs automatically
- PITS
- The PmWiki Issue Tracking System
- Search Extensions
- Add page jump, search quick reference, search publish and category publish capabilities
- Search HighLight
- Highlight searched item
- Search Terms
- Another version of the above that doesn't require skin modifications
- Action Log
- Keep a trace in a Pmwiki page of all actions performed on the site
- Xajax Search
- Provide preview of found pages
- MarkForDelete
- Mark pages for deletion and collect them for review
- TotalCounter
- A statistic counter: counts page views, users, browsers, operating systems, referers, locations and web bots.
- MergeMetaTags
- Merge multiple (:keywords:) and (:description:) in the rendered HTML to be more search engine-friendly.
- SearchCloud
- Gives you a list similar to a tag list with the sear5ch terms used on your site.
Images
- AddImageType
- Add other image extensions such as .ico, .bmp, etc.
- PngAlphaIE
- Display of PNG images with 8-bit alpha - including in Internet Explorer.
- Images AutoResizing
- to resize images and create images links
- Easy Gallery
- How to create a gallery without additional scripts
- ClipBoard
- Generic tool, automates EasyGallery techniques
- Embedded Gallery
- How to embed the Menalto Gallery inside of PmWiki
- Flickr Album
- Display images dynamically from Flickr
- PhpQuickGallery
- Using an external gallery script with includeSite tag
- Picture Gallery
- Display uploaded pictures and automatically create thumbnails for preview.
- ImageSets
- User friendly simple galleries, independant of single wiki pages.
- Simple Gallery
- Adding a simple gallery (photo/picture album) to pmwiki
- TinyWebGallery
- Integration in pmwiki of this refined gallery
- Background Images
- Adding background images to divisions, tables and table cells
- Image Map
- Adding image map markup to create image maps with clickable areas.
- RelativeUrls
- Display images using relative URLs.
- Rotate Markup
- Enable "rotating" markup (images) in wiki pages
- Script-Generated Images?
- in wiki pages
- Svg
- Scaleable Vector Grafic (:.svg) in wiki pages
- ImgPopUp
- Scales down images and open them in a new window with upload link.
- PTViewer
- Panoramic images in wiki pages.
- ThumbnailLinkToImage
- Use (:thumb <imge_filename>:) to link to a full-size image, which links back to the page.
Insertions/Uploads
- Attach Links
- Change the formatting of Attach: links
- Attachlist Enhanced
- List missing or orphaned attachments
- CSV Include
- Import csv-files into PmWiki tables
- Delicious
- Insert del.icio.us linkrolls and tagrolls and tag clouds
- DownloadManager
- A simple download manager which shows how many times a file has been downloaded.
- Fortune
- Inserts a random fortune cookie.
- Number of Articles
- Inserts the number of articles in the wiki.
- Random Page
- Insert a random Wiki page from a list of pages.
- Random Quote
- Inserts a random line from a text file.
- Applet
- Inserts Java applets in wiki pages
- NewsList
- Short list of files that were changed
- Include Url
- Include external html pages in your Wiki Pages
- Include Site
- Include external html pages in your Wiki Pages with styling
- Include WikiPage
- Include wiki pages from other PmWiki 2.0 web sites.
- Include XML
- Transform XML with XSL in your wiki pages (RSS,...).
- IncludeAble
- Include a pmwiki page into a php script page.
- IncludeFieldPage
- Include a page from another field in a farm.
- IncludeFile
- Includes an external file.
- Update Attachments
- Have every attachment appear with an "update" link
- Upload Groups
- Change attachments to be organized on a per-group or sitewide basis
- Upload Types
- Add/remove upload extensions
Layout modifications
- All GroupHeader
- Add page for sitewide style definition like GroupHeader for all groups
- Dict Index
- Get page listings in a "dictionary index" format
- Film Script
- Adding Film Script Styles
- Font Sizer
- Add-on skin module for easy change of font sizes
- Group HomePage Change
- Changing a group's default HomePage
- Remove Question Mark
- Remove the (annoying) question mark beside empty/newly created pages
- Link PageCreateFmt Tooltip
- Adding a "tooltip" to a link of a non-existent page
- Random Title
- Randomise browser titles using
$WikiTitle
- ShowHide
- Toggle buttons and links to show/hide page sections instantly
- SideBar Name Change
- Changing the SideBar name
- SideBar Special
- Setting up special-use SideBars
- Farm SideBar
- Using a single sidebar template for a wiki farm.
- Superscript Line Spacing
- Fix line spacing of superscripts and subscripts
- Printing With Style
- Printable view using stylesheet only
Links/Page handling
- AddLink Bookmarklet
- Fast add ref. of any current web page to a given Wiki page
- AtLinks
- Alternate solution for links with @ prefix @Page
- Disabling WikiWords?
- How to disable the WikiWords on an entire site
- Limit WikiGroups
- Restrict the creation of new groups
- External Links
- Cause external links to open in a new window by default
- Lazy WebLinks
- Cause markup text beginning with "www." to be automatically converted into a link
- Automatic Links
- Automatically creates links for parts of the wikitext
- Rename Page
- Add ?action=rename option
- Delete Action
- Delete page (password-protected) via ?action=delete
- Expire Diff
- Remove a page's history (?action=expirediff)
- Page Attic
- Store backup files of deleted pages in a separate directory
- Relative links
- Create links using relative urls
- Other Bookmarklets
- Browser Toolbar bookmarks to edit a page, browse diffs, etc.
- This Site?
- Add the InterMap prefix ThisSite: to your site
- Multilink
- Add the ability to support full-featured multilinks
- Tags
- Add free tags to a wiki site
- LinkTitles
- Add "title" attribute to links
Markup changes
- Abbreviation Plurals
- Prevent plural abbreviations from being formatted as a wikiword
- ASCII Math
- Embed mathematical formulas in wiki pages (no external tools required)
- Chess Markup
- Display chessboards using PGN and FEN notations
- ChordPro
- Embed ChordPro-formatted song sheets
- Conditional Extensions
- Extend conditional markup
- Properties
- Add properties to wiki pages
- Conditional Markup Samples
- Some sample definitions of PmWiki/ConditionalMarkup
- Make Columns
- Split a block of text into two columns
- Make Many Columns
- Make Many columns in your page
- Enable HTML
- Allow html tags in wiki pages
- Javascript
- Allow Javascript in wiki pages
- Formatting Simple Tables
- A number of ways to automatically style tables
- Link titles
- Add "title" attribute to links
- Linux Tex
- Embed mathematical formulas in wiki pages (full LaTeX installation necessary)
- Markdown Markup Extension
- Use Markdown markup
- Markup Extensions
- Adds a wide range of markups
- Media Categories
- Impliments trouble-free markup similar to Media Wiki.
- Mime TeX
- Embed mathematical formulas in wiki pages
- More custom page variables
- Additional page variables
- Numbered Headers
- and table of contents
- Outline Lists
- Use ordered lists for outlines (I. A. 1. i. etc.)
- CustomBullets
- Use custom bullets in lists
- Dynamic Wiki Trails
- Add pages to multiple trails, a page's current trail becomes URL dependent
- PageTableOfContents
- Automatically generate a table of contents for a wiki page
- PostIt Notes
- Yellow Stickies
- Reverse Headings
- Reverse the weights of !, !!, !!, etc.
- Wiki Smileys
- Additional markup used for displaying smiley graphics.
- WordWrap Preformatted Text
- Prevent long lines of text from stretching beyond the window edge
- WP Categories
- Wikipedia-like Categories-links processing.
Markup writing
This is information for those who wish to write recipes for markup changes.
- Custom Markup
- Basic information
- Functions
- Functions for the markup writer (for module writers, too)
- Parsing Markup Arguments
- For writing markup that takes parameters
- Markup Ruleset Debugging
- Show more information than
?action=ruleset
- Regular Expressions
- Tips&tricks for regular expression usage
Menu Tools
- Expanding Menus
- Creating expanding Sidebar menus with conditional markup
- Expanding Menu
- Creates a menu that expands to show only subpages in the current section
- Horizontal Menu
- Turn lists into horizontal menus
- Horizontal Vertical Menu
- Multilevel horizontal/vertical menu within wiki markup or e.g. Main/SideBar
- Tracking Menu
- Highlights current page
- Trail Menu
- Creates a tree menu from a trail
- Tree Menu
- Creates a tree like menu
Multi Media Tools
- Flash
- Insert "Flash" (:.swf) movies in wiki pages
- QuickTime
- Embed QuickTime files
- WMPlayer
- Embed Windows Media Player
Page Naming Schemes
- Alternate Naming Scheme
- using underscores
- Clean Urls
- Get pmwiki to use "clean urls" (w/o pmwiki.php)
- Open Urls
- Allows automatic creation of
$ScriptUrl for Clean Urls, with HTTPS support
- Page Paths
- Allow pages to be shared among multiple groups
- Subpage Markup
- Allows a wiki page to have one level of subpage
- Title Spaced
- Capitalization and wikiwords
- Title Cased
- Grammatically correct title capitalization.
- ZeroMasterGroup
- Shorter URLs by introducing an omittable master group
Personal Information Management (PIM)
- To Do
- Manage a list of to do items
- VerySimpleToDo
- An alternate to-do list implementation striving for simplicity
- Quiz
- Create a query / answer quiz with pmwiki
- PmCalendar
- Easy to theme calendar designed for PmWiki
- Wiki Calendar
- Creates a calendar, where each day is a wiki page
- iCal Export
- Exports wiki entries to iCal format
- Logbook
- AJAXified side bar calendar
RSS Tools
- Feed Links
- Add feed links to html headers for browser's rss bookmarking
- Rss Improved
- Improves feed compatibility, customizable -- includes support for Podcasting/enclosures.
- See All RSS Changes
- Solving problem of unrecognized changes when using 3rd-party-software
- Rss Feed Display
- Display RSS feeds in a wiki
- RSS Simple
- Create a simple blog-alike wiki page with rss feed for this page
Security/Authentication
See also PmWiki.Security
- Auth User
- Require username and password when accessing protected pages (user authentication).
- FAST Membership
- Add-ons to AuthUser including membership creation, password change, and account administration.
- Audit Images
- Check to see what images have been uploaded to your wiki.
- AuthorContribution
- Show all pages a specific author contributes to.
- Blocklist 2
- Block postings based on content or IP address (new & improved!)
- Blocklist Helper Scripts
- Parse blocked post content for relevant information to block
- Block Crawler
- Show different web crawlers special pages to prevent indexing
- Credits Block
- List all contributors to a page on the page
- Controlling Web Robots
- Adding robot control meta-tags to pages
- Des Crypt
- Provides client-side DES and 3DES encryption.
- eProtect
- Hide email address
- Farm Security
- Making Farm installations secure
- Fix short sessions
- If you keep getting asked to enter your password after saving edits
- Making password requests explicit
- Tells user the type (edit, upload, etc.) of password required
- MT BlackList?
- Use the Movable Type Spam Black List
- MailPosts
- Get notification by email about page edits
- Private Groups
- Create and secure private groups on a public wiki
- Require Author
- Require an author name when saving edits
- Require Category
- Require an category name when saving edits
- StoredAuthName
- Automatic author naming for authenficated user
- Secure Attachments
- Safeguarding attachments from public access on protected pages or groups.
- User Auth
- User based authorization
- Presence Awareness
- User based authorization, online users list and more
- Presence Awareness Light
- Online users list for UserAuth addon
- Htpasswd Form
-
.htpasswd file editor
- Simplemachines User System Integration
- Registered forum users based authorization
- UBBThreads User System Integration
- Registered forum users based authorization
System Tools
- My PmWiki
- Access to mysql
- Per Group SubDirectories
- Organise files in subdirectories for each group
- Standalone
- Run PmWiki in a "standalone" mode, without needing a webserver.
- WikiCVSStorage
- How to automatically archive your wiki using CVS.
Wiki-to-Wiki Conversion Tools
- Convert UseMod
- Convert pages in a UseMod directory to PmWiki
- Wiki Markup Conversion
- Helps to convert other wiki markup to PmWiki
Superseded recipes
- Simple Image Float?
- Simple image float right, left and center with caption
- Blocklist
- Block postings based on content or IP address-old version (deprecated)
- EditBar?
- Add a formatting toolbar (superseded by 2.0.beta16)
- GettingMarkupArguments
- For writing markup that takes parameters
- SpacedWikiWords
- Missing pithy explanation
- Layout Edit Modified
- Modify the edit page layout
- BreakPage
- Breaks a wiki page in multiple subpages/subsections
- Change Summary?
- Record a one-line summary of changes
- Preview Top
- Move the edit preview box to the top
- Main Group Change
- Changing the Main group
- Removing left content
- (removing the SideBar)
- No Space Pre
- Remove the leading space from <PRE> blocks.
- Authenticated As Conditional
- Conditional that depends on what the user is authenticated as
- Move a page
- to a different group, or rename it obsolete, see next recipe
- RenamePage
- Missing pithy explanation
- Line Breaks?
- Honor line breaks (newlines) in the markup text
- Use Common Pages In A Wiki Farm?
- like the edit templates
- PageVariables
- Add variables (such as
{$Title}) from other pages in the current page
- PageList Templates
- Define the layout of pagelists using wiki syntax from a wiki page
- Compact PageList
- Making output of a long pagelist compact.
- Sidebar-style PageList?
- The default pagelist styles don't look like what normal people put in the sidebar. This one does.
- Group List?
- Add markup to generate a list of all groups on the site
- Code Block?
- Enhanced code and syntax highlighting in wiki pages (superseded by SourceBlock)
- Login Logout
- Provide login and logout mechanisms with removing session and author cookie
- Titled Links?
- Extract the link title from a page
- LastChangeSummary?
- Adds the
{$LastChangeSummary} page variable.