All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Kashyap Chamarthy <kchamart@redhat.com>
Subject: [PATCH v3 14/33] docs: Create defs.rst.inc as a place to define substitutions
Date: Fri, 28 Feb 2020 15:36:00 +0000	[thread overview]
Message-ID: <20200228153619.9906-15-peter.maydell@linaro.org> (raw)
In-Reply-To: <20200228153619.9906-1-peter.maydell@linaro.org>

Rather than accumulating generally useful rST substitution
definitions in individual rST files, create a defs.rst.inc where we
can define these.  To start with it has the |qemu_system| definition
from qemu-block-drivers.rst.

Add a comment noting a pitfall where putting literal markup in the
definition of |qemu_system| makes it misrender manpage output; this
means the point-of-use must handle the literal markup (which is
almost always done by having it inside a parsed-literal block).

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 Makefile                           |  1 +
 docs/conf.py                       |  6 ++++++
 docs/defs.rst.inc                  | 11 +++++++++++
 docs/system/qemu-block-drivers.rst |  2 --
 4 files changed, 18 insertions(+), 2 deletions(-)
 create mode 100644 docs/defs.rst.inc

diff --git a/Makefile b/Makefile
index 7e60a435426..26bbd334438 100644
--- a/Makefile
+++ b/Makefile
@@ -1052,6 +1052,7 @@ sphinxdocs: $(MANUAL_BUILDDIR)/devel/index.html \
 build-manual = $(call quiet-command,CONFDIR="$(qemu_confdir)" $(SPHINX_BUILD) $(if $(V),,-q) -W -b $2 -D version=$(VERSION) -D release="$(FULL_VERSION)" -d .doctrees/$1-$2 $(SRC_PATH)/docs/$1 $(MANUAL_BUILDDIR)/$1 ,"SPHINX","$(MANUAL_BUILDDIR)/$1")
 # We assume all RST files in the manual's directory are used in it
 manual-deps = $(wildcard $(SRC_PATH)/docs/$1/*.rst) \
+              $(SRC_PATH)/docs/defs.rst.inc \
               $(SRC_PATH)/docs/$1/conf.py $(SRC_PATH)/docs/conf.py
 # Macro to write out the rule and dependencies for building manpages
 # Usage: $(call define-manpage-rule,manualname,manpage1 manpage2...[,extradeps])
diff --git a/docs/conf.py b/docs/conf.py
index 7588bf192ee..960043cb860 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -132,6 +132,12 @@ suppress_warnings = ["ref.option"]
 # style document building; our Makefile always sets the variable.
 confdir = os.getenv('CONFDIR', "/etc/qemu")
 rst_epilog = ".. |CONFDIR| replace:: ``" + confdir + "``\n"
+# We slurp in the defs.rst.inc and literally include it into rst_epilog,
+# because Sphinx's include:: directive doesn't work with absolute paths
+# and there isn't any one single relative path that will work for all
+# documents and for both via-make and direct sphinx-build invocation.
+with open(os.path.join(qemu_docdir, 'defs.rst.inc')) as f:
+    rst_epilog += f.read()
 
 # -- Options for HTML output ----------------------------------------------
 
diff --git a/docs/defs.rst.inc b/docs/defs.rst.inc
new file mode 100644
index 00000000000..ae80d2f35d8
--- /dev/null
+++ b/docs/defs.rst.inc
@@ -0,0 +1,11 @@
+..
+   Generally useful rST substitution definitions. This is included for
+   all rST files as part of the epilogue by docs/conf.py.  conf.py
+   also defines some dynamically generated substitutions like CONFDIR.
+
+   Note that |qemu_system| is intended to be used inside a parsed-literal
+   block: the definition must not include extra literal formatting with
+   ``..``: this works in the HTML output but the manpages will end up
+   misrendered with following normal text incorrectly in boldface.
+
+.. |qemu_system| replace:: qemu-system-x86_64
diff --git a/docs/system/qemu-block-drivers.rst b/docs/system/qemu-block-drivers.rst
index 7ca890ea23a..bd99d4fa8eb 100644
--- a/docs/system/qemu-block-drivers.rst
+++ b/docs/system/qemu-block-drivers.rst
@@ -3,8 +3,6 @@
 QEMU block drivers reference
 ============================
 
-.. |qemu_system| replace:: qemu-system-x86_64
-
 Synopsis
 --------
 
-- 
2.20.1



  parent reply	other threads:[~2020-02-28 15:43 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-28 15:35 [PATCH v3 00/33] Convert qemu-doc to rST Peter Maydell
2020-02-28 15:35 ` [PATCH v3 01/33] qemu-doc: convert user-mode emulation to a separate Sphinx manual Peter Maydell
2020-03-02 11:05   ` Alex Bennée
2020-02-28 15:35 ` [PATCH v3 02/33] qemu-doc: remove target OS documentation Peter Maydell
2020-03-02 11:05   ` Alex Bennée
2020-02-28 15:35 ` [PATCH v3 03/33] texi2pod: parse @include directives outside "@c man" blocks Peter Maydell
2020-03-02 11:07   ` Alex Bennée
2020-02-28 15:35 ` [PATCH v3 04/33] qemu-doc: split CPU models doc between MIPS and x86 parts Peter Maydell
2020-03-02 11:18   ` Alex Bennée
2020-02-28 15:35 ` [PATCH v3 05/33] qemu-doc: split qemu-doc.texi in multiple files Peter Maydell
2020-03-02 11:22   ` Alex Bennée
2020-03-02 12:16     ` Peter Maydell
2020-03-02 14:18       ` Alex Bennée
2020-02-28 15:35 ` [PATCH v3 06/33] qemu-doc: extract common system emulator documentation from the PC section Peter Maydell
2020-03-02 11:25   ` Alex Bennée
2020-02-28 15:35 ` [PATCH v3 07/33] qemu-doc: move system requirements chapter inside " Peter Maydell
2020-02-28 15:35 ` [PATCH v3 08/33] qemu-doc: split target sections to separate files Peter Maydell
2020-03-02 11:28   ` Alex Bennée
2020-02-28 15:35 ` [PATCH v3 09/33] qemu-doc: Remove the "CPU emulation" part of the "Implementation notes" Peter Maydell
2020-03-02 11:30   ` Alex Bennée
2020-02-28 15:35 ` [PATCH v3 10/33] qemu-doc: move qemu-tech.texi into main section Peter Maydell
2020-03-02 11:31   ` Alex Bennée
2020-02-28 15:35 ` [PATCH v3 11/33] qemu-doc: move included files to docs/system Peter Maydell
2020-03-02 11:31   ` Alex Bennée
2020-02-28 15:35 ` [PATCH v3 12/33] qemu-doc: remove indices other than findex Peter Maydell
2020-03-02 11:32   ` Alex Bennée
2020-02-28 15:35 ` [PATCH v3 13/33] docs/system: put qemu-block-drivers body in an included file Peter Maydell
2020-03-02 11:32   ` Alex Bennée
2020-02-28 15:36 ` Peter Maydell [this message]
2020-03-02 12:40   ` [PATCH v3 14/33] docs: Create defs.rst.inc as a place to define substitutions Kashyap Chamarthy
2020-02-28 15:36 ` [PATCH v3 15/33] docs/system: Convert qemu-cpu-models.texi to rST Peter Maydell
2020-03-02 12:08   ` Alex Bennée
2020-02-28 15:36 ` [PATCH v3 16/33] docs/system: Convert security.texi to rST format Peter Maydell
2020-03-02 12:10   ` Alex Bennée
2020-02-28 15:36 ` [PATCH v3 17/33] docs/system: convert managed startup to rST Peter Maydell
2020-03-02 12:10   ` Alex Bennée
2020-02-28 15:36 ` [PATCH v3 18/33] docs/system: convert the documentation of deprecated features " Peter Maydell
2020-03-02 12:12   ` Alex Bennée
2020-02-28 15:36 ` [PATCH v3 19/33] docs/system: convert Texinfo documentation " Peter Maydell
2020-03-02 12:13   ` Alex Bennée
2020-02-28 15:36 ` [PATCH v3 20/33] hmp-commands.hx: Add rST documentation fragments Peter Maydell
2020-03-02 12:16   ` Alex Bennée
2020-02-28 15:36 ` [PATCH v3 21/33] hmp-commands-info.hx: " Peter Maydell
2020-03-02 12:16   ` Alex Bennée
2020-02-28 15:36 ` [PATCH v3 22/33] doc/scripts/hxtool.py: Strip trailing ':' from DEFHEADING/ARCHHEADING Peter Maydell
2020-03-02 12:17   ` Alex Bennée
2020-02-28 15:36 ` [PATCH v3 23/33] docs: Roll semihosting option information into qemu-options.hx Peter Maydell
2020-03-02 12:18   ` Alex Bennée
2020-02-28 15:36 ` [PATCH v3 24/33] docs: Roll -prom-env and -g target-specific info " Peter Maydell
2020-03-02 12:19   ` Alex Bennée
2020-02-28 15:36 ` [PATCH v3 25/33] scripts/hxtool-conv: Archive script used in qemu-options.hx conversion Peter Maydell
2020-03-02 12:19   ` Alex Bennée
2020-02-28 15:36 ` [PATCH v3 26/33] qemu-options.hx: Add rST documentation fragments Peter Maydell
2020-03-02 12:20   ` Alex Bennée
2020-02-28 15:36 ` [PATCH v3 27/33] qemu-options.hx: Fix up the autogenerated rST Peter Maydell
2020-03-02 12:23   ` Alex Bennée
2020-02-28 15:36 ` [PATCH v3 28/33] docs: Split out sections for the manpage into .rst.inc files Peter Maydell
2020-03-02 12:24   ` Alex Bennée
2020-02-28 15:36 ` [PATCH v3 29/33] docs: Generate qemu.1 manpage with Sphinx Peter Maydell
2020-03-02 12:24   ` Alex Bennée
2020-02-28 15:36 ` [PATCH v3 30/33] ui/cocoa.m: Update documentation file and pathname Peter Maydell
2020-03-02 12:28   ` Alex Bennée
2020-02-28 15:36 ` [PATCH v3 31/33] docs: Stop building qemu-doc Peter Maydell
2020-03-02 12:32   ` Alex Bennée
2020-03-11 14:53   ` Markus Armbruster
2020-03-11 15:15     ` Peter Maydell
2020-03-12  6:06       ` Markus Armbruster
2020-03-12 10:11         ` Peter Maydell
2020-03-12 13:16           ` Markus Armbruster
2020-02-28 15:36 ` [PATCH v3 32/33] docs: Remove old texinfo sources Peter Maydell
2020-03-02 12:34   ` Alex Bennée
2020-03-02 12:42   ` Kashyap Chamarthy
2020-02-28 15:36 ` [PATCH v3 33/33] *.hx: Remove all the STEXI/ETEXI blocks Peter Maydell
2020-03-02 12:36   ` Alex Bennée
2020-02-28 18:36 ` [PATCH v3 00/33] Convert qemu-doc to rST Peter Maydell
2020-02-28 21:20   ` Stefan Weil
2020-02-29 11:50     ` Peter Maydell
2020-03-02 12:41 ` Alex Bennée
2020-03-03 17:35 ` Peter Maydell
2020-03-03 17:44   ` Paolo Bonzini
2020-03-03 18:19   ` Alex Bennée
2020-03-04  9:12   ` Kashyap Chamarthy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200228153619.9906-15-peter.maydell@linaro.org \
    --to=peter.maydell@linaro.org \
    --cc=kchamart@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.