Am 21.10.2016 um 23:19 schrieb Johannes Berg <johannes@xxxxxxxxxxxxxxxx>: > On Fri, 2016-10-21 at 18:11 +0200, Markus Heiser wrote: > >> Yes and No. It depends on the tools (toolchains) we want to use. >> As far as I can see from a abstract POV it should by simple for >> math:: / since we already use/need LaTeX for PDF, for other tools >> I have to look. > > Not sure if we were talking past each other - but the pass-through is > actually really simple - example patch below. Yeah, I thought something similar. But is the import of the extension a sufficient criteria? About ".. math::"; I guess we have to check if math extension AND pdflatex is installed. What do you suppose? (ATM my comments on this are superficial, sorry that I haven't not yet fond the time, to look closer into all these generators). --Markus-- > > This makes it output an SVG (with fallback to PNG even) into the HTML, > a PDF into the PDF, and plain pre-formatted text for both when the > plantuml sphinx plugin isn't installed. > > johannes > > > diff --git a/Documentation/conf.py b/Documentation/conf.py > index bf6f310e5170..2c00ab6f0baf 100644 > --- a/Documentation/conf.py > +++ b/Documentation/conf.py > @@ -34,7 +34,8 @@ from load_config import loadConfig > # Add any Sphinx extension module names here, as strings. They can be > # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom > # ones. > -extensions = ['kernel-doc', 'rstFlatTable', 'kernel_include', 'cdomain'] > +extensions = ['kernel-doc', 'rstFlatTable', 'kernel_include', 'cdomain', > + 'plantuml'] > > # The name of the math extension changed on Sphinx 1.4 > if minor > 3: > @@ -494,6 +495,9 @@ pdf_documents = [ > kerneldoc_bin = '../scripts/kernel-doc' > kerneldoc_srctree = '..' > > +plantuml_output_format = "svg" > +plantuml_latex_output_format = "pdf" > + > # ------------------------------------------------------------------------------ > # Since loadConfig overwrites settings from the global namespace, it has to be > # the last statement in the conf.py file > diff --git a/Documentation/driver-api/index.rst b/Documentation/driver-api/index.rst > index 8e259c5d0322..e0d4f24b6039 100644 > --- a/Documentation/driver-api/index.rst > +++ b/Documentation/driver-api/index.rst > @@ -7,6 +7,12 @@ of device drivers. This document is an only somewhat organized collection > of some of those interfaces — it will hopefully get better over time! The > available subsections can be seen below. > > +.. uml:: > + > + Alice -> Bob: Hi! > + Alice <- Bob: How are you? > + > + > .. class:: toc-title > > Table of contents > diff --git a/Documentation/sphinx/dummy.py b/Documentation/sphinx/dummy.py > new file mode 100644 > index 000000000000..cfac42886ebd > --- /dev/null > +++ b/Documentation/sphinx/dummy.py > @@ -0,0 +1,24 @@ > +from sphinx.util.compat import Directive > +from docutils import nodes > +from docutils.parsers.rst import directives > + > +class IgnoreOptions(object): > + def __getitem__(self, key): > + return directives.unchanged > + > +def create_setup(directives): > + def setup(app): > + for d in directives: > + class TextDirective(Directive): > + has_content = True > + option_spec = IgnoreOptions() > + > + def run(self): > + text = '\n'.join(self.content) > + return [nodes.literal_block('', text, > + classes=['code', > + 'missing-plugin', > + 'missing-plugin-%s' % d])] > + > + app.add_directive(d, TextDirective) > + return setup > diff --git a/Documentation/sphinx/plantuml.py b/Documentation/sphinx/plantuml.py > new file mode 100644 > index 000000000000..0007bc7f24fd > --- /dev/null > +++ b/Documentation/sphinx/plantuml.py > @@ -0,0 +1,7 @@ > +# -*- coding: utf-8 -*- > +from dummy import create_setup > + > +try: > + from sphinxcontrib.plantuml import * > +except: > + setup = create_setup(['uml']) -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html