diff --git a/wiki/macro/PagesPerso.py b/wiki/macro/PagesPerso.py index a61fe1c9..ac213e24 100644 --- a/wiki/macro/PagesPerso.py +++ b/wiki/macro/PagesPerso.py @@ -72,16 +72,33 @@ def comptes(): return filter(lambda x: os.path.isdir(u"/home/%s/www" % x) and not os.path.islink(u"/home/%s/www" % x), os.listdir(u"/home")) - + +def makeAnchor(letter): + return u"
%s
" % ( letter, letter ) + +def makeIndex(letter_list): + index = u'' + for aLetter in letter_list: + index = u"%s%s" % ( index, aLetter, aLetter) + return u"
%s
" % index + def execute(macro, args): dirs = comptes() dirs.sort() html = u"" - + premiere_lettre = '' + letter_list = [] for d in dirs: + if premiere_lettre != d[0]: + premiere_lettre = d[0] + letter_list.append(premiere_lettre) + html = u"%s\n%s" % ( html, makeAnchor(premiere_lettre) ) html = u"%s\n%s" % (html, account(d).__str__()) + + index = makeIndex(letter_list) + html = index + html html += u'
' return html diff --git a/wiki/static/common/pagesPersos.css b/wiki/static/common/pagesPersos.css index e7066120..08a06347 100644 --- a/wiki/static/common/pagesPersos.css +++ b/wiki/static/common/pagesPersos.css @@ -24,3 +24,22 @@ div.vignetteperso img { max-height:100px; margin: auto auto auto auto; } + +div.vignetteperso a.letter_anchor { +display: table-cell; +vertical-align: bottom; +height:1em; +padding:0; +line-height:1em; +font-size:8em; +} + +.letter_anchor span { +opacity:0.5; +//font-size:9em; +} + +.alphabetic_index a{ +margin:3px; +} +}