[pmwiki-users] Category page with exclusion mechanism
chr at home.se
chr at home.se
Wed Mar 9 03:41:45 CST 2005
Hi
Although not participating a great deal lately, I've been following the
discussions and came up with an idea related to WikiTrails v.s.
Categories. Let's compare some of their aspects advantages:
* A WikiTrail allows you to order pages in the trail
* A WikiTrail allows you to place a comment next to each page link
* A Category allows automatic listing of pages in a category
I'd like to be able to combine these...
Here's one way that I think it could be done. Let's extend the mechanism
that generates the list of pages. Today a category page would typically
contain (via the group footer) the following code:
(:pagelist 'Category.{$Name}' fmt=simple list=normal:)
If we imagine that the (:pagelist:)-invocation instead looked like this
(:pagelist 'Category.{$Name}' fmt=simple list=normal \
page-with-list-of-pages-to-exclude=Category.{$Name} :)
where I'm beeing way more verbose than needed for clarity:-). This is
supposed to list all pages belonging to the category, but exclude all
pages *listed* on a specific page (the current page here). To
illustrate how this could be used, let's imagine that 'Category.Uploads'
contains:
(:nogroupfooter:)
This page lists all pages on this site that are in the
"Uploads" category, as given by the [[!Uploads]] markup.
These pages are suitable to start reading for this topic:
* [[PmWiki/How to upload files]] - useful for beginners
* [[PmWiki/Advanced upload concepts]] -- useful for administrators
Other pages related to the [[!Uploads]]-category:
(:pagelist 'Category.{$Name}' fmt=simple list=normal \
page-with-list-of-pages-to-exclude=Category.{$Name} :)
The idea is now that (:pagelist:) at the end of the page will list all
pages belonging to the uploads category, except the pages *already* listed
on Category.Uploads.
So how will this help us? Well, it let's us use the automatic listing of
pages belonging to a category if we want to - without having to do any
extra work. We can then start "improving" a category page by adding an
*ordered* list of pages that are useful to read. This list can of course
also contain annotations as in my example above.
To finally make this even more useful, it'd be nice if John Rankin's
"teaser-markup" would work together with this. The list of pages in
the example above might then look like this:
T* [[PmWiki/How to upload files]]
T* [[PmWiki/Advanced upload concepts]]
Where 'T*' means that a "teaser" is extraced from the page and shown
just after the link to the page.
/Christian
PS. Patrick, I think you'll need to start implementing a cache for the
categories... I predict categories will be heavily used quite soon...
--
Christian Ridderström, +46-8-768 39 44 http://www.md.kth.se/~chr
More information about the pmwiki-users
mailing list