From 277cf84c635765724752bd137c7ce7aaf8560f25 Mon Sep 17 00:00:00 2001 From: Chun-da Chen Date: Wed, 1 Jun 2016 13:46:29 +0800 Subject: [PATCH 1/2] Support structured pages. --- mkdocs_pandoc/pandoc_converter.py | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/mkdocs_pandoc/pandoc_converter.py b/mkdocs_pandoc/pandoc_converter.py index 7b89a8b..e5d64ac 100644 --- a/mkdocs_pandoc/pandoc_converter.py +++ b/mkdocs_pandoc/pandoc_converter.py @@ -86,6 +86,14 @@ def flatten_pages(self, pages, level=1): 'level': level, }) if type(list(page.values())[0]) is list: + # Add the parent section + flattened.append( + { + 'file': None, + 'title': list(page.keys())[0], + 'level': level, + }) + # Add children sections flattened.extend( self.flatten_pages( list(page.values())[0], @@ -115,12 +123,17 @@ def convert(self): f_headlevel = mkdocs_pandoc.filters.headlevels.HeadlevelFilter(pages) for page in pages: - fname = os.path.join(self.config['docs_dir'], page['file']) - try: - p = codecs.open(fname, 'r', self.encoding) - except IOError as e: - raise FatalError("Couldn't open %s for reading: %s" % (fname, - e.strerror), 1) + lines_tmp = [] + if page['file']: + fname = os.path.join(self.config['docs_dir'], page['file']) + try: + with codecs.open(fname, 'r', self.encoding) as p: + for line in p.readlines(): + lines_tmp.append(line.rstrip()) + except IOError as e: + raise FatalError("Couldn't open %s for reading: %s" % (fname, + e.strerror), 1) + f_chapterhead = mkdocs_pandoc.filters.chapterhead.ChapterheadFilter( headlevel=page['level'], title=page['title'] @@ -131,11 +144,6 @@ def convert(self): image_path=self.config['site_dir'], image_ext=self.image_ext) - lines_tmp = [] - - for line in p.readlines(): - lines_tmp.append(line.rstrip()) - if self.exclude: lines_tmp = f_exclude.run(lines_tmp) From f00f6ae13307dca3ee9ee40960118e977c0ca99a Mon Sep 17 00:00:00 2001 From: Chun-da Chen Date: Tue, 26 Jul 2016 17:18:52 +0800 Subject: [PATCH 2/2] Remove chapter numbering. --- mkdocs_pandoc/pandoc_converter.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mkdocs_pandoc/pandoc_converter.py b/mkdocs_pandoc/pandoc_converter.py index e5d64ac..b1a4e79 100644 --- a/mkdocs_pandoc/pandoc_converter.py +++ b/mkdocs_pandoc/pandoc_converter.py @@ -74,7 +74,7 @@ def flatten_pages(self, pages, level=1): flattened.append( { 'file': page[0], - 'title': page[1], + 'title': '%s {.unnumbered}' % page[1], 'level': level, }) if type(page) is dict: @@ -82,7 +82,7 @@ def flatten_pages(self, pages, level=1): flattened.append( { 'file': list(page.values())[0], - 'title': list(page.keys())[0], + 'title': '%s {.unnumbered}' % list(page.keys())[0], 'level': level, }) if type(list(page.values())[0]) is list: @@ -90,7 +90,7 @@ def flatten_pages(self, pages, level=1): flattened.append( { 'file': None, - 'title': list(page.keys())[0], + 'title': '%s {.unnumbered}' % list(page.keys())[0], 'level': level, }) # Add children sections