diagrams-canvas: HTML5 canvas backend for diagrams drawing EDSL

[ bsd3, graphics, library ] [ Propose Tags ]

This package provides a modular backend for rendering diagrams created with the diagrams EDSL using an HTML5 canvas.

[Skip to Readme]
Versions [RSS] [faq] 0.2,,,, 0.3,,,,, 1.3,,,,,,,, 1.4, 1.4.1
Change log CHANGELOG.md
Dependencies base (>=4.6 && <4.16), blank-canvas (>=0.5 && <0.8), cmdargs (>=0.6 && <0.11), containers (>=0.3 && <0.7), data-default-class (>=0.0.1 && <0.2), diagrams-core (>=1.3 && <1.6), diagrams-lib (>=1.3 && <1.5), lens (>=4.0 && <5.1), mtl (>=2.0 && <3.0), NumInstances (>=1.0 && <1.5), optparse-applicative (>=0.13 && <0.17), statestack (>=0.2 && <0.4), text (>=1.0 && <1.3) [details]
License BSD-3-Clause
Author Jeffrey Rosenbluth, Ryan Yates, Brent Yorgey, Andy Gill, Daniel Bergey
Maintainer diagrams-discuss@googlegroups.com
Revised Revision 2 made by BrentYorgey at 2021-08-19T15:24:00Z
Category Graphics
Home page https://diagrams.github.io/
Bug tracker http://github.com/diagrams/diagrams-canvas/issues
Source repo head: git clone https://github.com/diagrams/diagrams-canvas.git
Uploaded by BrentYorgey at 2018-05-09T21:37:16Z
Distributions NixOS:1.4.1
Downloads 13819 total (48 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2018-05-09 [all 1 reports]




Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees


Readme for diagrams-canvas-1.4.1

[back to package description]


diagrams-canvas is a canvas backend for diagrams based on the blank-canvas https://github.com/ku-fpg/blank-canvas package. Diagrams is a powerful, flexible, declarative domain-specific language for creating vector graphics, using the Haskell programming language. It supports most features defined in diagrams-lib.


cabal update && cabal install diagrams-canvas


A simple example that uses diagrams-canvas to draw a square.

import Diagrams.Prelude
import Diagrams.Backend.Canvas.CmdLine

b1 = (square 20 :: Diagram B) # lw 0.002

main = mainWith (pad 1.1 b1)

Save this to file named Square.hs and compile this program:

ghc --make -threaded Square.hs

This will generate an executable which, when run dispays the resulting diagrams to http://localhost:3000/

$ ./Square -w 750