diff options
author | Ronny Berndt <ronny@apache.org> | 2023-01-07 22:54:27 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-07 22:54:27 +0100 |
commit | e2ca0535026ab6d15495efd4098463c2432918eb (patch) | |
tree | 857adc8d554a6368f676136d7a9141b070aa4697 | |
parent | 2dd770a1585be537b1a05bf66d08a91f8e817147 (diff) | |
download | couchdb-e2ca0535026ab6d15495efd4098463c2432918eb.tar.gz |
Escape special (html) chars in section names (#4350) (#4358)
To correctly generate the configuration reference html output,
escape special html characters like '<' and '>' in section names.
-rw-r--r-- | src/docs/ext/configdomain.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/docs/ext/configdomain.py b/src/docs/ext/configdomain.py index 66ed53288..983ac44b0 100644 --- a/src/docs/ext/configdomain.py +++ b/src/docs/ext/configdomain.py @@ -15,6 +15,7 @@ from sphinx.roles import XRefRole from sphinx.domains import Domain, ObjType, Index from sphinx.directives import ObjectDescription from sphinx.util.nodes import make_refnode +import html class ConfigObject(ObjectDescription): @@ -62,7 +63,7 @@ class ConfigIndex(Index): def generate(self, docnames=None): content = dict( - (name, [(name, 1, info[0], name, "", "", info[1])]) + (html.escape(name), [(name, 1, info[0], name, "", "", info[1])]) for name, info in self.domain.data["section"].items() ) @@ -70,7 +71,7 @@ class ConfigIndex(Index): for idx, info in sorted(options.items()): path, descr = info section, name = idx.split("/", 1) - content[section].append( + content[html.escape(section)].append( (name, 2, path, "%s/%s" % (section, name), "", "", descr) ) |