X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=macros%2FWordIndex.py;fp=macros%2FWordIndex.py;h=81cd0f963ff5d137f1208b468f2fa66119e9ff8f;hb=ae518e2c1f2e6cb7a519d44127deb2e4d255df72;hp=0000000000000000000000000000000000000000;hpb=4b7dd02a651033602a4e092a981a973dd20573e7;p=geekigeeki.git diff --git a/macros/WordIndex.py b/macros/WordIndex.py new file mode 100755 index 0000000..81cd0f9 --- /dev/null +++ b/macros/WordIndex.py @@ -0,0 +1,31 @@ +def _macro_WordIndex(argv): + s = make_index_key() + pages = list(page_list()) + map = {} + word_re = re.compile('[A-Z][a-z]+') + for name in pages: + for word in word_re.findall(name): + try: + map[word].append(name) + except KeyError: + map[word] = [name] + + all_words = map.keys() + all_words.sort() + last_letter = None + # set title + for word in all_words: + letter = word[0].lower() + if letter != last_letter: + s = s + ';

%s

' % (letter, letter) + last_letter = letter + + s = s + '%s' + return s