[PATCH v3] docs: build an index page for the HTML docs

Stefan Hajnoczi posted 1 patch 4 years, 4 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20191219135620.1626608-1-stefanha@redhat.com
Test asan failed
Test checkpatch failed
Test FreeBSD failed
Test docker-mingw@fedora failed
Test docker-clang@ubuntu failed
Test docker-quick@centos7 failed
Makefile           |  6 ++++++
docs/index.html.in | 17 +++++++++++++++++
2 files changed, 23 insertions(+)
create mode 100644 docs/index.html.in
[PATCH v3] docs: build an index page for the HTML docs
Posted by Stefan Hajnoczi 4 years, 4 months ago
There is no index.html start page for the QEMU HTML documentation.  An
index page is needed so that documentation can be browsed easily on the
web.

This patch adds an index.html.in template file where the QEMU version
number is expanded.  It is written in HTML instead of using the existing
sphinx (rST) and texi documentation generators because they are
heavyweight and would make this harder.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
v3:
 * Add <html lang="en"> attribute to satisfy the W3 Validator [Thomas Huth]
---
 Makefile           |  6 ++++++
 docs/index.html.in | 17 +++++++++++++++++
 2 files changed, 23 insertions(+)
 create mode 100644 docs/index.html.in

diff --git a/Makefile b/Makefile
index 1361def144..9da9cfda73 100644
--- a/Makefile
+++ b/Makefile
@@ -347,6 +347,7 @@ DOCS+=docs/interop/qemu-qmp-ref.html docs/interop/qemu-qmp-ref.txt docs/interop/
 DOCS+=docs/interop/qemu-ga-ref.html docs/interop/qemu-ga-ref.txt docs/interop/qemu-ga-ref.7
 DOCS+=docs/qemu-block-drivers.7
 DOCS+=docs/qemu-cpu-models.7
+DOCS+=$(MANUAL_BUILDDIR)/index.html
 ifdef CONFIG_VIRTFS
 DOCS+=fsdev/virtfs-proxy-helper.1
 endif
@@ -819,6 +820,7 @@ install-sphinxdocs: sphinxdocs
 
 install-doc: $(DOCS) install-sphinxdocs
 	$(INSTALL_DIR) "$(DESTDIR)$(qemu_docdir)"
+	$(INSTALL_DATA) $(MANUAL_BUILDDIR)/index.html "$(DESTDIR)$(qemu_docdir)"
 	$(INSTALL_DATA) qemu-doc.html "$(DESTDIR)$(qemu_docdir)"
 	$(INSTALL_DATA) qemu-doc.txt "$(DESTDIR)$(qemu_docdir)"
 	$(INSTALL_DATA) docs/interop/qemu-qmp-ref.html "$(DESTDIR)$(qemu_docdir)"
@@ -1025,6 +1027,10 @@ $(MANUAL_BUILDDIR)/specs/index.html: $(call manual-deps,specs)
 $(MANUAL_BUILDDIR)/interop/qemu-ga.8: $(call manual-deps,interop)
 	$(call build-manual,interop,man)
 
+$(MANUAL_BUILDDIR)/index.html: $(SRC_PATH)/docs/index.html.in qemu-version.h
+	$(call quiet-command, sed "s|@@VERSION@@|${VERSION}|g" $< >$@, \
+             "GEN","$@")
+
 qemu-options.texi: $(SRC_PATH)/qemu-options.hx $(SRC_PATH)/scripts/hxtool
 	$(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -t < $< > $@,"GEN","$@")
 
diff --git a/docs/index.html.in b/docs/index.html.in
new file mode 100644
index 0000000000..94eb782cf7
--- /dev/null
+++ b/docs/index.html.in
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html lang="en">
+    <head>
+        <meta charset="UTF-8">
+        <title>QEMU @@VERSION@@ Documentation</title>
+    </head>
+    <body>
+        <h1>QEMU @@VERSION@@ Documentation</h1>
+        <ul>
+            <li><a href="qemu-doc.html">User Documentation</a></li>
+            <li><a href="qemu-qmp-ref.html">QMP Reference Manual</a></li>
+            <li><a href="qemu-ga-ref.html">Guest Agent Protocol Reference</a></li>
+            <li><a href="interop/index.html">System Emulation Management and Interoperability Guide</a></li>
+            <li><a href="specs/index.html">System Emulation Guest Hardware Specifications</a></li>
+        </ul>
+    </body>
+</html>
-- 
2.23.0


