On Sat, Oct 01, 2016 at 08:01:29PM +0100, Stephen Finucane wrote:
> Since the move to GitHub, OVS has increasingly used Markdown for all of
> its documentation. This seems like a natural fit, given Markdown's low
> overhead and support in the GitHub web UI. However, Markdown is a
> documentation format, not a documentation system, and it starts to fall
> over as you add more and more documents and see the need for thing like
> cross-referencing, or insertion of partial documents into other docs.
> 
> I'd like to propose integrating the Sphinx documentation tool into the
> OVS documentation. This would mean converting most or all of the
> documentation to reStructuredText, but it would bring significant
> advantages including:
> 
> * native cross-referencing
> * multiple output formats (including pretty HTML)
> * automatic indexing/searching of docs
> * hierarchial structuring of the docs
> * DRY documents, through inclusion of partial docs in multiple files
> * ...
> 
> I chose rST+Sphinx due to the overwhelming popularity of the tool
> within other open source communities like the Linux kernel and
> OpenStack, which have all migrated documentation from other tools
> (DocBook, mostly) in recent times.
> 
> Documents located in the top-level directory should also be converted
> to rST to be consistent, but these should not include any Sphinx
> extensions to ensure that these continue to be readable on GitHub.
> 
> I've included some patches that show the kind of changes that would be
> necessary. I've actually converted far more of the docs (~40%?) at this
> point, but I'd like to gauge interest before continuing with the
> remainder. I'd also appreciate help from folks who would take a stab at
> coverting docs so I don't have to do it all by myself.
> 
> Feel free to direct any questions at me.

This seems quite nice.  I played with it for a few minutes and looked at
the generated HTML output, which is nicer than the current "make
dist-docs" output.

I assume that, if this were to be fully converted, then the generated
webpage would replace "make dist-docs" and point to all the
documentation that that currently outputs?  In particular, it would be
good to make sure that the manpages make it into the output.

I had to fold in the appended patch to get "make" to pass, to support
out-of-tree builds, and to make the license disappear from the "unit
tests" page.

--8<--------------------------cut here-------------------------->8--

diff --git a/Documentation/automake.mk b/Documentation/automake.mk
index d709e77..1d1f9ce 100644
--- a/Documentation/automake.mk
+++ b/Documentation/automake.mk
@@ -1,6 +1,25 @@
 docs += \
-       Documentation/committer-responsibilities.md \
+       Documentation/OVSDB-replication.md \
+       Documentation/_build/.keep \
+       Documentation/_static/.keep \
+       Documentation/_templates/.keep \
        Documentation/committer-grant-revocation.md \
+       Documentation/committer-responsibilities.md \
+       Documentation/conf.py \
+       Documentation/contributor-guide/committer-grant-revocation.rst \
+       Documentation/contributor-guide/committer-responsibilities.rst \
+       Documentation/contributor-guide/index.rst \
        Documentation/group-selection-method-property.txt \
-       Documentation/OVSDB-replication.md \
-       Documentation/release-process.md
+       Documentation/index.rst \
+       Documentation/install-guide/dpdk.rst \
+       Documentation/install-guide/general.rst \
+       Documentation/install-guide/index.rst \
+       Documentation/release-process.md \
+       Documentation/test-guide/code-analysis.rst \
+       Documentation/test-guide/datapath.rst \
+       Documentation/test-guide/dpdk.rst \
+       Documentation/test-guide/index.rst \
+       Documentation/test-guide/oftest.rst \
+       Documentation/test-guide/ryu.rst \
+       Documentation/test-guide/travis.rst \
+       Documentation/test-guide/unit.rst
diff --git a/Documentation/test-guide/unit.rst 
b/Documentation/test-guide/unit.rst
index 153352b..66aa469 100644
--- a/Documentation/test-guide/unit.rst
+++ b/Documentation/test-guide/unit.rst
@@ -1,5 +1,4 @@
 ..
-
       Licensed under the Apache License, Version 2.0 (the "License"); you may
       not use this file except in compliance with the License. You may obtain
       a copy of the License at
diff --git a/Makefile.am b/Makefile.am
index e05b1b1..b0cfa9e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -420,9 +420,9 @@ if LINUX_ENABLED
        cd datapath/linux && $(MAKE) modules_install
 endif
 
-SPHINXSOURCEDIR = Documentation
+SPHINXSOURCEDIR = $(srcdir)/Documentation
 SPHINXBUILD = sphinx-build
-SPHINXBUILDDIR = $(SPHINXSOURCEDIR)/_build
+SPHINXBUILDDIR = $(builddir)/Documentation/_build
 
 dist-docs:
        VERSION=$(VERSION) MAKE='$(MAKE)' $(srcdir)/build-aux/dist-docs 
$(srcdir) $(docs)

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to