diff options
author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2022-01-02 00:27:07 +0900 |
---|---|---|
committer | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2022-01-02 12:11:08 +0900 |
commit | 6a6a4b580014ddc4e1b27b6cf656755decc6fa8c (patch) | |
tree | 8ba3c90c549d936a77c61517c325afa1523941f5 /sphinx/directives/patches.py | |
parent | f38bd8e9529d50e5cceffe3ca55be4b758529ff7 (diff) | |
download | sphinx-git-6a6a4b580014ddc4e1b27b6cf656755decc6fa8c.tar.gz |
i18n: meta strings are not translated with docutils-0.18
i18n feature for meta strings does not work if docutils-0.18 used.
Note: Since docutils-0.18, patch for meta directive is no longer
needed because it uses a picklable meta nodes; ``docutils.nodes.meta``.
Diffstat (limited to 'sphinx/directives/patches.py')
-rw-r--r-- | sphinx/directives/patches.py | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/sphinx/directives/patches.py b/sphinx/directives/patches.py index f01423a88..5308b2838 100644 --- a/sphinx/directives/patches.py +++ b/sphinx/directives/patches.py @@ -29,13 +29,10 @@ from sphinx.util.osutil import SEP, os_path, relpath from sphinx.util.typing import OptionSpec try: - from docutils.nodes import meta as meta_node # type: ignore from docutils.parsers.rst.directives.misc import Meta as MetaBase # type: ignore except ImportError: # docutils-0.17 or older from docutils.parsers.rst.directives.html import Meta as MetaBase - from docutils.parsers.rst.directives.html import MetaBody - meta_node = MetaBody.meta if TYPE_CHECKING: from sphinx.application import Sphinx @@ -74,8 +71,10 @@ class Meta(MetaBase, SphinxDirective): def run(self) -> List[Node]: result = super().run() for node in result: + # for docutils-0.17 or older. Since docutils-0.18, patching is no longer needed + # because it uses picklable node; ``docutils.nodes.meta``. if (isinstance(node, nodes.pending) and - isinstance(node.details['nodes'][0], meta_node)): + isinstance(node.details['nodes'][0], addnodes.docutils_meta)): meta = node.details['nodes'][0] meta.source = self.env.doc2path(self.env.docname) meta.line = self.lineno |