Difference between revisions of "Issue:Subpages as sublists"
From FollowTheScore
m (Typo) |
|||
Line 36: | Line 36: | ||
* [[Greek]] | * [[Greek]] | ||
** [[Greek/Mycenean|Mycenean]] | ** [[Greek/Mycenean|Mycenean]] | ||
− | ** [[Greek/Mycenean/Texts|Texts]] | + | *** [[Greek/Mycenean/Texts|Texts]] |
− | ** [[Greek/Mycenean/Writing|Writing]] | + | *** [[Greek/Mycenean/Writing|Writing]] |
− | *** [[Greek/Mycenean/Writing/Syllabary|Syllabary]] | + | **** [[Greek/Mycenean/Writing/Syllabary|Syllabary]] |
N.B. That <code><nowiki>[[Category:Greek]]</nowiki></code> would have further subpages <code><nowiki>[[Greek/Writing]]</nowiki></code>, <code><nowiki>[[Greek/Dialects]]</nowiki></code> and whatever which shouldn't appear in a listing of <code>category=Mycenean</code>, but <code><nowiki>[[Greek]]</nowiki></code> itself should, as the top page in the category=Mycenean hierarchy is itself a subpage of that page. | N.B. That <code><nowiki>[[Category:Greek]]</nowiki></code> would have further subpages <code><nowiki>[[Greek/Writing]]</nowiki></code>, <code><nowiki>[[Greek/Dialects]]</nowiki></code> and whatever which shouldn't appear in a listing of <code>category=Mycenean</code>, but <code><nowiki>[[Greek]]</nowiki></code> itself should, as the top page in the category=Mycenean hierarchy is itself a subpage of that page. |
Revision as of 17:22, 21 April 2009
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 [[Category:Greek]]
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)