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: