
From: Aline Manera <alinefm@br.ibm.com> This patch generates help/index.html automatically based on all .dita files during build time. For each dita file it generates a link on index.html Signed-off-by: Aline Manera <alinefm@br.ibm.com> --- ui/pages/help/Makefile.am | 3 ++- ui/pages/help/gen-index.py | 64 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 1 deletion(-) create mode 100755 ui/pages/help/gen-index.py diff --git a/ui/pages/help/Makefile.am b/ui/pages/help/Makefile.am index 81d7e90..5146692 100644 --- a/ui/pages/help/Makefile.am +++ b/ui/pages/help/Makefile.am @@ -18,7 +18,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA DITA_HTML_FILES = $(patsubst %.dita,%.html,$(wildcard *.dita)) -HTML_FILES = $(if $(wildcard *.html), $(wildcard *.html), $(DITA_HTML_FILES)) +HTML_FILES = $(if $(wildcard *.html), $(wildcard *.html), $(DITA_HTML_FILES) index.html) DITA_XSL_FILE = dita-help.xsl helpdir = $(datadir)/kimchi/ui/pages/help @@ -27,5 +27,6 @@ dist_help_DATA = $(HTML_FILES) $(NULL) %.html: %.dita $(DITA_XSL_FILE) xsltproc -o $@ $(DITA_XSL_FILE) $< + $(shell pwd)/gen-index.py CLEANFILES = $(HTML_FILES) diff --git a/ui/pages/help/gen-index.py b/ui/pages/help/gen-index.py new file mode 100755 index 0000000..4fa7cbe --- /dev/null +++ b/ui/pages/help/gen-index.py @@ -0,0 +1,64 @@ +#!/usr/bin/python +# +# Project Kimchi +# +# Copyright IBM, Corp. 2014 +# +# Authors: +# Aline Manera <alinefm@linux.vnet.ibm.com> +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +import glob +import libxml2 + + +HTML_HEAD = """ +<html> +<head> + <title>Kimchi Help</title> +</head> +<body> +<h1>Kimchi Help</h1> +""" + +HTML_TAIL = """ +</body> +</html> +""" + + +def main(): + pages = {} + files = sorted(glob.glob('*.dita')) + for f in files: + with open(f) as fd: + xml = fd.read() + doc = libxml2.parseDoc(xml) + node = doc.xpathEval('/cshelp/title')[0] + name = node.children.content + pages[f.replace('.dita', '.html')] = name + doc.freeDoc() + + with open('index.html', 'w') as fd: + fd.write(HTML_HEAD) + for page, name in pages.iteritems(): + html = ' <a href="/help/%s">%s</a><br />\n' + fd.write(html % (page, name)) + fd.write(HTML_TAIL) + + +if __name__ == '__main__': + main() -- 1.7.10.4