From: Vladimír Vondruš Date: Thu, 14 Dec 2017 21:39:23 +0000 (+0100) Subject: doxygen: avoid stripping whitespace around inline elements. X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~cjwatson/git?a=commitdiff_plain;h=5d521430c9dac8d4ebcf7cc8dcc2fd92e4225ae2;p=blog.git doxygen: avoid stripping whitespace around inline elements. --- diff --git a/doxygen/dox2html5.py b/doxygen/dox2html5.py index b6a915a8..5889c6cf 100755 --- a/doxygen/dox2html5.py +++ b/doxygen/dox2html5.py @@ -584,7 +584,7 @@ def parse_desc_internal(state: State, element: ET.Element, immediate_parent: ET. assert element.tag == 'para' # is inside a paragraph :/ has_block_elements = True - out.parsed += '
{}
'.format(i.attrib['{http://mcss.mosra.cz/doxygen/}class'], parse_desc(state, i)) + out.parsed += '
{}
'.format(i.attrib['{http://mcss.mosra.cz/doxygen/}class'], parse_inline_desc(state, i).strip()) # Adding a custom CSS class to the immediately following block/inline # element @@ -733,17 +733,17 @@ def parse_desc_internal(state: State, element: ET.Element, immediate_parent: ET. out.parsed += ''.format(extract_id(i)) elif i.tag == 'computeroutput': - out.parsed += '{}'.format(parse_inline_desc(state, i)) + out.parsed += '{}'.format(parse_inline_desc(state, i).strip()) elif i.tag == 'emphasis': out.parsed += '{}'.format( ' class="{}"'.format(add_inline_css_class) if add_inline_css_class else '', - parse_inline_desc(state, i)) + parse_inline_desc(state, i).strip()) elif i.tag == 'bold': out.parsed += '{}'.format( ' class="{}"'.format(add_inline_css_class) if add_inline_css_class else '', - parse_inline_desc(state, i)) + parse_inline_desc(state, i).strip()) elif i.tag == 'ref': out.parsed += parse_ref(state, i) @@ -752,11 +752,11 @@ def parse_desc_internal(state: State, element: ET.Element, immediate_parent: ET. out.parsed += '{}'.format( html.escape(i.attrib['url']), ' class="{}"'.format(add_inline_css_class) if add_inline_css_class else '', - add_wbr(parse_inline_desc(state, i))) + add_wbr(parse_inline_desc(state, i).strip())) # with custom CSS classes elif i.tag == '{http://mcss.mosra.cz/doxygen/}span': - out.parsed += '{}'.format(i.attrib['{http://mcss.mosra.cz/doxygen/}class'], parse_inline_desc(state, i)) + out.parsed += '{}'.format(i.attrib['{http://mcss.mosra.cz/doxygen/}class'], parse_inline_desc(state, i).strip()) # WHAT THE HELL WHY IS THIS NOT AN XML ENTITY elif i.tag == 'ndash': out.parsed += '–' @@ -885,7 +885,7 @@ def parse_inline_desc(state: State, element: ET.Element) -> str: if element is None: return '' # Verify that we didn't ignore any important info by accident - parsed = parse_desc_internal(state, element) + parsed = parse_desc_internal(state, element, trim=False) assert not parsed.templates and not parsed.params and not parsed.return_value assert not parsed.section return parsed.parsed