@hackage diagrams-html51.4.2
HTML5 canvas backend for diagrams drawing EDSL
Deprecated
Tested Compilers
Dependencies (14)
- NumInstances >=1.0 && <1.5
- base >=4.7 && <4.19
- cmdargs >=0.6 && <0.11
- containers >=0.3 && <0.7
- data-default-class >=0.0.1 && <0.2
- diagrams-core >=1.3 && <1.6 Show all…
Dependents (2)
@hackage/acme-everything, @hackage/heatitup
diagrams-html5
diagrams-html5 is an HTML5 Canvas backend for diagrams based on the static-canvas https://github.com/jeffreyrosenbluth/static-canvas package.
diagrams is a powerful, flexible, declarative domain-specific language for creating vector graphics, using the Haskell programming language.
Installation
cabal update && cabal install diagrams-html5
Usage
A simple example that uses diagrams-html5 to draw a the Sierpinski triangle.

import Diagrams.Prelude
import Diagrams.Backend.Html5.CmdLine
sierpinski 1 = eqTriangle 1
sierpinski n = s
===
(s ||| s) # centerX
where s = sierpinski (n-1)
example :: Diagram B
example = sierpinski 7 # center # lw none # fc black
main = mainWith $ example # frame 0.1
Save this to file named Sierpinski.hs and compile this program:
ghc Sierpinski.hs
This will generate an executable which, when run creates an html file containing the HTML5 Canvas code to generate the diagram.
$ ./Sierpinski -o sierpinski.html -w 400
You must pass an output file name with a .html extension.
Usage: ./Sierpinksi [-w|--width WIDTH] [-h|--height HEIGHT] [-o|--output OUTPUT] [--loop] [-s|--src ARG] [-i|--interval INTERVAL]
Command-line diagram generation.
Available options:
-?,--help Show this help text
-w,--width WIDTH Desired WIDTH of the output image
-h,--height HEIGHT Desired HEIGHT of the output image
-o,--output OUTPUT OUTPUT file
-l,--loop Run in a self-recompiling loop
-s,--src ARG Source file to watch
-i,--interval INTERVAL When running in a loop, check for changes every INTERVAL seconds.