Skip to contentSkip to conversation

add Sphinx doc build to maintainer tools

PATCH Superseded Jani Nikula 2 participants 18 messages Aug 9, 2017 – Aug 10, 2017 Kbuild

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

cover add Sphinx doc build to maintainer tools

Make it possible to build the maintainer tools docs using Sphinx. For now, support building using both rst2html and Sphinx. After all consumers and autobuilders of the docs have switched over to Sphinx, we can start improving the documentation to produce a more coherent and unified set of maintainer tools documents.

BR,
Jani.

Jani Nikula (5):
mancheck: run dim.rst through rst2man
build: add drm-misc-commit-flow.svg to clean target
doc: use window.onload to call WaveDrom.ProcessAll()
doc: build documentation using Sphinx
doc: use Sphinx bizstyle builtin html theme

 .gitignore             |   1 +
 Makefile               |  68 ++++++++++++--
 conf.py                | 236 +++++++++++++++++++++++++++++++++++++++++++++++++
 dim.rst                |   2 +
 drm-intel-timeline.rst |   4 +
 drm-misc-timeline.rst  |   4 +
 index.rst              |  17 ++++
 7 files changed, 324 insertions(+), 8 deletions(-)
 create mode 100644 conf.py
 create mode 100644 index.rst
Signature · 6 lines
2.11.0

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#1 lore raw

PATCH 1/5 mancheck: run dim.rst through rst2man

Be strict and also require plain rst with no raw directives.

---
 Makefile | 1 +
 dim.rst  | 2 ++
 2 files changed, 3 insertions(+)
Makefile +1 -0
index 44fcdc90473a..784d986b18cd 100644
@@ -43,6 +43,7 @@ mancheck:
 			echo "$@: $$cmd not documented"; \
 		fi \
 	done
+	rst2man --strict --no-raw dim.rst >/dev/null
 
 check: shellcheck mancheck all
 
dim.rst +2 -0
index a2c110a054ee..8b4653aacbda 100644
@@ -13,6 +13,8 @@ drm inglorious maintainer script
 :Manual section: 1
 :Manual group: maintainer tools
 
+.. Please use 'make mancheck' to validate updates to this file.
+
 SYNOPSIS
 ========
 
Signature · 6 lines
2.11.0

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Reviewed-by on v1 1/5
#2 lore raw

Re: [maintainer-tools PATCH 1/5] mancheck: run dim.rst through rst2man

Quoted 40 lines · Jani Nikula

Be strict and also require plain rst with no raw directives.

---
 Makefile | 1 +
 dim.rst  | 2 ++
 2 files changed, 3 insertions(+)
Makefile +1 -0
index 44fcdc90473a..784d986b18cd 100644
@@ -43,6 +43,7 @@ mancheck:
                        echo "$@: $$cmd not documented"; \
                fi \
        done
+       rst2man --strict --no-raw dim.rst >/dev/null
 
 check: shellcheck mancheck all
 
dim.rst +2 -1
index a2c110a054ee..8b4653aacbda 100644
@@ -13,6 +13,8 @@ drm inglorious maintainer script
 :Manual section: 1
 :Manual group: maintainer tools
 
+.. Please use 'make mancheck' to validate updates to this file.
+
 SYNOPSIS
 ========
 
--

2.11.0

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Signature · 6 lines
Rodrigo Vivi
Blog: http://blog.vivi.eng.br
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#3 lore raw

PATCH 2/5 build: add drm-misc-commit-flow.svg to clean target

In reply to Jani Nikula
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Makefile +1 -1
index 784d986b18cd..8bbabae56741 100644
@@ -48,6 +48,6 @@ mancheck:
 check: shellcheck mancheck all
 
 clean:
-	rm -f drm-intel.html drm-intel-flow.svg dim.html drm-misc.html
+	rm -f drm-intel.html drm-intel-flow.svg drm-misc-commit-flow.svg dim.html drm-misc.html
 
 .PHONY: all clean
Signature · 6 lines
2.11.0

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Reviewed-by on v1 2/5
#4 lore raw

