| Message ID | 20251218-sphinx-copybutton-v1-1-752b7c4ff8f9@bootlin.com |
|---|---|
| State | Superseded |
| Headers | show |
| Series | Add the sphinx-copybutton extension | expand |
Hi Antonin, On 12/18/25 10:44 AM, Antonin Godard wrote: > This extension adds a copy button to code-blocks. > > It was added to the buildtools tarballs for documentation with > commit ebf14a6dc1a5 ("python3-sphinx-copybutton: add recipe") in > OE-Core, so the the Autobuilder can use it. > > Add it as a requirement in the docs, including in Ubuntu requirements. > According to https://pkgs.org/download/python3-sphinx-copybutton this > packages is provided under "python3-sphinx-copybutton" on all the > versions of Ubuntu we support. > Not enough sadly. Go to yocto-docs/documentation/_build/html/ref-manual/terms.html#term-Build-Directory and click the copy button. It'll copy the $ as well, and it shouldn't. First, I believe those code blocks should be console and not shell (or shell but we remove $ in front). Note that some file have their highlight language changed to shell, c.f. the toaster files, so a simple grep will not return everything that needs to be changed. Second, we may need to configure copybutton, e.g. https://sphinx-copybutton.readthedocs.io/en/latest/use.html#strip-and-configure-input-prompts-for-code-cells at the very least I guess. FYI on Fedora, I believe we should be able to use packages from the package feed for all docs since f41 (but since we say we still support f39 and f40, not applicable right now). Cheers, Quentin
Hi, On Thu Dec 18, 2025 at 4:50 PM CET, Quentin Schulz via lists.yoctoproject.org wrote: [...] > Second, we may need to configure copybutton, e.g. > https://sphinx-copybutton.readthedocs.io/en/latest/use.html#strip-and-configure-input-prompts-for-code-cells > at the very least I guess. Good point, I'll add "$ " as the copybutton_prompt_text, so the dollar sign isn't copied. That way code-blocks containing it will be stripped off when copying, and others that do not contain it can still be copied as-is. There's certainly improvements to be made to convert all existing shell code-blocks but I think this is already an improvement as-is. Thanks, Antonin
diff --git a/documentation/Pipfile b/documentation/Pipfile index 7ee1d22905..1fa2df31e7 100644 --- a/documentation/Pipfile +++ b/documentation/Pipfile @@ -9,6 +9,7 @@ verify_ssl = true sphinx = "*" sphinx-rtd-theme = "*" pyyaml = "*" +sphinx-copybutton = "*" [requires] python_version = "3" diff --git a/documentation/conf.py b/documentation/conf.py index c07b6c4199..860962e0dc 100644 --- a/documentation/conf.py +++ b/documentation/conf.py @@ -66,6 +66,7 @@ extensions = [ 'sphinx.ext.autosectionlabel', 'sphinx.ext.extlinks', 'sphinx.ext.intersphinx', + 'sphinx_copybutton', 'yocto-vars' ] autosectionlabel_prefix_document = True diff --git a/documentation/tools/host_packages_scripts/pip3_docs.sh b/documentation/tools/host_packages_scripts/pip3_docs.sh index fd6ad98053..907ecec55c 100644 --- a/documentation/tools/host_packages_scripts/pip3_docs.sh +++ b/documentation/tools/host_packages_scripts/pip3_docs.sh @@ -1 +1 @@ -sudo pip3 install sphinx sphinx_rtd_theme pyyaml +sudo pip3 install sphinx sphinx_rtd_theme pyyaml sphinx-copybutton diff --git a/documentation/tools/host_packages_scripts/ubuntu_docs.sh b/documentation/tools/host_packages_scripts/ubuntu_docs.sh index 67bb810946..c322b61e42 100644 --- a/documentation/tools/host_packages_scripts/ubuntu_docs.sh +++ b/documentation/tools/host_packages_scripts/ubuntu_docs.sh @@ -1 +1 @@ -sudo apt install git librsvg2-bin locales make python3-saneyaml python3-sphinx-rtd-theme sphinx +sudo apt install git librsvg2-bin locales make python3-saneyaml python3-sphinx-rtd-theme python3-sphinx-copybutton sphinx
This extension adds a copy button to code-blocks. It was added to the buildtools tarballs for documentation with commit ebf14a6dc1a5 ("python3-sphinx-copybutton: add recipe") in OE-Core, so the the Autobuilder can use it. Add it as a requirement in the docs, including in Ubuntu requirements. According to https://pkgs.org/download/python3-sphinx-copybutton this packages is provided under "python3-sphinx-copybutton" on all the versions of Ubuntu we support. Suggested-by: Quentin Schulz <quentin.schulz@cherry.de> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> --- documentation/Pipfile | 1 + documentation/conf.py | 1 + documentation/tools/host_packages_scripts/pip3_docs.sh | 2 +- documentation/tools/host_packages_scripts/ubuntu_docs.sh | 2 +- 4 files changed, 4 insertions(+), 2 deletions(-) --- base-commit: d84d916d4fc505e8386693306b6a90b0064c0518 change-id: 20251217-sphinx-copybutton-40e213333b4a