public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* [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

* [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

* [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

* [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 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

* 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 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

* 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

* 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

* 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

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