Am 21.10.2016 um 23:19 schrieb Johannes Berg <johan...@sipsolutions.net>:

> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to