* [maintainer-tools PATCH v2 0/4] add Sphinx doc build to maintainer tools
@ 2017-08-10 9:39 Jani Nikula
2017-08-10 9:39 ` [maintainer-tools PATCH v2 1/4] doc: load WaveDrom scripts directly from CDN instead of bundling Jani Nikula
` (4 more replies)
0 siblings, 5 replies; 12+ messages in thread
From: Jani Nikula @ 2017-08-10 9:39 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
v2 of [1], with sphinx_rtd_theme and some tweaks to make it nicer.
BR,
Jani.
[1] http://mid.mail-archive.com/cover.1502312576.git.jani.nikula@intel.com
Jani Nikula (4):
doc: load WaveDrom scripts directly from CDN instead of bundling
doc: provide scrollbars for overflowing wavedrom timeline content
doc: include .svg using the image directive, not raw html
doc: build documentation using Sphinx
.gitignore | 1 +
Makefile | 61 ++++++++++++-
conf.py | 236 +++++++++++++++++++++++++++++++++++++++++++++++++
drm-intel-timeline.rst | 22 ++---
drm-intel.rst | 4 +-
drm-misc-timeline.rst | 23 ++---
drm-misc.rst | 4 +-
index.rst | 17 ++++
8 files changed, 325 insertions(+), 43 deletions(-)
create mode 100644 conf.py
create mode 100644 index.rst
--
2.11.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 12+ messages in thread* [maintainer-tools PATCH v2 1/4] doc: load WaveDrom scripts directly from CDN instead of bundling 2017-08-10 9:39 [maintainer-tools PATCH v2 0/4] add Sphinx doc build to maintainer tools Jani Nikula @ 2017-08-10 9:39 ` Jani Nikula 2017-08-10 20:26 ` Rodrigo Vivi 2017-08-10 9:39 ` [maintainer-tools PATCH v2 2/4] doc: provide scrollbars for overflowing wavedrom timeline content Jani Nikula ` (3 subsequent siblings) 4 siblings, 1 reply; 12+ messages in thread From: Jani Nikula @ 2017-08-10 9:39 UTC (permalink / raw) To: intel-gfx; +Cc: jani.nikula Way back when the WaveDrom stuff was added, the scripts could only be accessed over http. This caused issues with sites served over https and modern browsers rightly complaining about mixed content. This was worked around by downloading the WaveDrom scripts over http at build time, and bundling them inline into the http. Now that WaveDrom is available over https, simplify the hackery, and let the user's browser load the scripts directly at page load time. Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- drm-intel-timeline.rst | 20 +++----------------- drm-misc-timeline.rst | 21 +++------------------ 2 files changed, 6 insertions(+), 35 deletions(-) diff --git a/drm-intel-timeline.rst b/drm-intel-timeline.rst index 3ab39afd5788..fe69fd374cf6 100644 --- a/drm-intel-timeline.rst +++ b/drm-intel-timeline.rst @@ -1,22 +1,8 @@ .. raw:: html - <script type="text/javascript"> - /* Embedded WaveDrom skin from http://wavedrom.com/skins/default.js */ - -.. raw:: html - :url: http://wavedrom.com/skins/default.js - -.. raw:: html - - </script> - <script type="text/javascript"> - /* Embedded WaveDrom engine from http://wavedrom.com/WaveDrom.js */ - -.. raw:: html - :url: http://wavedrom.com/WaveDrom.js - -.. raw:: html - + <script src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/1.4.1/skins/default.js" type="text/javascript"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/1.4.1/wavedrom.min.js" type="text/javascript"></script> + <script> function init() { WaveDrom.ProcessAll(); } diff --git a/drm-misc-timeline.rst b/drm-misc-timeline.rst index a9a80d6a4cfb..76eb780ebd0a 100644 --- a/drm-misc-timeline.rst +++ b/drm-misc-timeline.rst @@ -1,27 +1,13 @@ .. raw:: html - <script type="text/javascript"> - /* Embedded WaveDrom skin from http://wavedrom.com/skins/default.js */ - -.. raw:: html - :url: http://wavedrom.com/skins/default.js - -.. raw:: html - + <script src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/1.4.1/skins/default.js" type="text/javascript"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/1.4.1/wavedrom.min.js" type="text/javascript"></script> + <script> function init() { WaveDrom.ProcessAll(); } window.onload = init; </script> - <script type="text/javascript"> - /* Embedded WaveDrom engine from http://wavedrom.com/WaveDrom.js */ - -.. raw:: html - :url: http://wavedrom.com/WaveDrom.js - -.. raw:: html - - </script> <script type="WaveDrom"> .. raw:: html @@ -30,4 +16,3 @@ .. raw:: html </script> - -- 2.11.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [maintainer-tools PATCH v2 1/4] doc: load WaveDrom scripts directly from CDN instead of bundling 2017-08-10 9:39 ` [maintainer-tools PATCH v2 1/4] doc: load WaveDrom scripts directly from CDN instead of bundling Jani Nikula @ 2017-08-10 20:26 ` Rodrigo Vivi 0 siblings, 0 replies; 12+ messages in thread From: Rodrigo Vivi @ 2017-08-10 20:26 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx On Thu, Aug 10, 2017 at 12:39:46PM +0300, Jani Nikula wrote: > Way back when the WaveDrom stuff was added, the scripts could only be > accessed over http. This caused issues with sites served over https and > modern browsers rightly complaining about mixed content. This was worked > around by downloading the WaveDrom scripts over http at build time, and > bundling them inline into the http. > > Now that WaveDrom is available over https, simplify the hackery, and let > the user's browser load the scripts directly at page load time. > > Signed-off-by: Jani Nikula <jani.nikula@intel.com> > --- > drm-intel-timeline.rst | 20 +++----------------- > drm-misc-timeline.rst | 21 +++------------------ > 2 files changed, 6 insertions(+), 35 deletions(-) > > diff --git a/drm-intel-timeline.rst b/drm-intel-timeline.rst > index 3ab39afd5788..fe69fd374cf6 100644 > --- a/drm-intel-timeline.rst > +++ b/drm-intel-timeline.rst > @@ -1,22 +1,8 @@ > .. raw:: html > > - <script type="text/javascript"> > - /* Embedded WaveDrom skin from http://wavedrom.com/skins/default.js */ > - > -.. raw:: html > - :url: http://wavedrom.com/skins/default.js > - > -.. raw:: html > - > - </script> > - <script type="text/javascript"> > - /* Embedded WaveDrom engine from http://wavedrom.com/WaveDrom.js */ > - > -.. raw:: html > - :url: http://wavedrom.com/WaveDrom.js > - > -.. raw:: html > - > + <script src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/1.4.1/skins/default.js" type="text/javascript"></script> > + <script src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/1.4.1/wavedrom.min.js" type="text/javascript"></script> thanks for confirming they are the same Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> > + <script> > function init() { > WaveDrom.ProcessAll(); > } > diff --git a/drm-misc-timeline.rst b/drm-misc-timeline.rst > index a9a80d6a4cfb..76eb780ebd0a 100644 > --- a/drm-misc-timeline.rst > +++ b/drm-misc-timeline.rst > @@ -1,27 +1,13 @@ > .. raw:: html > > - <script type="text/javascript"> > - /* Embedded WaveDrom skin from http://wavedrom.com/skins/default.js */ > - > -.. raw:: html > - :url: http://wavedrom.com/skins/default.js > - > -.. raw:: html > - > + <script src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/1.4.1/skins/default.js" type="text/javascript"></script> > + <script src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/1.4.1/wavedrom.min.js" type="text/javascript"></script> > + <script> > function init() { > WaveDrom.ProcessAll(); > } > window.onload = init; > </script> > - <script type="text/javascript"> > - /* Embedded WaveDrom engine from http://wavedrom.com/WaveDrom.js */ > - > -.. raw:: html > - :url: http://wavedrom.com/WaveDrom.js > - > -.. raw:: html > - > - </script> > <script type="WaveDrom"> > > .. raw:: html > @@ -30,4 +16,3 @@ > .. raw:: html > > </script> > - > -- > 2.11.0 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 12+ messages in thread
* [maintainer-tools PATCH v2 2/4] doc: provide scrollbars for overflowing wavedrom timeline content 2017-08-10 9:39 [maintainer-tools PATCH v2 0/4] add Sphinx doc build to maintainer tools Jani Nikula 2017-08-10 9:39 ` [maintainer-tools PATCH v2 1/4] doc: load WaveDrom scripts directly from CDN instead of bundling Jani Nikula @ 2017-08-10 9:39 ` Jani Nikula 2017-08-10 16:31 ` Sean Paul 2017-08-10 9:39 ` [maintainer-tools PATCH v2 3/4] doc: include .svg using the image directive, not raw html Jani Nikula ` (2 subsequent siblings) 4 siblings, 1 reply; 12+ messages in thread From: Jani Nikula @ 2017-08-10 9:39 UTC (permalink / raw) To: intel-gfx; +Cc: jani.nikula Wrap wavedrom timelines in <div style="overflow-x:auto"> (idea copied from the wavedrom sphinx extension) to provide scrollbars for overflowing content. This is useful even with rst2html. Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- drm-intel-timeline.rst | 2 ++ drm-misc-timeline.rst | 2 ++ 2 files changed, 4 insertions(+) diff --git a/drm-intel-timeline.rst b/drm-intel-timeline.rst index fe69fd374cf6..a0327d360ceb 100644 --- a/drm-intel-timeline.rst +++ b/drm-intel-timeline.rst @@ -8,6 +8,7 @@ } window.onload = init; </script> + <div style="overflow-x:auto"> <script type="WaveDrom"> .. raw:: html @@ -16,3 +17,4 @@ .. raw:: html </script> + </div> diff --git a/drm-misc-timeline.rst b/drm-misc-timeline.rst index 76eb780ebd0a..bd143aa8256f 100644 --- a/drm-misc-timeline.rst +++ b/drm-misc-timeline.rst @@ -8,6 +8,7 @@ } window.onload = init; </script> + <div style="overflow-x:auto"> <script type="WaveDrom"> .. raw:: html @@ -16,3 +17,4 @@ .. raw:: html </script> + </div> -- 2.11.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [maintainer-tools PATCH v2 2/4] doc: provide scrollbars for overflowing wavedrom timeline content 2017-08-10 9:39 ` [maintainer-tools PATCH v2 2/4] doc: provide scrollbars for overflowing wavedrom timeline content Jani Nikula @ 2017-08-10 16:31 ` Sean Paul 0 siblings, 0 replies; 12+ messages in thread From: Sean Paul @ 2017-08-10 16:31 UTC (permalink / raw) To: Jani Nikula; +Cc: Intel Graphics Development On Thu, Aug 10, 2017 at 5:39 AM, Jani Nikula <jani.nikula@intel.com> wrote: > Wrap wavedrom timelines in <div style="overflow-x:auto"> (idea copied > from the wavedrom sphinx extension) to provide scrollbars for > overflowing content. This is useful even with rst2html. > > Signed-off-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Sean Paul <seanpaul@chromium.org> > --- > drm-intel-timeline.rst | 2 ++ > drm-misc-timeline.rst | 2 ++ > 2 files changed, 4 insertions(+) > > diff --git a/drm-intel-timeline.rst b/drm-intel-timeline.rst > index fe69fd374cf6..a0327d360ceb 100644 > --- a/drm-intel-timeline.rst > +++ b/drm-intel-timeline.rst > @@ -8,6 +8,7 @@ > } > window.onload = init; > </script> > + <div style="overflow-x:auto"> > <script type="WaveDrom"> > > .. raw:: html > @@ -16,3 +17,4 @@ > .. raw:: html > > </script> > + </div> > diff --git a/drm-misc-timeline.rst b/drm-misc-timeline.rst > index 76eb780ebd0a..bd143aa8256f 100644 > --- a/drm-misc-timeline.rst > +++ b/drm-misc-timeline.rst > @@ -8,6 +8,7 @@ > } > window.onload = init; > </script> > + <div style="overflow-x:auto"> > <script type="WaveDrom"> > > .. raw:: html > @@ -16,3 +17,4 @@ > .. raw:: html > > </script> > + </div> > -- > 2.11.0 > _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 12+ messages in thread
* [maintainer-tools PATCH v2 3/4] doc: include .svg using the image directive, not raw html 2017-08-10 9:39 [maintainer-tools PATCH v2 0/4] add Sphinx doc build to maintainer tools Jani Nikula 2017-08-10 9:39 ` [maintainer-tools PATCH v2 1/4] doc: load WaveDrom scripts directly from CDN instead of bundling Jani Nikula 2017-08-10 9:39 ` [maintainer-tools PATCH v2 2/4] doc: provide scrollbars for overflowing wavedrom timeline content Jani Nikula @ 2017-08-10 9:39 ` Jani Nikula 2017-08-10 15:13 ` Rodrigo Vivi 2017-08-10 16:32 ` Sean Paul 2017-08-10 9:39 ` [maintainer-tools PATCH v2 4/4] doc: build documentation using Sphinx Jani Nikula 2017-08-10 9:53 ` [maintainer-tools PATCH v2 0/4] add Sphinx doc build to maintainer tools Jani Nikula 4 siblings, 2 replies; 12+ messages in thread From: Jani Nikula @ 2017-08-10 9:39 UTC (permalink / raw) To: intel-gfx; +Cc: jani.nikula I have no idea what I was thinking when I added them as raw html. Using the image directive should allow browsers to handle the page layout better. Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- drm-intel.rst | 4 +--- drm-misc.rst | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/drm-intel.rst b/drm-intel.rst index 43a6f4f28149..e9b4fe3e3214 100644 --- a/drm-intel.rst +++ b/drm-intel.rst @@ -133,9 +133,7 @@ Patch and Merge Flow This chart describes the flow of patches to drm-intel branches, and the merge flow of the commits to drm-upstream and Linus' tree. -.. Note: This requires SVG support in the browser. -.. raw:: html - :file: drm-intel-flow.svg +.. image:: drm-intel-flow.svg Legend: Green = Linus. Red = drm-upstream. Blue = drm-intel. Black = patches. Yellow = Additional trees from other subsystems. diff --git a/drm-misc.rst b/drm-misc.rst index 05ccefb4ae23..c5f5c0171420 100644 --- a/drm-misc.rst +++ b/drm-misc.rst @@ -79,9 +79,7 @@ Where Do I Apply My Patch? Consult this handy flowchart to determine the best branch for your patch. If in doubt, apply to drm-misc-next or ask your favorite maintainer on IRC. -.. Note: This requires SVG support in the browser. -.. raw:: html - :file: drm-misc-commit-flow.svg +.. image:: drm-misc-commit-flow.svg Merge Timeline ~~~~~~~~~~~~~~ -- 2.11.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [maintainer-tools PATCH v2 3/4] doc: include .svg using the image directive, not raw html 2017-08-10 9:39 ` [maintainer-tools PATCH v2 3/4] doc: include .svg using the image directive, not raw html Jani Nikula @ 2017-08-10 15:13 ` Rodrigo Vivi 2017-08-10 16:32 ` Sean Paul 1 sibling, 0 replies; 12+ messages in thread From: Rodrigo Vivi @ 2017-08-10 15:13 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx It is indeed much better. Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> On Thu, Aug 10, 2017 at 2:39 AM, Jani Nikula <jani.nikula@intel.com> wrote: > I have no idea what I was thinking when I added them as raw html. Using > the image directive should allow browsers to handle the page layout > better. > > Signed-off-by: Jani Nikula <jani.nikula@intel.com> > --- > drm-intel.rst | 4 +--- > drm-misc.rst | 4 +--- > 2 files changed, 2 insertions(+), 6 deletions(-) > > diff --git a/drm-intel.rst b/drm-intel.rst > index 43a6f4f28149..e9b4fe3e3214 100644 > --- a/drm-intel.rst > +++ b/drm-intel.rst > @@ -133,9 +133,7 @@ Patch and Merge Flow > This chart describes the flow of patches to drm-intel branches, and the merge > flow of the commits to drm-upstream and Linus' tree. > > -.. Note: This requires SVG support in the browser. > -.. raw:: html > - :file: drm-intel-flow.svg > +.. image:: drm-intel-flow.svg > > Legend: Green = Linus. Red = drm-upstream. Blue = drm-intel. Black = patches. > Yellow = Additional trees from other subsystems. > diff --git a/drm-misc.rst b/drm-misc.rst > index 05ccefb4ae23..c5f5c0171420 100644 > --- a/drm-misc.rst > +++ b/drm-misc.rst > @@ -79,9 +79,7 @@ Where Do I Apply My Patch? > Consult this handy flowchart to determine the best branch for your patch. If in > doubt, apply to drm-misc-next or ask your favorite maintainer on IRC. > > -.. Note: This requires SVG support in the browser. > -.. raw:: html > - :file: drm-misc-commit-flow.svg > +.. image:: drm-misc-commit-flow.svg > > Merge Timeline > ~~~~~~~~~~~~~~ > -- > 2.11.0 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Rodrigo Vivi Blog: http://blog.vivi.eng.br _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [maintainer-tools PATCH v2 3/4] doc: include .svg using the image directive, not raw html 2017-08-10 9:39 ` [maintainer-tools PATCH v2 3/4] doc: include .svg using the image directive, not raw html Jani Nikula 2017-08-10 15:13 ` Rodrigo Vivi @ 2017-08-10 16:32 ` Sean Paul 1 sibling, 0 replies; 12+ messages in thread From: Sean Paul @ 2017-08-10 16:32 UTC (permalink / raw) To: Jani Nikula; +Cc: Intel Graphics Development On Thu, Aug 10, 2017 at 5:39 AM, Jani Nikula <jani.nikula@intel.com> wrote: > I have no idea what I was thinking when I added them as raw html. Using > the image directive should allow browsers to handle the page layout > better. > > Signed-off-by: Jani Nikula <jani.nikula@intel.com> TIL! Thanks for the patches. Reviewed-by: Sean Paul <seanpaul@chromium.org> > --- > drm-intel.rst | 4 +--- > drm-misc.rst | 4 +--- > 2 files changed, 2 insertions(+), 6 deletions(-) > > diff --git a/drm-intel.rst b/drm-intel.rst > index 43a6f4f28149..e9b4fe3e3214 100644 > --- a/drm-intel.rst > +++ b/drm-intel.rst > @@ -133,9 +133,7 @@ Patch and Merge Flow > This chart describes the flow of patches to drm-intel branches, and the merge > flow of the commits to drm-upstream and Linus' tree. > > -.. Note: This requires SVG support in the browser. > -.. raw:: html > - :file: drm-intel-flow.svg > +.. image:: drm-intel-flow.svg > > Legend: Green = Linus. Red = drm-upstream. Blue = drm-intel. Black = patches. > Yellow = Additional trees from other subsystems. > diff --git a/drm-misc.rst b/drm-misc.rst > index 05ccefb4ae23..c5f5c0171420 100644 > --- a/drm-misc.rst > +++ b/drm-misc.rst > @@ -79,9 +79,7 @@ Where Do I Apply My Patch? > Consult this handy flowchart to determine the best branch for your patch. If in > doubt, apply to drm-misc-next or ask your favorite maintainer on IRC. > > -.. Note: This requires SVG support in the browser. > -.. raw:: html > - :file: drm-misc-commit-flow.svg > +.. image:: drm-misc-commit-flow.svg > > Merge Timeline > ~~~~~~~~~~~~~~ > -- > 2.11.0 > _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 12+ messages in thread
* [maintainer-tools PATCH v2 4/4] doc: build documentation using Sphinx 2017-08-10 9:39 [maintainer-tools PATCH v2 0/4] add Sphinx doc build to maintainer tools Jani Nikula ` (2 preceding siblings ...) 2017-08-10 9:39 ` [maintainer-tools PATCH v2 3/4] doc: include .svg using the image directive, not raw html Jani Nikula @ 2017-08-10 9:39 ` Jani Nikula 2017-08-10 20:30 ` Rodrigo Vivi 2017-08-10 9:53 ` [maintainer-tools PATCH v2 0/4] add Sphinx doc build to maintainer tools Jani Nikula 4 siblings, 1 reply; 12+ messages in thread From: Jani Nikula @ 2017-08-10 9:39 UTC (permalink / raw) To: intel-gfx; +Cc: jani.nikula Based on Sphinx-quickstart, with existing and generated Makefiles merged together. This makes the rst2html and Sphinx builds work side by side. Plain 'make' continues to use rst2html, and 'make html' and friends use Sphinx. The intention is to keep both for a transition period so that we can have documentation autobuilders updated. Once we're fully converted to Sphinx, we can share the common parts of drm-intel and drm-misc documentation better, and have more coherent documentation overall. We can also start looking into using the graphviz (Sphinx builtin) and WaveDrom (3rd party) extensions. For now, we use the same old clunky methods for including them. v2: require Sphinx 1.3, use sphinx_rtd_theme Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- .gitignore | 1 + Makefile | 61 +++++++++++++++- conf.py | 236 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ index.rst | 17 +++++ 4 files changed, 313 insertions(+), 2 deletions(-) create mode 100644 conf.py create mode 100644 index.rst diff --git a/.gitignore b/.gitignore index 35ed071ca482..a176bd76eef5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +_build drm-intel-flow.svg drm-misc-commit-flow.svg *.html diff --git a/Makefile b/Makefile index 7059eec42720..40b7ee6e2b32 100644 --- a/Makefile +++ b/Makefile @@ -4,6 +4,20 @@ # the wavedrom json, copy-pasting to and from http://wavedrom.com/editor.html is # handy as it shows the result live. +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = _build + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: all all: drm-intel.html dim.html drm-misc.html %.svg: %.dot @@ -41,7 +55,50 @@ mancheck: check: shellcheck mancheck all +.PHONY: clean clean: - rm -f drm-intel.html drm-intel-flow.svg drm-misc-commit-flow.svg dim.html drm-misc.html + rm -rf drm-intel.html drm-intel-flow.svg drm-misc-commit-flow.svg dim.html drm-misc.html $(BUILDDIR) + +.PHONY: help +help: + @echo "Please use \`make <target>' where <target> is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + +# FIXME: This works for the first build, but not for updates. Look into using +# Sphinx extensions for both the graphviz and wavedrom parts. +html dirhtml singlehtml linkcheck doctest: drm-intel-flow.svg drm-misc-commit-flow.svg + +.PHONY: html +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +.PHONY: dirhtml +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +.PHONY: singlehtml +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +.PHONY: linkcheck +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." -.PHONY: all clean +.PHONY: doctest +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." diff --git a/conf.py b/conf.py new file mode 100644 index 000000000000..385c2aa8ff66 --- /dev/null +++ b/conf.py @@ -0,0 +1,236 @@ +# -*- coding: utf-8 -*- +# +# DRM Maintainer Tools documentation build configuration file, created by +# sphinx-quickstart on Wed Aug 9 17:57:16 2017. +# +# This file is execfile()d with the current directory set to its +# containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + +# -- General configuration ------------------------------------------------ + +# If your documentation needs a minimal Sphinx version, state it here. +# 1.3 has builtin sphinx_rtd_theme +needs_sphinx = '1.3' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +# source_suffix = ['.rst', '.md'] +source_suffix = '.rst' + +# The encoding of source files. +# +# source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'DRM Maintainer Tools' +copyright = u'2012-2017, Intel Corporation' +author = u'Jani Nikula, Daniel Vetter, and others' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = u'1.0' +# The full version, including alpha/beta/rc tags. +release = u'1.0' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +# +# today = '' +# +# Else, today_fmt is used as the format for a strftime call. +# +# today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This patterns also effect to html_static_path and html_extra_path +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] + +# The reST default role (used for this markup: `text`) to use for all +# documents. +# +# default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +# +# add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +# +# add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +# +# show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# A list of ignored prefixes for module index sorting. +# modindex_common_prefix = [] + +# If true, keep warnings as "system message" paragraphs in the built documents. +# keep_warnings = False + +# If true, `todo` and `todoList` produce output, else they produce nothing. +todo_include_todos = False + + +# -- Options for HTML output ---------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'sphinx_rtd_theme' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +# +# html_theme_options = {} + +# Add any paths that contain custom themes here, relative to this directory. +# html_theme_path = [] + +# The name for this set of Sphinx documents. +# "<project> v<release> documentation" by default. +# +# html_title = u'DRM Maintainer Tools v1.0' + +# A shorter title for the navigation bar. Default is the same as html_title. +# +# html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +# +# html_logo = None + +# The name of an image file (relative to this directory) to use as a favicon of +# the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +# +# html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Add any extra paths that contain custom files (such as robots.txt or +# .htaccess) here, relative to this directory. These files are copied +# directly to the root of the documentation. +# +# html_extra_path = [] + +# If not None, a 'Last updated on:' timestamp is inserted at every page +# bottom, using the given strftime format. +# The empty string is equivalent to '%b %d, %Y'. +# +# html_last_updated_fmt = None + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +# +# html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +# +# html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +# +# html_additional_pages = {} + +# If false, no module index is generated. +# +# html_domain_indices = True + +# If false, no index is generated. +# +# html_use_index = True + +# If true, the index is split into individual pages for each letter. +# +# html_split_index = False + +# If true, links to the reST sources are added to the pages. +# +# html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +# +# html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +# +# html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a <link> tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +# +# html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +# html_file_suffix = None + +# Language to be used for generating the HTML full-text search index. +# Sphinx supports the following languages: +# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' +# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr', 'zh' +# +# html_search_language = 'en' + +# A dictionary with options for the search language support, empty by default. +# 'ja' uses this config value. +# 'zh' user can custom change `jieba` dictionary path. +# +# html_search_options = {'type': 'default'} + +# The name of a javascript file (relative to the configuration directory) that +# implements a search results scorer. If empty, the default will be used. +# +# html_search_scorer = 'scorer.js' + +# Output file base name for HTML help builder. +htmlhelp_basename = 'DRMMaintainerToolsdoc' diff --git a/index.rst b/index.rst new file mode 100644 index 000000000000..d8b6d4897c45 --- /dev/null +++ b/index.rst @@ -0,0 +1,17 @@ +DRM Maintainer Tools +==================== + +Contents: + +.. toctree:: + :maxdepth: 2 + + drm-misc + drm-intel + dim + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` -- 2.11.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [maintainer-tools PATCH v2 4/4] doc: build documentation using Sphinx 2017-08-10 9:39 ` [maintainer-tools PATCH v2 4/4] doc: build documentation using Sphinx Jani Nikula @ 2017-08-10 20:30 ` Rodrigo Vivi 2017-08-11 5:30 ` Jani Nikula 0 siblings, 1 reply; 12+ messages in thread From: Rodrigo Vivi @ 2017-08-10 20:30 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx On Thu, Aug 10, 2017 at 12:39:49PM +0300, Jani Nikula wrote: > Based on Sphinx-quickstart, with existing and generated Makefiles merged > together. > > This makes the rst2html and Sphinx builds work side by side. Plain > 'make' continues to use rst2html, and 'make html' and friends use > Sphinx. The intention is to keep both for a transition period so that we > can have documentation autobuilders updated. > > Once we're fully converted to Sphinx, we can share the common parts of > drm-intel and drm-misc documentation better, and have more coherent > documentation overall. We can also start looking into using the graphviz > (Sphinx builtin) and WaveDrom (3rd party) extensions. For now, we use > the same old clunky methods for including them. > > v2: require Sphinx 1.3, use sphinx_rtd_theme Thanks! :) Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com> > > Signed-off-by: Jani Nikula <jani.nikula@intel.com> > --- > .gitignore | 1 + > Makefile | 61 +++++++++++++++- > conf.py | 236 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > index.rst | 17 +++++ > 4 files changed, 313 insertions(+), 2 deletions(-) > create mode 100644 conf.py > create mode 100644 index.rst > > diff --git a/.gitignore b/.gitignore > index 35ed071ca482..a176bd76eef5 100644 > --- a/.gitignore > +++ b/.gitignore > @@ -1,3 +1,4 @@ > +_build > drm-intel-flow.svg > drm-misc-commit-flow.svg > *.html > diff --git a/Makefile b/Makefile > index 7059eec42720..40b7ee6e2b32 100644 > --- a/Makefile > +++ b/Makefile > @@ -4,6 +4,20 @@ > # the wavedrom json, copy-pasting to and from http://wavedrom.com/editor.html is > # handy as it shows the result live. > > +# You can set these variables from the command line. > +SPHINXOPTS = > +SPHINXBUILD = sphinx-build > +PAPER = > +BUILDDIR = _build > + > +# Internal variables. > +PAPEROPT_a4 = -D latex_paper_size=a4 > +PAPEROPT_letter = -D latex_paper_size=letter > +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . > +# the i18n builder cannot share the environment and doctrees with the others > +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . > + > +.PHONY: all > all: drm-intel.html dim.html drm-misc.html > > %.svg: %.dot > @@ -41,7 +55,50 @@ mancheck: > > check: shellcheck mancheck all > > +.PHONY: clean > clean: > - rm -f drm-intel.html drm-intel-flow.svg drm-misc-commit-flow.svg dim.html drm-misc.html > + rm -rf drm-intel.html drm-intel-flow.svg drm-misc-commit-flow.svg dim.html drm-misc.html $(BUILDDIR) > + > +.PHONY: help > +help: > + @echo "Please use \`make <target>' where <target> is one of" > + @echo " html to make standalone HTML files" > + @echo " dirhtml to make HTML files named index.html in directories" > + @echo " singlehtml to make a single large HTML file" > + @echo " linkcheck to check all external links for integrity" > + @echo " doctest to run all doctests embedded in the documentation (if enabled)" > + > +# FIXME: This works for the first build, but not for updates. Look into using > +# Sphinx extensions for both the graphviz and wavedrom parts. > +html dirhtml singlehtml linkcheck doctest: drm-intel-flow.svg drm-misc-commit-flow.svg > + > +.PHONY: html > +html: > + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html > + @echo > + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." > + > +.PHONY: dirhtml > +dirhtml: > + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml > + @echo > + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." > + > +.PHONY: singlehtml > +singlehtml: > + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml > + @echo > + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." > + > +.PHONY: linkcheck > +linkcheck: > + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck > + @echo > + @echo "Link check complete; look for any errors in the above output " \ > + "or in $(BUILDDIR)/linkcheck/output.txt." > > -.PHONY: all clean > +.PHONY: doctest > +doctest: > + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest > + @echo "Testing of doctests in the sources finished, look at the " \ > + "results in $(BUILDDIR)/doctest/output.txt." > diff --git a/conf.py b/conf.py > new file mode 100644 > index 000000000000..385c2aa8ff66 > --- /dev/null > +++ b/conf.py > @@ -0,0 +1,236 @@ > +# -*- coding: utf-8 -*- > +# > +# DRM Maintainer Tools documentation build configuration file, created by > +# sphinx-quickstart on Wed Aug 9 17:57:16 2017. > +# > +# This file is execfile()d with the current directory set to its > +# containing dir. > +# > +# Note that not all possible configuration values are present in this > +# autogenerated file. > +# > +# All configuration values have a default; values that are commented out > +# serve to show the default. > + > +# If extensions (or modules to document with autodoc) are in another directory, > +# add these directories to sys.path here. If the directory is relative to the > +# documentation root, use os.path.abspath to make it absolute, like shown here. > +# > +# import os > +# import sys > +# sys.path.insert(0, os.path.abspath('.')) > + > +# -- General configuration ------------------------------------------------ > + > +# If your documentation needs a minimal Sphinx version, state it here. > +# 1.3 has builtin sphinx_rtd_theme > +needs_sphinx = '1.3' > + > +# Add any Sphinx extension module names here, as strings. They can be > +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom > +# ones. > +extensions = [] > + > +# Add any paths that contain templates here, relative to this directory. > +templates_path = ['_templates'] > + > +# The suffix(es) of source filenames. > +# You can specify multiple suffix as a list of string: > +# > +# source_suffix = ['.rst', '.md'] > +source_suffix = '.rst' > + > +# The encoding of source files. > +# > +# source_encoding = 'utf-8-sig' > + > +# The master toctree document. > +master_doc = 'index' > + > +# General information about the project. > +project = u'DRM Maintainer Tools' > +copyright = u'2012-2017, Intel Corporation' > +author = u'Jani Nikula, Daniel Vetter, and others' > + > +# The version info for the project you're documenting, acts as replacement for > +# |version| and |release|, also used in various other places throughout the > +# built documents. > +# > +# The short X.Y version. > +version = u'1.0' > +# The full version, including alpha/beta/rc tags. > +release = u'1.0' > + > +# The language for content autogenerated by Sphinx. Refer to documentation > +# for a list of supported languages. > +# > +# This is also used if you do content translation via gettext catalogs. > +# Usually you set "language" from the command line for these cases. > +language = None > + > +# There are two options for replacing |today|: either, you set today to some > +# non-false value, then it is used: > +# > +# today = '' > +# > +# Else, today_fmt is used as the format for a strftime call. > +# > +# today_fmt = '%B %d, %Y' > + > +# List of patterns, relative to source directory, that match files and > +# directories to ignore when looking for source files. > +# This patterns also effect to html_static_path and html_extra_path > +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] > + > +# The reST default role (used for this markup: `text`) to use for all > +# documents. > +# > +# default_role = None > + > +# If true, '()' will be appended to :func: etc. cross-reference text. > +# > +# add_function_parentheses = True > + > +# If true, the current module name will be prepended to all description > +# unit titles (such as .. function::). > +# > +# add_module_names = True > + > +# If true, sectionauthor and moduleauthor directives will be shown in the > +# output. They are ignored by default. > +# > +# show_authors = False > + > +# The name of the Pygments (syntax highlighting) style to use. > +pygments_style = 'sphinx' > + > +# A list of ignored prefixes for module index sorting. > +# modindex_common_prefix = [] > + > +# If true, keep warnings as "system message" paragraphs in the built documents. > +# keep_warnings = False > + > +# If true, `todo` and `todoList` produce output, else they produce nothing. > +todo_include_todos = False > + > + > +# -- Options for HTML output ---------------------------------------------- > + > +# The theme to use for HTML and HTML Help pages. See the documentation for > +# a list of builtin themes. > +# > +html_theme = 'sphinx_rtd_theme' > + > +# Theme options are theme-specific and customize the look and feel of a theme > +# further. For a list of options available for each theme, see the > +# documentation. > +# > +# html_theme_options = {} > + > +# Add any paths that contain custom themes here, relative to this directory. > +# html_theme_path = [] > + > +# The name for this set of Sphinx documents. > +# "<project> v<release> documentation" by default. > +# > +# html_title = u'DRM Maintainer Tools v1.0' > + > +# A shorter title for the navigation bar. Default is the same as html_title. > +# > +# html_short_title = None > + > +# The name of an image file (relative to this directory) to place at the top > +# of the sidebar. > +# > +# html_logo = None > + > +# The name of an image file (relative to this directory) to use as a favicon of > +# the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 > +# pixels large. > +# > +# html_favicon = None > + > +# Add any paths that contain custom static files (such as style sheets) here, > +# relative to this directory. They are copied after the builtin static files, > +# so a file named "default.css" will overwrite the builtin "default.css". > +html_static_path = ['_static'] > + > +# Add any extra paths that contain custom files (such as robots.txt or > +# .htaccess) here, relative to this directory. These files are copied > +# directly to the root of the documentation. > +# > +# html_extra_path = [] > + > +# If not None, a 'Last updated on:' timestamp is inserted at every page > +# bottom, using the given strftime format. > +# The empty string is equivalent to '%b %d, %Y'. > +# > +# html_last_updated_fmt = None > + > +# If true, SmartyPants will be used to convert quotes and dashes to > +# typographically correct entities. > +# > +# html_use_smartypants = True > + > +# Custom sidebar templates, maps document names to template names. > +# > +# html_sidebars = {} > + > +# Additional templates that should be rendered to pages, maps page names to > +# template names. > +# > +# html_additional_pages = {} > + > +# If false, no module index is generated. > +# > +# html_domain_indices = True > + > +# If false, no index is generated. > +# > +# html_use_index = True > + > +# If true, the index is split into individual pages for each letter. > +# > +# html_split_index = False > + > +# If true, links to the reST sources are added to the pages. > +# > +# html_show_sourcelink = True > + > +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. > +# > +# html_show_sphinx = True > + > +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. > +# > +# html_show_copyright = True > + > +# If true, an OpenSearch description file will be output, and all pages will > +# contain a <link> tag referring to it. The value of this option must be the > +# base URL from which the finished HTML is served. > +# > +# html_use_opensearch = '' > + > +# This is the file name suffix for HTML files (e.g. ".xhtml"). > +# html_file_suffix = None > + > +# Language to be used for generating the HTML full-text search index. > +# Sphinx supports the following languages: > +# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' > +# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr', 'zh' > +# > +# html_search_language = 'en' > + > +# A dictionary with options for the search language support, empty by default. > +# 'ja' uses this config value. > +# 'zh' user can custom change `jieba` dictionary path. > +# > +# html_search_options = {'type': 'default'} > + > +# The name of a javascript file (relative to the configuration directory) that > +# implements a search results scorer. If empty, the default will be used. > +# > +# html_search_scorer = 'scorer.js' > + > +# Output file base name for HTML help builder. > +htmlhelp_basename = 'DRMMaintainerToolsdoc' > diff --git a/index.rst b/index.rst > new file mode 100644 > index 000000000000..d8b6d4897c45 > --- /dev/null > +++ b/index.rst > @@ -0,0 +1,17 @@ > +DRM Maintainer Tools > +==================== > + > +Contents: > + > +.. toctree:: > + :maxdepth: 2 > + > + drm-misc > + drm-intel > + dim > + > +Indices and tables > +================== > + > +* :ref:`genindex` > +* :ref:`search` > -- > 2.11.0 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [maintainer-tools PATCH v2 4/4] doc: build documentation using Sphinx 2017-08-10 20:30 ` Rodrigo Vivi @ 2017-08-11 5:30 ` Jani Nikula 0 siblings, 0 replies; 12+ messages in thread From: Jani Nikula @ 2017-08-11 5:30 UTC (permalink / raw) To: Rodrigo Vivi; +Cc: intel-gfx On Thu, 10 Aug 2017, Rodrigo Vivi <rodrigo.vivi@gmail.com> wrote: > On Thu, Aug 10, 2017 at 12:39:49PM +0300, Jani Nikula wrote: >> Based on Sphinx-quickstart, with existing and generated Makefiles merged >> together. >> >> This makes the rst2html and Sphinx builds work side by side. Plain >> 'make' continues to use rst2html, and 'make html' and friends use >> Sphinx. The intention is to keep both for a transition period so that we >> can have documentation autobuilders updated. >> >> Once we're fully converted to Sphinx, we can share the common parts of >> drm-intel and drm-misc documentation better, and have more coherent >> documentation overall. We can also start looking into using the graphviz >> (Sphinx builtin) and WaveDrom (3rd party) extensions. For now, we use >> the same old clunky methods for including them. >> >> v2: require Sphinx 1.3, use sphinx_rtd_theme > > Thanks! :) > > Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Thanks Rodrigo and Sean for the acks/reviews, pushed. BR, Jani. > >> >> Signed-off-by: Jani Nikula <jani.nikula@intel.com> >> --- >> .gitignore | 1 + >> Makefile | 61 +++++++++++++++- >> conf.py | 236 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> index.rst | 17 +++++ >> 4 files changed, 313 insertions(+), 2 deletions(-) >> create mode 100644 conf.py >> create mode 100644 index.rst >> >> diff --git a/.gitignore b/.gitignore >> index 35ed071ca482..a176bd76eef5 100644 >> --- a/.gitignore >> +++ b/.gitignore >> @@ -1,3 +1,4 @@ >> +_build >> drm-intel-flow.svg >> drm-misc-commit-flow.svg >> *.html >> diff --git a/Makefile b/Makefile >> index 7059eec42720..40b7ee6e2b32 100644 >> --- a/Makefile >> +++ b/Makefile >> @@ -4,6 +4,20 @@ >> # the wavedrom json, copy-pasting to and from http://wavedrom.com/editor.html is >> # handy as it shows the result live. >> >> +# You can set these variables from the command line. >> +SPHINXOPTS = >> +SPHINXBUILD = sphinx-build >> +PAPER = >> +BUILDDIR = _build >> + >> +# Internal variables. >> +PAPEROPT_a4 = -D latex_paper_size=a4 >> +PAPEROPT_letter = -D latex_paper_size=letter >> +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . >> +# the i18n builder cannot share the environment and doctrees with the others >> +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . >> + >> +.PHONY: all >> all: drm-intel.html dim.html drm-misc.html >> >> %.svg: %.dot >> @@ -41,7 +55,50 @@ mancheck: >> >> check: shellcheck mancheck all >> >> +.PHONY: clean >> clean: >> - rm -f drm-intel.html drm-intel-flow.svg drm-misc-commit-flow.svg dim.html drm-misc.html >> + rm -rf drm-intel.html drm-intel-flow.svg drm-misc-commit-flow.svg dim.html drm-misc.html $(BUILDDIR) >> + >> +.PHONY: help >> +help: >> + @echo "Please use \`make <target>' where <target> is one of" >> + @echo " html to make standalone HTML files" >> + @echo " dirhtml to make HTML files named index.html in directories" >> + @echo " singlehtml to make a single large HTML file" >> + @echo " linkcheck to check all external links for integrity" >> + @echo " doctest to run all doctests embedded in the documentation (if enabled)" >> + >> +# FIXME: This works for the first build, but not for updates. Look into using >> +# Sphinx extensions for both the graphviz and wavedrom parts. >> +html dirhtml singlehtml linkcheck doctest: drm-intel-flow.svg drm-misc-commit-flow.svg >> + >> +.PHONY: html >> +html: >> + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html >> + @echo >> + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." >> + >> +.PHONY: dirhtml >> +dirhtml: >> + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml >> + @echo >> + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." >> + >> +.PHONY: singlehtml >> +singlehtml: >> + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml >> + @echo >> + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." >> + >> +.PHONY: linkcheck >> +linkcheck: >> + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck >> + @echo >> + @echo "Link check complete; look for any errors in the above output " \ >> + "or in $(BUILDDIR)/linkcheck/output.txt." >> >> -.PHONY: all clean >> +.PHONY: doctest >> +doctest: >> + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest >> + @echo "Testing of doctests in the sources finished, look at the " \ >> + "results in $(BUILDDIR)/doctest/output.txt." >> diff --git a/conf.py b/conf.py >> new file mode 100644 >> index 000000000000..385c2aa8ff66 >> --- /dev/null >> +++ b/conf.py >> @@ -0,0 +1,236 @@ >> +# -*- coding: utf-8 -*- >> +# >> +# DRM Maintainer Tools documentation build configuration file, created by >> +# sphinx-quickstart on Wed Aug 9 17:57:16 2017. >> +# >> +# This file is execfile()d with the current directory set to its >> +# containing dir. >> +# >> +# Note that not all possible configuration values are present in this >> +# autogenerated file. >> +# >> +# All configuration values have a default; values that are commented out >> +# serve to show the default. >> + >> +# If extensions (or modules to document with autodoc) are in another directory, >> +# add these directories to sys.path here. If the directory is relative to the >> +# documentation root, use os.path.abspath to make it absolute, like shown here. >> +# >> +# import os >> +# import sys >> +# sys.path.insert(0, os.path.abspath('.')) >> + >> +# -- General configuration ------------------------------------------------ >> + >> +# If your documentation needs a minimal Sphinx version, state it here. >> +# 1.3 has builtin sphinx_rtd_theme >> +needs_sphinx = '1.3' >> + >> +# Add any Sphinx extension module names here, as strings. They can be >> +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom >> +# ones. >> +extensions = [] >> + >> +# Add any paths that contain templates here, relative to this directory. >> +templates_path = ['_templates'] >> + >> +# The suffix(es) of source filenames. >> +# You can specify multiple suffix as a list of string: >> +# >> +# source_suffix = ['.rst', '.md'] >> +source_suffix = '.rst' >> + >> +# The encoding of source files. >> +# >> +# source_encoding = 'utf-8-sig' >> + >> +# The master toctree document. >> +master_doc = 'index' >> + >> +# General information about the project. >> +project = u'DRM Maintainer Tools' >> +copyright = u'2012-2017, Intel Corporation' >> +author = u'Jani Nikula, Daniel Vetter, and others' >> + >> +# The version info for the project you're documenting, acts as replacement for >> +# |version| and |release|, also used in various other places throughout the >> +# built documents. >> +# >> +# The short X.Y version. >> +version = u'1.0' >> +# The full version, including alpha/beta/rc tags. >> +release = u'1.0' >> + >> +# The language for content autogenerated by Sphinx. Refer to documentation >> +# for a list of supported languages. >> +# >> +# This is also used if you do content translation via gettext catalogs. >> +# Usually you set "language" from the command line for these cases. >> +language = None >> + >> +# There are two options for replacing |today|: either, you set today to some >> +# non-false value, then it is used: >> +# >> +# today = '' >> +# >> +# Else, today_fmt is used as the format for a strftime call. >> +# >> +# today_fmt = '%B %d, %Y' >> + >> +# List of patterns, relative to source directory, that match files and >> +# directories to ignore when looking for source files. >> +# This patterns also effect to html_static_path and html_extra_path >> +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] >> + >> +# The reST default role (used for this markup: `text`) to use for all >> +# documents. >> +# >> +# default_role = None >> + >> +# If true, '()' will be appended to :func: etc. cross-reference text. >> +# >> +# add_function_parentheses = True >> + >> +# If true, the current module name will be prepended to all description >> +# unit titles (such as .. function::). >> +# >> +# add_module_names = True >> + >> +# If true, sectionauthor and moduleauthor directives will be shown in the >> +# output. They are ignored by default. >> +# >> +# show_authors = False >> + >> +# The name of the Pygments (syntax highlighting) style to use. >> +pygments_style = 'sphinx' >> + >> +# A list of ignored prefixes for module index sorting. >> +# modindex_common_prefix = [] >> + >> +# If true, keep warnings as "system message" paragraphs in the built documents. >> +# keep_warnings = False >> + >> +# If true, `todo` and `todoList` produce output, else they produce nothing. >> +todo_include_todos = False >> + >> + >> +# -- Options for HTML output ---------------------------------------------- >> + >> +# The theme to use for HTML and HTML Help pages. See the documentation for >> +# a list of builtin themes. >> +# >> +html_theme = 'sphinx_rtd_theme' >> + >> +# Theme options are theme-specific and customize the look and feel of a theme >> +# further. For a list of options available for each theme, see the >> +# documentation. >> +# >> +# html_theme_options = {} >> + >> +# Add any paths that contain custom themes here, relative to this directory. >> +# html_theme_path = [] >> + >> +# The name for this set of Sphinx documents. >> +# "<project> v<release> documentation" by default. >> +# >> +# html_title = u'DRM Maintainer Tools v1.0' >> + >> +# A shorter title for the navigation bar. Default is the same as html_title. >> +# >> +# html_short_title = None >> + >> +# The name of an image file (relative to this directory) to place at the top >> +# of the sidebar. >> +# >> +# html_logo = None >> + >> +# The name of an image file (relative to this directory) to use as a favicon of >> +# the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 >> +# pixels large. >> +# >> +# html_favicon = None >> + >> +# Add any paths that contain custom static files (such as style sheets) here, >> +# relative to this directory. They are copied after the builtin static files, >> +# so a file named "default.css" will overwrite the builtin "default.css". >> +html_static_path = ['_static'] >> + >> +# Add any extra paths that contain custom files (such as robots.txt or >> +# .htaccess) here, relative to this directory. These files are copied >> +# directly to the root of the documentation. >> +# >> +# html_extra_path = [] >> + >> +# If not None, a 'Last updated on:' timestamp is inserted at every page >> +# bottom, using the given strftime format. >> +# The empty string is equivalent to '%b %d, %Y'. >> +# >> +# html_last_updated_fmt = None >> + >> +# If true, SmartyPants will be used to convert quotes and dashes to >> +# typographically correct entities. >> +# >> +# html_use_smartypants = True >> + >> +# Custom sidebar templates, maps document names to template names. >> +# >> +# html_sidebars = {} >> + >> +# Additional templates that should be rendered to pages, maps page names to >> +# template names. >> +# >> +# html_additional_pages = {} >> + >> +# If false, no module index is generated. >> +# >> +# html_domain_indices = True >> + >> +# If false, no index is generated. >> +# >> +# html_use_index = True >> + >> +# If true, the index is split into individual pages for each letter. >> +# >> +# html_split_index = False >> + >> +# If true, links to the reST sources are added to the pages. >> +# >> +# html_show_sourcelink = True >> + >> +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. >> +# >> +# html_show_sphinx = True >> + >> +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. >> +# >> +# html_show_copyright = True >> + >> +# If true, an OpenSearch description file will be output, and all pages will >> +# contain a <link> tag referring to it. The value of this option must be the >> +# base URL from which the finished HTML is served. >> +# >> +# html_use_opensearch = '' >> + >> +# This is the file name suffix for HTML files (e.g. ".xhtml"). >> +# html_file_suffix = None >> + >> +# Language to be used for generating the HTML full-text search index. >> +# Sphinx supports the following languages: >> +# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' >> +# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr', 'zh' >> +# >> +# html_search_language = 'en' >> + >> +# A dictionary with options for the search language support, empty by default. >> +# 'ja' uses this config value. >> +# 'zh' user can custom change `jieba` dictionary path. >> +# >> +# html_search_options = {'type': 'default'} >> + >> +# The name of a javascript file (relative to the configuration directory) that >> +# implements a search results scorer. If empty, the default will be used. >> +# >> +# html_search_scorer = 'scorer.js' >> + >> +# Output file base name for HTML help builder. >> +htmlhelp_basename = 'DRMMaintainerToolsdoc' >> diff --git a/index.rst b/index.rst >> new file mode 100644 >> index 000000000000..d8b6d4897c45 >> --- /dev/null >> +++ b/index.rst >> @@ -0,0 +1,17 @@ >> +DRM Maintainer Tools >> +==================== >> + >> +Contents: >> + >> +.. toctree:: >> + :maxdepth: 2 >> + >> + drm-misc >> + drm-intel >> + dim >> + >> +Indices and tables >> +================== >> + >> +* :ref:`genindex` >> +* :ref:`search` >> -- >> 2.11.0 >> >> _______________________________________________ >> Intel-gfx mailing list >> Intel-gfx@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [maintainer-tools PATCH v2 0/4] add Sphinx doc build to maintainer tools 2017-08-10 9:39 [maintainer-tools PATCH v2 0/4] add Sphinx doc build to maintainer tools Jani Nikula ` (3 preceding siblings ...) 2017-08-10 9:39 ` [maintainer-tools PATCH v2 4/4] doc: build documentation using Sphinx Jani Nikula @ 2017-08-10 9:53 ` Jani Nikula 4 siblings, 0 replies; 12+ messages in thread From: Jani Nikula @ 2017-08-10 9:53 UTC (permalink / raw) To: intel-gfx On Thu, 10 Aug 2017, Jani Nikula <jani.nikula@intel.com> wrote: > v2 of [1], with sphinx_rtd_theme and some tweaks to make it nicer. And sample output at https://people.freedesktop.org/~jani/html/ J. > > BR, > Jani. > > > [1] http://mid.mail-archive.com/cover.1502312576.git.jani.nikula@intel.com > > > Jani Nikula (4): > doc: load WaveDrom scripts directly from CDN instead of bundling > doc: provide scrollbars for overflowing wavedrom timeline content > doc: include .svg using the image directive, not raw html > doc: build documentation using Sphinx > > .gitignore | 1 + > Makefile | 61 ++++++++++++- > conf.py | 236 +++++++++++++++++++++++++++++++++++++++++++++++++ > drm-intel-timeline.rst | 22 ++--- > drm-intel.rst | 4 +- > drm-misc-timeline.rst | 23 ++--- > drm-misc.rst | 4 +- > index.rst | 17 ++++ > 8 files changed, 325 insertions(+), 43 deletions(-) > create mode 100644 conf.py > create mode 100644 index.rst -- Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2017-08-11 5:31 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-08-10 9:39 [maintainer-tools PATCH v2 0/4] add Sphinx doc build to maintainer tools Jani Nikula 2017-08-10 9:39 ` [maintainer-tools PATCH v2 1/4] doc: load WaveDrom scripts directly from CDN instead of bundling Jani Nikula 2017-08-10 20:26 ` Rodrigo Vivi 2017-08-10 9:39 ` [maintainer-tools PATCH v2 2/4] doc: provide scrollbars for overflowing wavedrom timeline content Jani Nikula 2017-08-10 16:31 ` Sean Paul 2017-08-10 9:39 ` [maintainer-tools PATCH v2 3/4] doc: include .svg using the image directive, not raw html Jani Nikula 2017-08-10 15:13 ` Rodrigo Vivi 2017-08-10 16:32 ` Sean Paul 2017-08-10 9:39 ` [maintainer-tools PATCH v2 4/4] doc: build documentation using Sphinx Jani Nikula 2017-08-10 20:30 ` Rodrigo Vivi 2017-08-11 5:30 ` Jani Nikula 2017-08-10 9:53 ` [maintainer-tools PATCH v2 0/4] add Sphinx doc build to maintainer tools Jani Nikula
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox