diff options
Diffstat (limited to 'make-man-index.py')
-rwxr-xr-x | make-man-index.py | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/make-man-index.py b/make-man-index.py new file mode 100755 index 0000000000..1333521a58 --- /dev/null +++ b/make-man-index.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python + +from xml.etree.ElementTree import parse, Element, SubElement, tostring +import sys + +index = {} + +for p in sys.argv[1:]: + t = parse(p) + section = t.find('./refmeta/manvolnum').text; + for f in t.findall('./refnamediv/refname'): + index[f.text] = (p, section) + +k = index.keys() +k.sort(key = str.lower) + + +html = Element('html') + +head = SubElement(html, 'head') +title = SubElement(head, 'title') +title.text = 'Manual Page Index' + +body = SubElement(html, 'body') +h1 = SubElement(body, 'h1') +h1.text = 'Manual Page Index' + +letter = None + +for n in k: + path, section = index[n] + + if path.endswith('.xml'): + path = path[:-4] + ".html" + + c = path.rfind('/') + if c >= 0: + path = path[c+1:] + + if letter is None or n[0].upper() != letter: + letter = n[0].upper() + + h2 = SubElement(body, 'h1') + h2.text = letter + + ul = SubElement(body, 'ul') + ul.set('style', 'list-style-type:none') + + li = SubElement(ul, 'li'); + + a = SubElement(li, 'a'); + a.set('href', path) + a.text = n + '(' + section + ')' + +print tostring(html) |