summaryrefslogtreecommitdiff
path: root/sphinx/util/nodes.py
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2020-03-01 01:54:52 +0900
committerGitHub <noreply@github.com>2020-03-01 01:54:52 +0900
commit201455900a5fe938a1aadb4af37a2b13aeaa44bd (patch)
treed868a7c701991c3c707f21c5331664700bf5e5c3 /sphinx/util/nodes.py
parentbac5192838b6c5c5db012cc9df493e2fbdcb0f9a (diff)
parentdd8088f5aae7919e0977a47ced1e34a75f2c7ae1 (diff)
downloadsphinx-git-201455900a5fe938a1aadb4af37a2b13aeaa44bd.tar.gz
Merge pull request #7210 from tk0miya/refactor_js_domain2
js domain: Generate node_id in the right way
Diffstat (limited to 'sphinx/util/nodes.py')
-rw-r--r--sphinx/util/nodes.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/sphinx/util/nodes.py b/sphinx/util/nodes.py
index 7c7300c60..474a704a1 100644
--- a/sphinx/util/nodes.py
+++ b/sphinx/util/nodes.py
@@ -443,7 +443,7 @@ def make_id(env: "BuildEnvironment", document: nodes.document,
if prefix:
idformat = prefix + "-%s"
else:
- idformat = document.settings.id_prefix + "%s"
+ idformat = (document.settings.id_prefix or "id") + "%s"
# try to generate node_id by *term*
if prefix and term:
@@ -451,6 +451,10 @@ def make_id(env: "BuildEnvironment", document: nodes.document,
if node_id == prefix:
# *term* is not good to generate a node_id.
node_id = None
+ elif term:
+ node_id = nodes.make_id(term)
+ if node_id == '':
+ node_id = None # fallback to None
while node_id is None or node_id in document.ids:
node_id = idformat % env.new_serialno(prefix)