X-Git-Url: https://codewiz.org/gitweb?p=geekigeeki_data.git;a=blobdiff_plain;f=sys%2Fmacros%2FWordIndex.py;fp=sys%2Fmacros%2FWordIndex.py;h=635ef6b28660efb33b7b860e848934c23d9a6f7b;hp=0000000000000000000000000000000000000000;hb=fc97e515c8841f188b39fa135f57e2f37a21d45a;hpb=138a1577ab3fd9f25a1f5eeefe894d564a1a48e5
diff --git a/sys/macros/WordIndex.py b/sys/macros/WordIndex.py
new file mode 100644
index 0000000..635ef6b
--- /dev/null
+++ b/sys/macros/WordIndex.py
@@ -0,0 +1,33 @@
+#acl bernie:read,write All:read
+
+def _macro_WordIndex(*args, **kvargs):
+ 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 = list(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
' % (letter, letter)
+ last_letter = letter
+
+ s += '%s