diff options
| author | Georg Brandl <georg@python.org> | 2008-11-22 15:28:09 +0100 |
|---|---|---|
| committer | Georg Brandl <georg@python.org> | 2008-11-22 15:28:09 +0100 |
| commit | 6c8e2f4be496b53c0a55ec0fd2e142687f9906f4 (patch) | |
| tree | d6ea850fe7e70f928d74553f9f837814d6bd1ad6 /sphinx/htmlhelp.py | |
| parent | a617259e5f4377bb437245f5f1e7494a563ebcc3 (diff) | |
| download | sphinx-6c8e2f4be496b53c0a55ec0fd2e142687f9906f4.tar.gz | |
Fix three problems in HTML help index generation.
Patch from Hirokazu Yamamoto (see bugs.python.org/4252), fixes #44.
Diffstat (limited to 'sphinx/htmlhelp.py')
| -rw-r--r-- | sphinx/htmlhelp.py | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/sphinx/htmlhelp.py b/sphinx/htmlhelp.py index 33dbd9ff..4cc68bc9 100644 --- a/sphinx/htmlhelp.py +++ b/sphinx/htmlhelp.py @@ -55,6 +55,7 @@ from sphinx import addnodes project_template = '''\ [OPTIONS] Binary TOC=Yes +Binary Index=No Compiled file=%(outname)s.chm Contents file=%(outname)s.hhc Default Window=%(outname)s @@ -191,12 +192,21 @@ def build_hhx(builder, outdir, outname): try: f.write('<UL>\n') def write_index(title, refs, subitems): - if refs: - f.write('<LI> ') - item = object_sitemap % (cgi.escape(title), refs[0]) + def write_param(name, value): + item = ' <param name="%s" value="%s">\n' % (name, value) f.write(item.encode('ascii', 'xmlcharrefreplace')) - for ref in refs[1:]: - f.write(object_sitemap % ('[Link]', ref)) + title = cgi.escape(title) + f.write('<LI> <OBJECT type="text/sitemap">\n') + write_param('Keyword', title) + if len(refs) == 0: + write_param('See Also', title) + elif len(refs) == 1: + write_param('Local', refs[0]) + else: + for i, ref in enumerate(refs): + write_param('Name', '[%d] %s' % (i, ref)) # XXX: better title? + write_param('Local', ref) + f.write('</OBJECT>\n') if subitems: f.write('<UL> ') for subitem in subitems: |
