diff --git a/manual/traintasticmanualbuilder/htmlsinglepage.py b/manual/traintasticmanualbuilder/htmlsinglepage.py
index c8598ac9..f8098d91 100644
--- a/manual/traintasticmanualbuilder/htmlsinglepage.py
+++ b/manual/traintasticmanualbuilder/htmlsinglepage.py
@@ -36,6 +36,15 @@ class HTMLSinglePageBuilder(HTMLBuilder):
return html
+ def subpages(self, page, depth=1):
+ html = ''
+ if 'pages' in page:
+ for subpage in page['pages']:
+ subhtml = self._file_to_html(subpage)
+ subhtml = re.sub(r']*)>(.*?)', lambda m: '' + m.group(3) + '', subhtml)
+ html += subhtml + self.subpages(subpage, depth + 1)
+ return html
+
def build(self):
self._output_copy_files([
'css/pure-min.css',
@@ -46,12 +55,7 @@ class HTMLSinglePageBuilder(HTMLBuilder):
toc = {'preface': [], 'chapter': [], 'appendix': []}
manual_html = ''
for page in self._json:
- page_html = self._file_to_html(page)
- if 'pages' in page:
- for subpage in page['pages']:
- subhtml = self._file_to_html(subpage)
- subhtml = re.sub(r']*)>(.*?)', lambda m: '' + m.group(3) + '', subhtml)
- page_html += subhtml
+ page_html = self._file_to_html(page) + self.subpages(page)
m = re.findall(r']*)>(.*?)', page_html)
if m is not None: