diff options
Diffstat (limited to 'docs/sphinx/ext')
| -rw-r--r-- | docs/sphinx/ext/ecm.py | 13 | 
1 files changed, 8 insertions, 5 deletions
diff --git a/docs/sphinx/ext/ecm.py b/docs/sphinx/ext/ecm.py index 8667b367..a09e4890 100644 --- a/docs/sphinx/ext/ecm.py +++ b/docs/sphinx/ext/ecm.py @@ -5,6 +5,7 @@  #  # SPDX-License-Identifier: BSD-3-Clause +import html  import os  import re @@ -19,8 +20,11 @@ CMakeLexer.tokens["args"].append(('(\\$<)(.+?)(>)',  # Monkey patch for sphinx generating invalid content for qcollectiongenerator  # https://bitbucket.org/birkenfeld/sphinx/issue/1435/qthelp-builder-should-htmlescape-keywords -from sphinx.util.pycompat import htmlescape -from sphinx.builders.qthelp import QtHelpBuilder +try: +  from sphinxcontrib.qthelp import QtHelpBuilder +except ImportError: +  # sphinx < 4.0 +  from sphinx.builders.qthelp import QtHelpBuilder  old_build_keywords = QtHelpBuilder.build_keywords  def new_build_keywords(self, title, refs, subitems):    old_items = old_build_keywords(self, title, refs, subitems) @@ -29,13 +33,12 @@ def new_build_keywords(self, title, refs, subitems):      before, rest = item.split("ref=\"", 1)      ref, after = rest.split("\"")      if ("<" in ref and ">" in ref): -      new_items.append(before + "ref=\"" + htmlescape(ref) + "\"" + after) +      new_items.append(before + "ref=\"" + html.escape(ref) + "\"" + after)      else:        new_items.append(item)    return new_items  QtHelpBuilder.build_keywords = new_build_keywords -  from docutils.parsers.rst import Directive, directives  from docutils.transforms import Transform  try: @@ -127,7 +130,7 @@ class _ecm_index_entry:          self.desc = desc      def __call__(self, title, targetid): -        return ('pair', u'%s ; %s' % (self.desc, title), targetid, 'main') +        return ('pair', u'%s ; %s' % (self.desc, title), targetid, 'main', None)  _ecm_index_objs = {      'manual':      _ecm_index_entry('manual'),  | 
