From e5e9713890b6451bf8f35de23bfe750e4f7e3806 Mon Sep 17 00:00:00 2001 From: Harry Liu Date: Tue, 12 Mar 2019 02:40:04 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9markdown=E4=BE=9D?= =?UTF-8?q?=E8=B5=96=E7=89=88=E6=9C=AC.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 7d2f3f5..70498f8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -Markdown==2.6.8 +Markdown==3.0.1 Pygments==1.6 Jinja2==2.7.3 PyYAML==3.11 From d60a0ddfc478eb7cd9e5d46c812065528d276547 Mon Sep 17 00:00:00 2001 From: Harry Liu Date: Tue, 12 Mar 2019 03:00:53 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E9=BB=98=E8=AE=A4=E6=B7=BB=E5=8A=A0toc,?= =?UTF-8?q?=E6=96=B9=E4=BE=BF=E4=B8=BB=E9=A2=98=E6=A8=A1=E7=89=88=E5=BC=95?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simiki/generators.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/simiki/generators.py b/simiki/generators.py index 9816df0..d7ed0b8 100644 --- a/simiki/generators.py +++ b/simiki/generators.py @@ -142,6 +142,13 @@ def get_meta_and_content(self, do_render=True): return meta, content + def get_toc(self): + with io.open(self._src_file, "rt", encoding="utf-8") as fd: + cont_str=fd.read() + md = markdown.Markdown(extensions=['markdown.extensions.toc']) + md.convert(cont_str) + return md.toc_tokens + def get_layout(self, meta): """Get layout config in meta, default is `page'""" if "layout" in meta: @@ -170,7 +177,7 @@ def get_template_vars(self, meta, content): page = {"content": content} page.update(meta) page.update({'relation': self.get_relation()}) - + page.update({"toc":self.get_toc()}) template_vars.update({'page': page}) return template_vars From cab96ffa285e02557a6c59e525575fd2aa60b0d8 Mon Sep 17 00:00:00 2001 From: Harry Liu Date: Tue, 12 Mar 2019 10:41:26 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=95=B0=E6=8D=AE,=E4=B8=8E=E6=96=B0=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E5=8C=B9=E9=85=8D.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simiki/generators.py | 7 ++++--- tests/test_generators.py | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/simiki/generators.py b/simiki/generators.py index d7ed0b8..af7338a 100644 --- a/simiki/generators.py +++ b/simiki/generators.py @@ -145,9 +145,10 @@ def get_meta_and_content(self, do_render=True): def get_toc(self): with io.open(self._src_file, "rt", encoding="utf-8") as fd: cont_str=fd.read() - md = markdown.Markdown(extensions=['markdown.extensions.toc']) - md.convert(cont_str) - return md.toc_tokens + if cont_str: + md = markdown.Markdown(extensions=['markdown.extensions.toc']) + md.convert(cont_str) + return md.toc_tokens if cont_str else [] def get_layout(self, meta): """Get layout config in meta, default is `page'""" diff --git a/tests/test_generators.py b/tests/test_generators.py index c991d63..ee62887 100644 --- a/tests/test_generators.py +++ b/tests/test_generators.py @@ -93,7 +93,8 @@ def test_get_template_vars(self): u'date': '2013-10-17 00:03', u'layout': 'page', u'relation': [], - u'title': 'Foo Page 2' + u'title': 'Foo Page 2', + u'toc': [] }, u'site': get_default_config() }