Re: [maintainer-tools PATCH 2/5] build: add drm-misc-commit-flow.svg to clean target

Quoted 24 lines · Jani Nikula
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Makefile +1 -2
index 784d986b18cd..8bbabae56741 100644
@@ -48,6 +48,6 @@ mancheck:
 check: shellcheck mancheck all
 
 clean:
-       rm -f drm-intel.html drm-intel-flow.svg dim.html drm-misc.html
+       rm -f drm-intel.html drm-intel-flow.svg drm-misc-commit-flow.svg dim.html drm-misc.html
 
 .PHONY: all clean
--

2.11.0

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Signature · 6 lines
Rodrigo Vivi
Blog: http://blog.vivi.eng.br
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#5 lore raw

PATCH 3/5 doc: use window.onload to call WaveDrom.ProcessAll()

In reply to Jani Nikula

Simplify the build by doing the WaveDrom processing from the rst file (albeit raw html block) instead of post-processing the output html.

---
 Makefile               | 6 ------
 drm-intel-timeline.rst | 4 ++++
 drm-misc-timeline.rst  | 4 ++++
 3 files changed, 8 insertions(+), 6 deletions(-)
Makefile +0 -6
index 8bbabae56741..7059eec42720 100644
@@ -12,15 +12,9 @@ all: drm-intel.html dim.html drm-misc.html
 %.html: %.rst
 	rst2html $< > $@
 
-# the sed bit here is a hack to make wavedrom process the timeline
 drm-intel.html: drm-intel.rst drm-intel-flow.svg drm-intel-timeline.rst drm-intel-timeline.json
-	rst2html $< > $@
-	sed -i 's/<body/<body onload="WaveDrom.ProcessAll()"/' $@
 
-# the sed bit here is a hack to make wavedrom process the timeline
 drm-misc.html: drm-misc.rst drm-misc-timeline.rst drm-misc-timeline.json drm-misc-commit-flow.svg
-	rst2html $< > $@
-	sed -i 's/<body/<body onload="WaveDrom.ProcessAll()"/' $@
 
 dim.html: dim.rst
 
drm-intel-timeline.rst +4 -0
index e1766a5df98b..3ab39afd5788 100644
@@ -17,6 +17,10 @@
 
 .. raw:: html
 
+	function init() {
+		WaveDrom.ProcessAll();
+	}
+	window.onload = init;
 	</script>
 	<script type="WaveDrom">
 
drm-misc-timeline.rst +4 -0
index 697277774362..a9a80d6a4cfb 100644
@@ -8,6 +8,10 @@
 
 .. raw:: html
 
+	function init() {
+		WaveDrom.ProcessAll();
+	}
+	window.onload = init;
 	</script>
 	<script type="text/javascript">
 	/* Embedded WaveDrom engine from http://wavedrom.com/WaveDrom.js */
Signature · 6 lines
2.11.0

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Acked-by on v1 3/5
#6 lore raw

Re: [maintainer-tools PATCH 3/5] doc: use window.onload to call WaveDrom.ProcessAll()

I don't know WaveDrom much... but it works so

Quoted 67 lines · Jani Nikula

Simplify the build by doing the WaveDrom processing from the rst file (albeit raw html block) instead of post-processing the output html.

---
 Makefile               | 6 ------
 drm-intel-timeline.rst | 4 ++++
 drm-misc-timeline.rst  | 4 ++++
 3 files changed, 8 insertions(+), 6 deletions(-)
Makefile +0 -6
index 8bbabae56741..7059eec42720 100644
@@ -12,15 +12,9 @@ all: drm-intel.html dim.html drm-misc.html
 %.html: %.rst
        rst2html $< > $@
 
-# the sed bit here is a hack to make wavedrom process the timeline
 drm-intel.html: drm-intel.rst drm-intel-flow.svg drm-intel-timeline.rst drm-intel-timeline.json
-       rst2html $< > $@
-       sed -i 's/<body/<body onload="WaveDrom.ProcessAll()"/' $@
 
