diff options
author | Christoph Reiter <reiter.christoph@gmail.com> | 2018-12-19 22:17:16 +0100 |
---|---|---|
committer | Christoph Reiter <reiter.christoph@gmail.com> | 2018-12-26 18:37:35 +0100 |
commit | 74c506e7c0b04c9aac242afc08cd6731bea5992a (patch) | |
tree | 5a138d7ef0d3dc0975182ac29029c4b113fa3f13 | |
parent | 66d895b6e26c2ea3925dc90cf981d4191f7723bd (diff) | |
download | gobject-introspection-74c506e7c0b04c9aac242afc08cd6731bea5992a.tar.gz |
docwriter: Support markdown 3.x. Fixes #250
-rw-r--r-- | giscanner/docwriter.py | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/giscanner/docwriter.py b/giscanner/docwriter.py index a29ba374..dae2ca9e 100644 --- a/giscanner/docwriter.py +++ b/giscanner/docwriter.py @@ -34,7 +34,6 @@ import tempfile from xml.sax import saxutils from mako.lookup import TemplateLookup import markdown -from markdown.extensions.headerid import HeaderIdExtension from . import ast, xmlwriter from .utils import to_underscores @@ -66,6 +65,18 @@ language_mimes = { } +def get_headerid_ext(): + try: + from markdown.extensions.headerid import HeaderIdExtension + except ImportError: + # markdown 3.x + from markdown.extensions.toc import TocExtension + return TocExtension(toc_depth=0) + else: + # markdown 2.x + return HeaderIdExtension(forceid=False) + + def make_page_id(node, recursive=False): if isinstance(node, ast.Namespace): if recursive: @@ -1175,7 +1186,7 @@ class DevDocsFormatterGjs(DocFormatterGjs): 'markdown.extensions.fenced_code', 'markdown.extensions.nl2br', 'markdown.extensions.attr_list', - HeaderIdExtension(forceid=False) + get_headerid_ext(), ]) def format_function_name(self, func): @@ -1263,7 +1274,7 @@ class DevDocsFormatterGjs(DocFormatterGjs): 'markdown.extensions.fenced_code', 'markdown.extensions.nl2br', 'markdown.extensions.attr_list', - HeaderIdExtension(forceid=False) + get_headerid_ext(), ]) def format_in_parameters(self, node): |