summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonny Berndt <ronny@apache.org>2023-01-08 22:53:09 +0100
committerGitHub <noreply@github.com>2023-01-08 22:53:09 +0100
commitb738c27286389db6eb46779558010c77d3b02f28 (patch)
tree82c2db190d46ce38844e34fe74660f210f06920b
parent1fd50b82ae0904857b2d63e413dc24b51ca11d7d (diff)
downloadcouchdb-b738c27286389db6eb46779558010c77d3b02f28.tar.gz
Escape special (html) chars in section names (#4350) (#4359)
To correctly generate the configuration reference html output, escape special html characters like '<' and '>' in section names.
-rw-r--r--src/docs/ext/configdomain.py5
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)
)