[RFC PATCH v3 0/1] docs-rst: automatically convert Graphviz and SVG images

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks to all your feedback to v2 of this RFC, I assembled a new implementation
for image and figure handling.

* To prevent confusion, it implements 'kernel-image' and 'kernel-figure'
  directive. These directives are similar to 'figure' and 'image', except they
  don't support *remote URI* and *glob* pattern.

* With the 'kernel-render' directive, this v3 implements also a concept to embed
  render markups (or languages). Supported markups:

  - DOT: render embedded Graphviz's **DOC**
  - SVG: render embedded Scalable Vector Graphics (**SVG**)

* Performance: No unconditional conversions. Convert only what is needed by the
  builder. If a newer conversion already exist, reuse it.

* Do not use shell on subprocess

* Converted files are not placed in kernel's source tree (always placed in *out*
  folders).

How it works:

The handling of image formats is done very late, in the *write* phase.  For more
details see "Build Phases" in the Sphinx extension tutorial:

 http://www.sphinx-doc.org/en/1.4.9/extdev/tutorial.html#build-phases

In the *write* phase, all the kernel-image/figure/render directives (nodes) will
call a core convert_image(..) function. This function implements all the methods
for scalable image support depending on builder's output format and the
installed tools.

---
v3: complete rewrite based on the discussion of RFC v2
v2: fixed (bisect) bug / sorry
---

Markus Heiser (1):
  docs-rst: automatically convert Graphviz and SVG images

 Documentation/conf.py                 |   2 +-
 Documentation/doc-guide/hello.dot     |   3 +
 Documentation/doc-guide/sphinx.rst    |  90 +++++-
 Documentation/doc-guide/svg_image.svg |  10 +
 Documentation/process/changes.rst     |   8 +-
 Documentation/sphinx/kfigure.py       | 505 ++++++++++++++++++++++++++++++++++
 6 files changed, 612 insertions(+), 6 deletions(-)
 create mode 100644 Documentation/doc-guide/hello.dot
 create mode 100644 Documentation/doc-guide/svg_image.svg
 create mode 100644 Documentation/sphinx/kfigure.py

-- 
2.7.4

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



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux