# HG changeset patch # User Paul Boddie # Date 1224893383 -7200 # Node ID 804732b33061db7873b600994e2b5668f4cdfabc # Parent fbd12ddab0c535c9ec2c4b7d78f4dc9b1e0b5515 Introduced abbreviation of repeated page name prefixes. Made the menu float left with some corrective measures. diff -r fbd12ddab0c5 -r 804732b33061 css/category.css --- a/css/category.css Sat Oct 25 01:18:38 2008 +0200 +++ b/css/category.css Sat Oct 25 02:09:43 2008 +0200 @@ -16,6 +16,14 @@ margin-left: 0; padding-left: 0; width: 20em; + float: left; + margin-right: 2em; +} + +/* Prevent issues with the above float. */ + +hr { + clear: left; } ul.category-submenu { diff -r fbd12ddab0c5 -r 804732b33061 macros/CategoryMenu.py --- a/macros/CategoryMenu.py Sat Oct 25 01:18:38 2008 +0200 +++ b/macros/CategoryMenu.py Sat Oct 25 02:09:43 2008 +0200 @@ -132,6 +132,8 @@ # Visit each page in the category. + last_parts = [] + for page_in_category in pages_in_category: pagename = page_in_category.page_name @@ -140,10 +142,26 @@ else: output.append(fmt.listitem(on=1)) output.append(fmt.pagelink(on=1, pagename=pagename)) - output.append(fmt.text(pagename)) + + # Abbreviate long hierarchical names. + + parts = pagename.split("/") + common = 0 + for last, current in map(None, last_parts, parts): + if last == current: + common += 1 + else: + break + + prefix = u"\u2014" * common + suffix = "/".join(parts[common:]) + + output.append(fmt.text("%s %s" % (prefix, suffix))) output.append(fmt.pagelink(on=0, pagename=pagename)) output.append(fmt.listitem(on=0)) + last_parts = parts + output.append(fmt.bullet_list(on=0)) output.append(fmt.listitem(on=0))