From ef2744a43f22563d50af678777ae1e3d8120c9a7 Mon Sep 17 00:00:00 2001 From: Scott Bahling Date: Mon, 23 Sep 2013 15:35:50 +0200 Subject: Ignore fenced code blocks when looking for headings --- panfry/page.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/panfry/page.py b/panfry/page.py index efd3561..b3bd78c 100755 --- a/panfry/page.py +++ b/panfry/page.py @@ -85,7 +85,18 @@ class Page(TextFile): ''' toc = [] heading = '' + code = 0 for line in self.markdown.split('\n'): + # Ignore if we are inside fenced code block + if line.startswith('~~~') or line.startswith('```'): + if not code: + ### FIXME. Need better way to get length of ~~ + ### or `` characters. + code = len(line.strip()) + elif len(line.strip()) >= code: + code = 0 + if code: + continue line = line.strip() if heading and re.match('[=]{2}', line): toc.append(TOCItem(heading, 1, self.htmlfile)) -- cgit v1.2.3