-# the sed bit here is a hack to make wavedrom process the timeline
 drm-misc.html: drm-misc.rst drm-misc-timeline.rst drm-misc-timeline.json drm-misc-commit-flow.svg
-       rst2html $< > $@
-       sed -i 's/<body/<body onload="WaveDrom.ProcessAll()"/' $@
 
 dim.html: dim.rst
 
drm-intel-timeline.rst +4 -0
index e1766a5df98b..3ab39afd5788 100644
@@ -17,6 +17,10 @@
 
 .. raw:: html
 
+       function init() {
+               WaveDrom.ProcessAll();
+       }
+       window.onload = init;
        </script>
        <script type="WaveDrom">
 
drm-misc-timeline.rst +4 -1
index 697277774362..a9a80d6a4cfb 100644
@@ -8,6 +8,10 @@
 
 .. raw:: html
 
+       function init() {
+               WaveDrom.ProcessAll();
+       }
+       window.onload = init;
        </script>
        <script type="text/javascript">
        /* Embedded WaveDrom engine from http://wavedrom.com/WaveDrom.js */
--

2.11.0

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Signature · 6 lines
Rodrigo Vivi
Blog: http://blog.vivi.eng.br
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#7 lore raw

Re: [maintainer-tools PATCH 3/5] doc: use window.onload to call WaveDrom.ProcessAll()

Quoted 3 lines · Rodrigo Vivi

I don't know WaveDrom much... but it works so

Thanks, pushed the first three.

BR,
Jani.

Quoted 69 lines · Jani Nikula
Quoted 67 lines

Simplify the build by doing the WaveDrom processing from the rst file (albeit raw html block) instead of post-processing the output html.

---
 Makefile               | 6 ------
 drm-intel-timeline.rst | 4 ++++
 drm-misc-timeline.rst  | 4 ++++
 3 files changed, 8 insertions(+), 6 deletions(-)
Makefile +0 -6
index 8bbabae56741..7059eec42720 100644
@@ -12,15 +12,9 @@ all: drm-intel.html dim.html drm-misc.html
 %.html: %.rst
        rst2html $< > $@
 
-# the sed bit here is a hack to make wavedrom process the timeline
 drm-intel.html: drm-intel.rst drm-intel-flow.svg drm-intel-timeline.rst drm-intel-timeline.json
-       rst2html $< > $@
-       sed -i 's/<body/<body onload="WaveDrom.ProcessAll()"/' $@
 
-# the sed bit here is a hack to make wavedrom process the timeline
 drm-misc.html: drm-misc.rst drm-misc-timeline.rst drm-misc-timeline.json drm-misc-commit-flow.svg
-       rst2html $< > $@
-       sed -i 's/<body/<body onload="WaveDrom.ProcessAll()"/' $@
 
 dim.html: dim.rst
 
drm-intel-timeline.rst +4 -0
index e1766a5df98b..3ab39afd5788 100644
@@ -17,6 +17,10 @@
 
 .. raw:: html
 
+       function init() {
+               WaveDrom.ProcessAll();
+       }
+       window.onload = init;
        </script>
        <script type="WaveDrom">
 
drm-misc-timeline.rst +4 -1
index 697277774362..a9a80d6a4cfb 100644
@@ -8,6 +8,10 @@
 
 .. raw:: html
 
+       function init() {
+               WaveDrom.ProcessAll();
+       }
+       window.onload = init;
        </script>
        <script type="text/javascript">
        /* Embedded WaveDrom engine from http://wavedrom.com/WaveDrom.js */
--

2.11.0

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Signature · 5 lines
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#8 lore raw

PATCH 4/5 doc: build documentation using Sphinx

In reply to 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 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.

---
 .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
.gitignore +1 -0
index 35ed071ca482..a176bd76eef5 100644
@@ -1,3 +1,4 @@
+_build
 drm-intel-flow.svg
 drm-misc-commit-flow.svg
 *.html
Makefile +59 -2

72 lines not on this page · raw message

conf.py new file +236 -0

