doc/sphinx/hxtool.py: add optional label argument to SRST directive
authorDavid Woodhouse <dwmw@amazon.co.uk>
Tue, 30 Jan 2024 19:01:43 +0000 (19:01 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 2 Feb 2024 13:51:58 +0000 (13:51 +0000)
commit1eeb432a953b0fc7744f119107230ae1892d2dd2
treeafc9c7e1afe735eed0d461a513f8d319433e49d5
parent185e3fdf8d106cb2f7d234d5e6453939c66db2a9
doc/sphinx/hxtool.py: add optional label argument to SRST directive

We can't just embed labels directly into files like qemu-options.hx which
are included from multiple top-level rST files, because Sphinx sees the
labels as duplicate: https://github.com/sphinx-doc/sphinx/issues/9707

So add an optional argument to the SRST directive which causes a label
of the form '.. _DOCNAME-HXFILE-LABEL:' to be emitted, where 'DOCNAME'
is the name of the top level rST file, 'HXFILE' is the filename of the
.hx file, and 'LABEL' is the text provided within the 'SRST()' directive.
Using the DOCNAME of the top-level rST document means that it is unique
even when the .hx file is included from two different documents, as is
the case for qemu-options.hx

Now where the Xen PV documentation refers to the documentation for the
-initrd command line option, it can emit a link directly to it as
'<system/invocation-qemu-options-initrd>'.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20240130190348.682912-1-dwmw2@infradead.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
docs/devel/docs.rst
docs/sphinx/hxtool.py
docs/system/i386/xen.rst
qemu-options.hx