diff options
author | Vegard Nossum <vegard.nossum@oracle.com> | 2023-12-15 15:37:01 +0300 |
---|---|---|
committer | Jonathan Corbet <corbet@lwn.net> | 2023-12-20 00:34:59 +0300 |
commit | 7418ec5b151f5591f750d57705cbb633c084a434 (patch) | |
tree | b71cbd2cafa0603546979d7cf205423dea8f3a51 /Documentation/conf.py | |
parent | dcd39fa2be95efd5cbce74661151f68510cb67fe (diff) | |
download | linux-7418ec5b151f5591f750d57705cbb633c084a434.tar.xz |
docs: translations: add translations links when they exist
Add a new Sphinx extension that knows about the translations of kernel
documentation and can insert links to the translations at the top of
the document.
It basically works like this:
1. Register a new node type, LanguagesNode.
2. Register a new transform, TranslationsTransform, that inserts a new
LanguageNode at the top of every document. The LanguageNode contains
"pending references" to translations of the document. The key here
is that these are pending (i.e. unresolved) references that may or
may not actually exist.
3. Register a 'doctree-resolved' event that iterates over all the
LanguageNode nodes. Any unresolved references are filtered out; the
list of resolved references is passed to the 'translations.html'
template and rendered as an HTML node (if HTML output is selected).
Testing: make htmldocs, make latexdocs with Sphinx v4.3.2 and Firefox.
v2:
- changed bar into a drop-down menu
- fixed language labels
- fixed hysteresis reported by Akira Yokosawa
Cc: Federico Vaga <federico.vaga@vaga.pv.it>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Akira Yokosawa <akiyks@gmail.com>
Cc: Yanteng Si <siyanteng@loongson.cn>
Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/20231215123701.2712807-1-vegard.nossum@oracle.com
Diffstat (limited to 'Documentation/conf.py')
-rw-r--r-- | Documentation/conf.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Documentation/conf.py b/Documentation/conf.py index a3d1fe9dfcf9..5830b01c5642 100644 --- a/Documentation/conf.py +++ b/Documentation/conf.py @@ -55,7 +55,7 @@ needs_sphinx = '2.4.4' extensions = ['kerneldoc', 'rstFlatTable', 'kernel_include', 'kfigure', 'sphinx.ext.ifconfig', 'automarkup', 'maintainers_include', 'sphinx.ext.autosectionlabel', - 'kernel_abi', 'kernel_feat'] + 'kernel_abi', 'kernel_feat', 'translations'] if major >= 3: if (major > 3) or (minor > 0 or patch >= 2): |