Issue:Subpages as sublists

From FollowTheScore
Revision as of 12:51, 21 April 2009 by Melroch (talk | contribs) (New page: {{Issue |Type = Change Request |Extension = DPL |Version = ? |Description = How to list subpages as sublists |Status = open }} == Problem == I have a statement lik...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Description: How to list subpages as sublists
Extension / Version: DPL   /   ?
Type / Status: Change Request   /   open

Problem

I have a statement like this

   <dpl>
   category=Mycenean
   </dpl>

Now some of the pages in the category are subpages so I get a display like this

   * Greek/Mycenean
   * Greek/Mycenean/Texts
   * Greek/Mycenean/Writing
   * Greek/Mycenean/Writing/Syllabary

I would like them to appear as an hierarchical listing

   * Greek
   ** Mycenean
   ** Texts
   ** Writing
   *** Syllabary

N.B. That would have further subpages Greek/Writing, Greek/Dialects and whatever which shouldn't appear in a listing of category=Mycenean, but Greek itself should, as the top page in the category=Mycenean hierarchy is itself a subpage of that page.

As for constructing code which translates the current wikitext into the desired one this Perl regex does the trick:

s{^\*[ ](\[\[.+?([^/]+)\]\])}{ 
    $l = $1; 
    $c = ($l =~ s#/#/#g)+1; ## Count the number of slashes in the link and add 1.
    $l =~ s#([^/]+)\]\]$#$1\|$1\]\]#;  ## Copy link text
    "\*" x $c  ." ".$l;  ## Print out the right number of asterisks and the link
}egm;

This is the concept. A bit harder of course if done on HTML rather than wikitext.

Melroch 10:51, 21 April 2009 (UTC)

Reply