236 lines not on this page · raw message

index.rst new file +17 -0
new file mode 100644
index 000000000000..d8b6d4897c45
@@ -0,0 +1,17 @@
+DRM Maintainer Tools
+====================
+
+Contents:
+
+.. toctree::
+   :maxdepth: 2
+
+   drm-misc
+   drm-intel
+   dim
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`search`
Signature · 6 lines
2.11.0

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#9 lore raw

Re: [maintainer-tools PATCH 4/5] doc: build documentation using Sphinx

Quoted 7 lines · 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.

the one that posts to 01.org or do we have more places pointing here?

Quoted 4 lines

Once we're fully converted to Sphinx, we can 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.

when we know we are fully converted?

Quoted 370 lines
---
 .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
.gitignore +1 -0
index 35ed071ca482..a176bd76eef5 100644
@@ -1,3 +1,4 @@
+_build
 drm-intel-flow.svg
 drm-misc-commit-flow.svg
 *.html
Makefile +59 -2
index 7059eec42720..40b7ee6e2b32 100644
@@ -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."
conf.py new file +236 -0
new file mode 100644
index 000000000000..2e7acb8e76ca
@@ -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.
+#
+# needs_sphinx = '1.0'
+
+# 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, Jani Nikula, Daniel Vetter, and others'
+author = u'Jani Nikula, Daniel Vetter'
+
+# 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 = 'alabaster'
+
+# 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'
index.rst new file +17 -1
new file mode 100644
index 000000000000..d8b6d4897c45
@@ -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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Signature · 6 lines
Rodrigo Vivi
Blog: http://blog.vivi.eng.br
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#10 lore raw

Re: [maintainer-tools PATCH 4/5] doc: build documentation using Sphinx

Quoted 10 lines · Rodrigo Vivi
Quoted 7 lines · 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.

the one that posts to 01.org or do we have more places pointing here?

I know of no others, but that doesn't prove anything! ;)

Quoted 7 lines
Quoted 5 lines

Once we're fully converted to Sphinx, we can 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.

when we know we are fully converted?

Perhaps we can move forward with more sphinxification once 01.org has been converted. That already builds the kernel Sphinx docs, so shouldn't be a big deal to switch to 'make html' and copy the results over from _build/html.

BR,
Jani.

Quoted 371 lines
Quoted 371 lines
---
 .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
.gitignore +1 -0
index 35ed071ca482..a176bd76eef5 100644
@@ -1,3 +1,4 @@
+_build
 drm-intel-flow.svg
 drm-misc-commit-flow.svg
 *.html
Makefile +59 -2
index 7059eec42720..40b7ee6e2b32 100644
@@ -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."
conf.py new file +236 -0
new file mode 100644
index 000000000000..2e7acb8e76ca
@@ -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.
+#
+# needs_sphinx = '1.0'
+
+# 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, Jani Nikula, Daniel Vetter, and others'
+author = u'Jani Nikula, Daniel Vetter'
+
+# 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 = 'alabaster'
+
+# 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'
index.rst new file +17 -1
new file mode 100644
index 000000000000..d8b6d4897c45
@@ -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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Signature · 5 lines
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#11 lore raw

PATCH 5/5 doc: use Sphinx bizstyle builtin html theme

In reply to Jani Nikula

Matter of taste, but looks better than the default alabaster, and is less trouble than requiring some external themes (such as the sphinx rtd theme used in the kernel).

---
 conf.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
conf.py +1 -1
index 2e7acb8e76ca..7293d9ddab80 100644
@@ -119,7 +119,7 @@ todo_include_todos = False
 # The theme to use for HTML and HTML Help pages.  See the documentation for
 # a list of builtin themes.
 #
-html_theme = 'alabaster'
+html_theme = 'bizstyle'
 
 # 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
Signature · 6 lines
2.11.0

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#12 lore raw

Re: [maintainer-tools PATCH 5/5] doc: use Sphinx bizstyle builtin html theme

Quoted 1 line · Jani Nikula

Matter of taste, but looks better than the default alabaster,

