[Pmwiki-users] Nested pages/groups

J. Perkins jason
Tue Jun 1 18:47:21 CDT 2004


One of the things that I would like to use a wiki for is the 
collaborative documentation of software libraries. Ideally, I would have 
a page that describes the library along with a list of namespaces 
contained in the library. Clicking on a namespace brings up a page with 
summary text and a list of classes. Clicking on a class brings up a list 
of methods. This is one place that the Group.Page naming scheme of 
PmWiki is very limiting. Also, it would be nice to have more allowed 
characters in the page names, so I could have pages like "operator +=()" 
and that kind of thing.

I looked into adding support for these things into PmWiki and quickly 
got in over my head. It kept bugging me though, so I created a very 
(very) simple wiki with some cutting-and-pasting from pmwiki.php and 
implemented it there as a proof-of-concept.

I extended the Group/Page syntax to full paths. Instead of "groups", a 
page may have children, analogous to a directory containing 
subdirectories. At the simplest you can just use WikiWords as normal, 
creating pages in the same "directory". To create a "child" page, you 
can type [[MyTitle/MyChildsTitle]] or [[./MyChildsTitle]].

As a side benefit, the whole parent>child scheme allows for some simple 
but effective automatic navigation. See the breadcrumb at the top of the 
as an example.

For the second point (allowing additional characters), I just run the 
page title through urlencode() before opening the file. This allows me 
to use pretty much any character in my titles.

You can try it out for yourself at http://www.sim8.com/wikibox/wiki.php. 
I don't have the time, interest, or energy to build my own wiki 
application so I'm really hoping that you are all so impressed that you 
immediately add it to PmWiki ;)

Jason





More information about the pmwiki-users mailing list