Skip to content

Commit

Permalink
Fix #6229: htmlhelp builder generates invalid .hhc file
Browse files Browse the repository at this point in the history
  • Loading branch information
tk0miya committed Apr 7, 2019
1 parent 5b8d06c commit 37fde1f
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 31 deletions.
5 changes: 5 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
Release 1.0.2 (unreleased)
==========================

* #6229: htmlhelp builder generates invalid .hhc file

Release 1.0.1 (2019-02-15)
==========================

Expand Down
11 changes: 4 additions & 7 deletions sphinxcontrib/htmlhelp/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,7 @@ def __init__(self, document: document) -> None:
self.depth = 0

def append(self, text: str) -> None:
indent = ' ' * (self.depth - 1)
self.body.append(indent + text)
self.body.append(text)

def astext(self) -> str:
return '\n'.join(self.body)
Expand All @@ -122,18 +121,16 @@ def depart_bullet_list(self, node: Element) -> None:
self.append('</UL>')

def visit_list_item(self, node: Element) -> None:
self.append('<LI>')
self.append('<LI> <OBJECT type="text/sitemap">')
self.depth += 1

def depart_list_item(self, node: Element) -> None:
self.depth -= 1
self.append('</LI>')

def visit_reference(self, node: Element) -> None:
title = chm_htmlescape(node.astext(), True)
self.append('<OBJECT type="text/sitemap">')
self.append(' <PARAM name="Name" value="%s" />' % title)
self.append(' <PARAM name="Local" value="%s" />' % node['refuri'])
self.append(' <param name="Name" value="%s">' % title)
self.append(' <param name="Local" value="%s">' % node['refuri'])
self.append('</OBJECT>')
raise nodes.SkipNode

Expand Down
41 changes: 17 additions & 24 deletions sphinxcontrib/htmlhelp/templates/project.hhc
Original file line number Diff line number Diff line change
@@ -1,31 +1,24 @@
{%- macro sitemap(name, docname) -%}
<OBJECT type="text/sitemap">
<PARAM name="Name" value="{{ name|e }}" />
<PARAM name="Local" value="{{ docname|e }}{{ suffix }}" />
<param name="Name" value="{{ name|e }}">
<param name="Local" value="{{ docname|e }}{{ suffix }}">
</OBJECT>
{%- endmacro -%}

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<META name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1" />
<!-- Sitemap 1.0 -->
</HEAD>
<BODY>
<OBJECT type="text/site properties">
<PARAM name="Window Styles" value="0x801227" />
<PARAM name="ImageType" value="Folder" />
</OBJECT>
<UL>
<LI>
{{ sitemap(short_title, master_doc)|indent(8) }}
</LI>
{%- for indexname, indexcls, content, collapse in domain_indices %}
<LI>
{{ sitemap(indexcls.localname, indexname)|indent(8) }}
</LI>
{%- endfor %}
{{ body|indent(6) }}
</UL>
</BODY>
</HTML>
<HEAD>
<meta name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1">
<!-- Sitemap 1.0 -->
</HEAD><BODY>
<OBJECT type="text/site properties">
<param name="Window Styles" value="0x801227">
<param name="ImageType" value="Folder">
</OBJECT>
<UL>
<LI> {{ sitemap(short_title, master_doc) }}
{%- for indexname, indexcls, content, collapse in domain_indices %}
<LI> {{ sitemap(indexcls.localname, indexname) }}
{%- endfor %}
{{ body }}
</UL></BODY></HTML>

0 comments on commit 37fde1f

Please sign in to comment.