Re: [PATCH v3] docs: build an index page for the HTML docs
Posted by Thomas Huth 4 years, 3 months ago
On 19/12/2019 14.56, Stefan Hajnoczi wrote:
> There is no index.html start page for the QEMU HTML documentation.  An
> index page is needed so that documentation can be browsed easily on the
> web.
> 
> This patch adds an index.html.in template file where the QEMU version
> number is expanded.  It is written in HTML instead of using the existing
> sphinx (rST) and texi documentation generators because they are
> heavyweight and would make this harder.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
> v3:
>  * Add <html lang="en"> attribute to satisfy the W3 Validator [Thomas Huth]
> ---
>  Makefile           |  6 ++++++
>  docs/index.html.in | 17 +++++++++++++++++
>  2 files changed, 23 insertions(+)
>  create mode 100644 docs/index.html.in
> 
> diff --git a/Makefile b/Makefile
> index 1361def144..9da9cfda73 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -347,6 +347,7 @@ DOCS+=docs/interop/qemu-qmp-ref.html docs/interop/qemu-qmp-ref.txt docs/interop/
>  DOCS+=docs/interop/qemu-ga-ref.html docs/interop/qemu-ga-ref.txt docs/interop/qemu-ga-ref.7
>  DOCS+=docs/qemu-block-drivers.7
>  DOCS+=docs/qemu-cpu-models.7
> +DOCS+=$(MANUAL_BUILDDIR)/index.html
>  ifdef CONFIG_VIRTFS
>  DOCS+=fsdev/virtfs-proxy-helper.1
>  endif
> @@ -819,6 +820,7 @@ install-sphinxdocs: sphinxdocs
>  
>  install-doc: $(DOCS) install-sphinxdocs
>  	$(INSTALL_DIR) "$(DESTDIR)$(qemu_docdir)"
> +	$(INSTALL_DATA) $(MANUAL_BUILDDIR)/index.html "$(DESTDIR)$(qemu_docdir)"
>  	$(INSTALL_DATA) qemu-doc.html "$(DESTDIR)$(qemu_docdir)"
>  	$(INSTALL_DATA) qemu-doc.txt "$(DESTDIR)$(qemu_docdir)"
>  	$(INSTALL_DATA) docs/interop/qemu-qmp-ref.html "$(DESTDIR)$(qemu_docdir)"
> @@ -1025,6 +1027,10 @@ $(MANUAL_BUILDDIR)/specs/index.html: $(call manual-deps,specs)
>  $(MANUAL_BUILDDIR)/interop/qemu-ga.8: $(call manual-deps,interop)
>  	$(call build-manual,interop,man)
>  
> +$(MANUAL_BUILDDIR)/index.html: $(SRC_PATH)/docs/index.html.in qemu-version.h
> +	$(call quiet-command, sed "s|@@VERSION@@|${VERSION}|g" $< >$@, \
> +             "GEN","$@")
> +
>  qemu-options.texi: $(SRC_PATH)/qemu-options.hx $(SRC_PATH)/scripts/hxtool
>  	$(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -t < $< > $@,"GEN","$@")
>  
> diff --git a/docs/index.html.in b/docs/index.html.in
> new file mode 100644
> index 0000000000..94eb782cf7
> --- /dev/null
> +++ b/docs/index.html.in
> @@ -0,0 +1,17 @@
> +<!DOCTYPE html>
> +<html lang="en">
> +    <head>
> +        <meta charset="UTF-8">
> +        <title>QEMU @@VERSION@@ Documentation</title>
> +    </head>
> +    <body>
> +        <h1>QEMU @@VERSION@@ Documentation</h1>
> +        <ul>
> +            <li><a href="qemu-doc.html">User Documentation</a></li>
> +            <li><a href="qemu-qmp-ref.html">QMP Reference Manual</a></li>
> +            <li><a href="qemu-ga-ref.html">Guest Agent Protocol Reference</a></li>
> +            <li><a href="interop/index.html">System Emulation Management and Interoperability Guide</a></li>
> +            <li><a href="specs/index.html">System Emulation Guest Hardware Specifications</a></li>
> +        </ul>
> +    </body>
> +</html>
> 

Reviewed-by: Thomas Huth <thuth@redhat.com>