diagrams-svg- SVG backend for diagrams drawing EDSL.

Safe HaskellNone



Convenient creation of command-line-driven executables for rendering diagrams using the SVG backend.

  • defaultMain creates an executable which can render a single diagram at various options.
  • multiMain is like defaultMain but allows for a list of diagrams from which the user can choose one to render.

If you want to generate diagrams programmatically---i.e. if you want to do anything more complex than what the below functions provide---you have several options.



defaultMain :: Diagram SVG R2 -> IO ()Source

This is the simplest way to render diagrams, and is intended to be used like so:

 ... definitions ...

 main = defaultMain myDiagram

Compiling this file will result in an executable which takes various command-line options for setting the size, output file, and so on, and renders myDiagram with the specified options.

Pass --help to the generated executable to see all available options.

multiMain :: [(String, Diagram SVG R2)] -> IO ()Source

multiMain is like defaultMain, except instead of a single diagram it takes a list of diagrams paired with names as input. The generated executable then takes an argument specifying the name of the diagram that should be rendered. This is a convenient way to create an executable that can render many different diagrams without modifying the source code in between each one.

data SVG Source

SVG is simply a token used to identify this rendering backend (to aid type inference).