Documentation: Fix markdown inline code

recommonmark doesn't know about inline code, while all other software generating
documentation is able to handle it.
Add support for inline code by adding a wrapper class around the recommonmark
parser that converts code to docutils literal blocks.

Fixes invisible inline code in current documentation.

Change-Id: I0269d15a685ed0c0241be8c8acfade0e58363845
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-on: https://review.coreboot.org/29206
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com>
This commit is contained in:
Patrick Rudolph 2018-10-22 10:52:40 +02:00 committed by Philipp Deppenwiese
parent 7187758038
commit 39315985e8
1 changed files with 11 additions and 5 deletions

View File

@ -1,5 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import subprocess import subprocess
from recommonmark.parser import CommonMarkParser
# Add any paths that contain templates here, relative to this directory. # Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates'] templates_path = ['_templates']
@ -156,9 +157,14 @@ texinfo_documents = [
'Miscellaneous'), 'Miscellaneous'),
] ]
source_parsers = { enable_auto_toc_tree = True
'.md': 'recommonmark.parser.CommonMarkParser',
} class MyCommonMarkParser(CommonMarkParser):
# remove this hack once upsteam RecommonMark supports inline code
def visit_code(self, mdnode):
from docutils import nodes
n = nodes.literal(mdnode.literal, mdnode.literal)
self.current_node.append(n)
# Documents to append as an appendix to all manuals. # Documents to append as an appendix to all manuals.
# #
@ -176,11 +182,11 @@ source_parsers = {
# #
# texinfo_no_detailmenu = False # texinfo_no_detailmenu = False
enable_auto_toc_tree = True
def setup(app): def setup(app):
from recommonmark.transform import AutoStructify from recommonmark.transform import AutoStructify
app.add_source_parser('.md', MyCommonMarkParser)
app.add_config_value('recommonmark_config', { app.add_config_value('recommonmark_config', {
'enable_auto_toc_tree': True, 'enable_auto_toc_tree': True,
'enable_auto_doc_ref': False, # broken in Sphinx 1.6+ 'enable_auto_doc_ref': False, # broken in Sphinx 1.6+