postgresql/doc/src/sgml/images
Peter Eisentraut ac5bb8f275 Add XSL stylesheet to fix up SVG files
The SVG output produced by external tools needs some postprocessing.
This is implemented by this new XSL stylesheet.

Issues are:

- SVG produced by Ditaa does not add a viewBox attribute to the svg
  element, needed to make the image scalable.

- SVG produced by Graphviz uses a stroke="transparent" attribute,
  which is not valid SVG.  It appears to mostly work, but FOP
  complains.

Other tweaks can be added over time.

This reverts 7dc78d8ef3 and
29046c44f3, which applied these fixes
manually.
2019-06-19 21:26:42 +02:00
..
Makefile Add XSL stylesheet to fix up SVG files 2019-06-19 21:26:42 +02:00
README Add XSL stylesheet to fix up SVG files 2019-06-19 21:26:42 +02:00
fixup-svg.xsl Add XSL stylesheet to fix up SVG files 2019-06-19 21:26:42 +02:00
gin.gv Change Graphviz file extension 2019-05-26 08:08:05 +02:00
gin.svg Add XSL stylesheet to fix up SVG files 2019-06-19 21:26:42 +02:00
pagelayout.svg Add XSL stylesheet to fix up SVG files 2019-06-19 21:26:42 +02:00
pagelayout.txt doc: Add some images 2019-03-27 23:10:23 +01:00

README

Images
======

This directory contains images for use in the documentation.

Creating an image
-----------------

A variety of tools can be used to create an image.  The appropriate
choice depends on the nature of the image.  We prefer workflows that
involve diffable source files.

These tools are acceptable:

- Graphviz (https://graphviz.org/)
- Ditaa (http://ditaa.sourceforge.net/)

We use SVG as the format for integrating the image into the ultimate
output formats of the documentation, that is, HTML, PDF, and others.
Therefore, any tool used needs to be able to produce SVG.

This directory contains makefile rules to build SVG from common input
formats, using some common styling.

fixup-svg.xsl applies some postprocessing to the SVG files produced by
those external tools to address assorted issues.  See comments in
there, and adjust and expand as necessary.

Both the source and the SVG output file are committed in this
directory.  That way, we don't need all developers to have all the
tools installed.  While we accept that there could be some gratuitous
diffs in the SVG output depending the specific tool, let's keep an eye
on that and keep it to a minimum.

Using an image in DocBook
-------------------------

Here is an example for using an image in DocBook:

    <figure id="gin-internals-figure">
     <title>GIN Internals</title>
     <mediaobject>
      <imageobject>
       <imagedata fileref="images/gin.svg" format="SVG" width="100%"/>
      </imageobject>
     </mediaobject>
    </figure>

Notes:

- The real action is in the <mediaobject> element, but typically a
  <figure> should be wrapped around it and an <xref> to the figure
  should be put into the text somewhere.  Don't just put an image into
  the documentation without a link to it and an explanation of it.

- Things are set up so that we only need one <imagedata> element, even
  with different output formats.

- The attribute format="SVG" is required.  If you omit it, it will
  still appear to work, but the stylesheets do a better job if the
  image is declared as SVG explicitly.

- The width should be set to something.  This ensures that the image
  is scaled to fit the page in PDF output.  (Other widths than 100%
  might be appropriate.)