not sure which one I preferred...
alabaster goes better with 01.org... but it indeed is not very good...

Quoted 3 lines

and is
less trouble than requiring some external themes (such as the sphinx rtd theme used in the kernel).

less trouble is good, but since we are already making changes now and forcing new packages I believe we could force to use same style as kernel so we keep in sync...

Quoted 26 lines
---
 conf.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
conf.py +1 -2
index 2e7acb8e76ca..7293d9ddab80 100644
@@ -119,7 +119,7 @@ todo_include_todos = False
 # The theme to use for HTML and HTML Help pages.  See the documentation for
 # a list of builtin themes.
 #
-html_theme = 'alabaster'
+html_theme = 'bizstyle'
 
 # 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
--

2.11.0

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Signature · 6 lines
Rodrigo Vivi
Blog: http://blog.vivi.eng.br
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#13 lore raw

Re: [maintainer-tools PATCH 5/5] doc: use Sphinx bizstyle builtin html theme

Quoted 6 lines · Rodrigo Vivi
Quoted 1 line · Jani Nikula

Matter of taste, but looks better than the default alabaster,

not sure which one I preferred...
alabaster goes better with 01.org... but it indeed is not very good...

Quoted 7 lines
Quoted 3 lines

and is
less trouble than requiring some external themes (such as the sphinx rtd theme used in the kernel).

less trouble is good, but since we are already making changes now and forcing new packages I believe we could force to use same style as kernel so we keep in sync...

Looks like sphinx_rtd_theme is builtin since Sphinx 1.3, and I think we could easily require that.

The trouble is that the sphinx_rtd_theme forces a fairly narrow layout horizontally, without horizontal scroll bars, and the wavedrom timeline overflows the content box and is clipped at the window border. Fail.

I peeked at the Sphinx wavedrom extension, and incorporated their raw html hack to provide scrollbars for overflowing content. With hack [1], without hack [2].

What do people think?

(Perhaps the right answer is to use something other than wavedrom altogether, but I don't have the time and I don't want it to block the Sphinx conversion.)

BR,
Jani.

[1] https://people.freedesktop.org/~jani/html/drm-intel.html#merge-timeline
[2] https://people.freedesktop.org/~jani/html/drm-misc.html#merge-timeline

Quoted 27 lines
Quoted 27 lines
---
 conf.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
conf.py +1 -2
index 2e7acb8e76ca..7293d9ddab80 100644
@@ -119,7 +119,7 @@ todo_include_todos = False
 # The theme to use for HTML and HTML Help pages.  See the documentation for
 # a list of builtin themes.
 #
-html_theme = 'alabaster'
+html_theme = 'bizstyle'
 
 # 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
--

2.11.0

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Signature · 5 lines
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#14 lore raw

Re: [maintainer-tools PATCH 5/5] doc: use Sphinx bizstyle builtin html theme

Quoted 22 lines · Jani Nikula
Quoted 6 lines · Rodrigo Vivi
Quoted 1 line · Jani Nikula

Matter of taste, but looks better than the default alabaster,

not sure which one I preferred...
alabaster goes better with 01.org... but it indeed is not very good...

Quoted 7 lines
Quoted 3 lines

and is
less trouble than requiring some external themes (such as the sphinx rtd theme used in the kernel).

less trouble is good, but since we are already making changes now and forcing new packages I believe we could force to use same style as kernel so we keep in sync...

Looks like sphinx_rtd_theme is builtin since Sphinx 1.3, and I think we could easily require that.

The trouble is that the sphinx_rtd_theme forces a fairly narrow layout horizontally, without horizontal scroll bars, and the wavedrom timeline overflows the content box and is clipped at the window border. Fail.

Quoted 5 lines

I peeked at the Sphinx wavedrom extension, and incorporated their raw html hack to provide scrollbars for overflowing content. With hack [1], without hack [2].

What do people think?

I really don't see difference between them here. (on Google Chrome browser) Both cases are without horizontal scrollbar but text adjust itself pretty good in both cases.

