Due to heavy spamming, the password for this page is now Martin.

My PmWiki Use

I use PmWiki to run my personal site, and I also used it for several projects at the office.

My PmWiki Recipes

I have created many customizations on my site, mostly to use pmwiki as a Photo Gallery. My approach is to use as many pmwiki features as possible to create my albums. I am beginning to add some of my tips to EasyGallery. Along the way I have authored several recipes for pmwiki.

These two recipes/concepts of mine have received the highest praise possible: they have been merged into the core pmwiki! :)

add variables (such as {$Title}) from other pages in the current page
define the layout of pagelists using wiki syntax from a wiki page

Other recipes I've authored:

This recipe allows you to easily create UML Sequence Diagrams in your wiki pages using a simple markup, SDML.
This recipe converts music files in various ascii notations into other music notations and PostScript scores, gif images, and midi/wav/mp2/mp3/flac/vorbis files.
API to create external pages dependent upon text in a wiki page.
insert GET, POST, COOKIES and SESSION variables in your pages, also set/unset cookies/session variables
DynamicWiki Trails
add pages to multiple trails, a page's current trail becomes URL dependent
This recipe allows one to select portions of a wiki page for inclusion in another page using a syntax inspired by XPath.
easily format lists into columns
pagelist enhancements: groupcount=, pergroupcount=, blank=, targets=, {$$option}, {$PageTotal} and {$GroupTotal}
Fast Search
make Searches, Pagelists and Categories pages load significantly faster

I also contributed to these:

authored the group-wise code
added the separate page (SideBar-Menu) idea
use a Photo group and pagelists

My Other PmWiki Recipe Ideas

If you find any of these ideas useful:

  1. and 'core worthy', write up a PITS and vote on it!
  2. or leave me a message here
  3. or email me: mogulguy [snail] yahoo [period] com
  4. hire me to implement them (or anything else unix related)

More pagelist extensions needed:

  {$Depth}       - for menu recipes
  skip=          - skip # pages.  Idea from 00689
  skipgroup=     - skip # of groups.
  randomtime=    - keep random ordering the same for this period of time 
                       (we also need a way to page with random results?)
  list=-redirect - 00411 pagelist to exclude redirects

The targets option uses the targets= from the pagefile, therefor if this is out of date, so will this list be. Another option is to us the function ListPageLinks() from the RenamePage recipe. I have this implemented if someone wants it. It may be that the RenamePage recipe could be done cleaner with pagelistextensions and pagelist templates!

Add pagelist like templating to:

  (:include:)  - with divisible condition, this could replace Columns
  Option lists (see PageListExtensions)

The above idea would better be implemented by a looping contruct which deals with wikipaths.

Define markup (:linkpage args ...:), which would add the args to any page links on the page containing this directive automatically so that you would not have to add it manually to every link on the page.

Create a strict include option which will include identified sections only. Currently if an anchor is not found on a page, the entire page is included. (There's got to be a PITS for this one?)

See if I can make a trail markup that would do this: 00294 Add rel attribs to wikitrail links.

I plan to improve these recipes

  • Make RandomQuote use a pagelist (needs pagelist trail url fix)
  • Make RandomTitle use a pagelist (works, but weird problem with {$Title})
  • Make RotateMarkup use a pagelist (needs a randomtime pagelistextension)

My PmWiki Tickets

  • 00585 - allow URL arguments in trail pages
  • 00633 - categories are incorrectly group qualified in pagelists of trails (now they are missing)
  • 00634 - row Attributes
  • 00774 - pagelist format not found behavior (added by Pico)

Non-PmWiki Stuff


Version Controlling Your Home Directory
a wiki with some hints on how to manage your home directory with a version control system such as subversion on git.
Martial Art Research Wiki
add your ideas to it, improve on others.

My Hacks

Some other hacks of mine that I have started documenting:

  • OpenID: I started working on a proposal for an OpenID wrapper that could help make OpenID more available.
  • Heartbeat 2: I have created (and use) some heartbeat 2 helper scripts and OCF agents what you might find useful.
  • sdml2txt: Script to convert SDML to UML Sequence Diagrams (used by SDML recipe).
  • ascii2abctab: Convert asciitab guitar notation (such as you would find posted all over the net to) abctab which you can then convert to postscript with abctab2ps to make pretty printouts. (used by my Music recipe.)
  • svnauto: An auto checkin tool for subversion with per directory check-in policies. This makes it easy to use a cron job and subversion as a backup mechanism.
  • lock: My attempt at creating a shell script based file locking mechanism.
  • sequence: A shell script based sequence generator.
  • mutt2csv: Awk script to convert a mutt alias file into a csv file.
  • xdisplay: A little script to help keep track of where you are and set your default X DISPLAY (use ssh -X instead where possible).
  • ChessBoard: Render a URL driven chess board layout dynamically.

Extra Pages I am interested in for my Pmwiki RSS Feed

Recipes I use:

I would like to eventually superseded these recipes with PageListTemplates:

Recipes that might be superseded:

Recipes that need to be deleted?: