mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Merge pull request #7232 from tk0miya/refactor_js_domain
refactor: js domain: Change make_old_*_id() to methods
This commit is contained in:
commit
7ebf6c22ab
@ -34,24 +34,6 @@ from sphinx.util.nodes import make_id, make_refnode
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def make_old_jsmod_id(modname: str) -> str:
|
||||
"""Generate old styled node_id for JS modules.
|
||||
|
||||
.. note:: Old Styled node_id was used until Sphinx-3.0.
|
||||
This will be removed in Sphinx-5.0.
|
||||
"""
|
||||
return 'module-' + modname
|
||||
|
||||
|
||||
def make_old_jsobj_id(fullname: str) -> str:
|
||||
"""Generate old styled node_id for JS objects.
|
||||
|
||||
.. note:: Old Styled node_id was used until Sphinx-3.0.
|
||||
This will be removed in Sphinx-5.0.
|
||||
"""
|
||||
return fullname.replace('$', '_S_')
|
||||
|
||||
|
||||
class JSObject(ObjectDescription):
|
||||
"""
|
||||
Description of a JavaScript object.
|
||||
@ -129,7 +111,7 @@ class JSObject(ObjectDescription):
|
||||
|
||||
# Assign old styled node_id not to break old hyperlinks (if possible)
|
||||
# Note: Will be removed in Sphinx-5.0 (RemovedInSphinx50Warning)
|
||||
old_node_id = make_old_jsobj_id(fullname)
|
||||
old_node_id = self.make_old_id(fullname)
|
||||
if old_node_id not in self.state.document.ids and old_node_id not in signode['ids']:
|
||||
signode['ids'].append(old_node_id)
|
||||
|
||||
@ -211,6 +193,14 @@ class JSObject(ObjectDescription):
|
||||
self.env.ref_context['js:object'] = (objects[-1] if len(objects) > 0
|
||||
else None)
|
||||
|
||||
def make_old_id(self, fullname: str) -> str:
|
||||
"""Generate old styled node_id for JS objects.
|
||||
|
||||
.. note:: Old Styled node_id was used until Sphinx-3.0.
|
||||
This will be removed in Sphinx-5.0.
|
||||
"""
|
||||
return fullname.replace('$', '_S_')
|
||||
|
||||
|
||||
class JSCallable(JSObject):
|
||||
"""Description of a JavaScript function, method or constructor."""
|
||||
@ -282,7 +272,7 @@ class JSModule(SphinxDirective):
|
||||
|
||||
# Assign old styled node_id not to break old hyperlinks (if possible)
|
||||
# Note: Will be removed in Sphinx-5.0 (RemovedInSphinx50Warning)
|
||||
old_node_id = make_old_jsmod_id(mod_name)
|
||||
old_node_id = self.make_old_id(mod_name)
|
||||
if old_node_id not in self.state.document.ids and old_node_id not in target['ids']:
|
||||
target['ids'].append(old_node_id)
|
||||
|
||||
@ -293,6 +283,14 @@ class JSModule(SphinxDirective):
|
||||
ret.append(inode)
|
||||
return ret
|
||||
|
||||
def make_old_id(self, modname: str) -> str:
|
||||
"""Generate old styled node_id for JS modules.
|
||||
|
||||
.. note:: Old Styled node_id was used until Sphinx-3.0.
|
||||
This will be removed in Sphinx-5.0.
|
||||
"""
|
||||
return 'module-' + modname
|
||||
|
||||
|
||||
class JSXRefRole(XRefRole):
|
||||
def process_link(self, env: BuildEnvironment, refnode: Element,
|
||||
|
Loading…
Reference in New Issue
Block a user