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"
" % ( 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;
+}
+}