So, no preference...

Quoted 4 lines

(Perhaps the right answer is to use something other than wavedrom altogether, but I don't have the time and I don't want it to block the Sphinx conversion.)

I think it is great the way it is ;)

Quoted 41 lines

BR,
Jani.

[1] https://people.freedesktop.org/~jani/html/drm-intel.html#merge-timeline
[2] https://people.freedesktop.org/~jani/html/drm-misc.html#merge-timeline

Quoted 23 lines
Quoted 23 lines
---
 conf.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
conf.py +1 -2
index 2e7acb8e76ca..7293d9ddab80 100644
@@ -119,7 +119,7 @@ todo_include_todos = False
 # The theme to use for HTML and HTML Help pages.  See the documentation for
 # a list of builtin themes.
 #
-html_theme = 'alabaster'
+html_theme = 'bizstyle'
 
 # 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
--

2.11.0

Quoted 4 lines
Quoted 4 lines

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

--
Jani Nikula, Intel Open Source Technology Center

Signature · 6 lines
Rodrigo Vivi
Blog: http://blog.vivi.eng.br
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#15 lore raw

[maintainer-tools PATCH 6/5] doc: load WaveDrom scripts directly from CDN instead of bundling

In reply to 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.

---
 drm-intel-timeline.rst | 20 +++-----------------
 drm-misc-timeline.rst  | 21 +++------------------
 2 files changed, 6 insertions(+), 35 deletions(-)
drm-intel-timeline.rst +3 -17
index 3ab39afd5788..fe69fd374cf6 100644
@@ -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();
 	}
drm-misc-timeline.rst +3 -18
index a9a80d6a4cfb..76eb780ebd0a 100644
@@ -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>
-
Signature · 6 lines
2.11.0

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#16 lore raw

Re: [maintainer-tools PATCH 6/5] doc: load WaveDrom scripts directly from CDN instead of bundling

Quoted 31 lines · 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.

---
 drm-intel-timeline.rst | 20 +++-----------------
 drm-misc-timeline.rst  | 21 +++------------------
 2 files changed, 6 insertions(+), 35 deletions(-)
drm-intel-timeline.rst +0 -9
index 3ab39afd5788..fe69fd374cf6 100644
@@ -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>

drm-intel-timeline.rst line 4

Quoted 10 lines
drm-intel-timeline.rst +2 -8
-       <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>

is wavedrom.min.js same as wavedrom.js?

Quoted 51 lines
drm-intel-timeline.rst +1 -0
+       <script>
        function init() {
                WaveDrom.ProcessAll();
        }
drm-misc-timeline.rst +3 -19
index a9a80d6a4cfb..76eb780ebd0a 100644
@@ -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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Signature · 6 lines
Rodrigo Vivi
Blog: http://blog.vivi.eng.br
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#17 lore raw

Re: [maintainer-tools PATCH 6/5] doc: load WaveDrom scripts directly from CDN instead of bundling

Quoted 36 lines · Rodrigo Vivi
Quoted 35 lines · 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.

---
 drm-intel-timeline.rst | 20 +++-----------------
 drm-misc-timeline.rst  | 21 +++------------------
 2 files changed, 6 insertions(+), 35 deletions(-)
drm-intel-timeline.rst +0 -13
index 3ab39afd5788..fe69fd374cf6 100644
@@ -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
Quoted 8 lines

drm-intel-timeline.rst line 4

Quoted 6 lines
drm-intel-timeline.rst +2 -4
-       :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>

is wavedrom.min.js same as wavedrom.js?

I just copy-pasted the CDN link from [1], but diffing them confirms they're the same.

BR,
Jani.

[1] https://github.com/drom/wavedrom#html-pages

Quoted 52 lines
Quoted 52 lines
drm-intel-timeline.rst +1 -0
+       <script>
        function init() {
                WaveDrom.ProcessAll();
        }
drm-misc-timeline.rst +3 -19
index a9a80d6a4cfb..76eb780ebd0a 100644
@@ -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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Signature · 5 lines
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx