summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Reiter <reiter.christoph@gmail.com>2018-12-19 22:17:16 +0100
committerChristoph Reiter <reiter.christoph@gmail.com>2018-12-26 18:37:35 +0100
commit74c506e7c0b04c9aac242afc08cd6731bea5992a (patch)
tree5a138d7ef0d3dc0975182ac29029c4b113fa3f13
parent66d895b6e26c2ea3925dc90cf981d4191f7723bd (diff)
downloadgobject-introspection-74c506e7c0b04c9aac242afc08cd6731bea5992a.tar.gz
docwriter: Support markdown 3.x. Fixes #250
-rw-r--r--giscanner/docwriter.py17
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):