Popularity
7.9
Stable
Activity
0.0
Stable
22
3
11
Monthly Downloads: 100
Programming language: Haskell
License: BSD 3-clause "New" or "Revised" License
Tags:
Graphics
Latest version: v0.3.6
blaze-svg alternatives and similar packages
Based on the "Graphics" category.
Alternatively, view blaze-svg alternatives based on common mentions on social networks and blogs.
-
implicit
A math-inspired CAD program in haskell. CSG, bevels, and shells; 2D & 3D geometry; 2D gcode generation... -
reanimate
Haskell library for building declarative animations based on SVG graphics -
Gifcurry
😎 The open-source, Haskell-built video editor for GIF makers. -
threepenny-gui
GUI framework that uses the web browser as a display. -
diagrams
Embedded domain-specific language for declarative vector graphics (wrapper package) -
GPipe
Core library of new GPipe, encapsulating OpenGl and providing a type safe minimal library -
luminance
Type-safe, type-level and stateless Haskell graphics framework -
log-warper
Logging library to provide more convenient, extremely configurable but simple monadic interface with pretty output -
timeplot
Analyst's swiss army knife for visualizing data from ad-hoc log files -
unm-hip
The University of New Mexico's Haskell Image Processing Library -
processing-for-haskell
Graphics for kids and artists. Processing implemented in Haskell -
GLUtil
Utility functions for working with OpenGL BufferObjects, GLSL shaders, and textures.
WorkOS - The modern identity platform for B2B SaaS
The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Promo
workos.com
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of blaze-svg or a related project?
README
blaze-svg uses blaze-markup to provide a SVG combinator library. blaze-markup is a fast combinator library which was derived from blaze-html.
Example Usage
Look at the examples in the Examples folder.
{-# LANGUAGE OverloadedStrings #-}
module Example where
import Text.Blaze.Svg11 ((!))
import qualified Text.Blaze.Svg11 as S
import qualified Text.Blaze.Svg11.Attributes as A
import Text.Blaze.Svg.Renderer.String (renderSvg)
main :: IO ()
main = do
let a = renderSvg svgDoc
putStrLn a
svgDoc :: S.Svg
svgDoc = S.docTypeSvg ! A.version "1.1" ! A.width "150" ! A.height "100" ! A.viewbox "0 0 3 2" $ do
S.rect ! A.width "1" ! A.height "2" ! A.fill "#008d46"
S.rect ! A.width "1" ! A.height "2" ! A.fill "#ffffff"
S.rect ! A.width "1" ! A.height "2" ! A.fill "#d2232c"
This produces the output below (formatted for readability)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="150" height="100" viewBox="0 0 3 2">
<rect width="1" height="2" fill="#008d46" />
<rect width="1" height=" 2" fill="#ffffff" />
<rect width="1" height="2" fill="#d2232c" />
</svg>
Documentation
- API Reference
- blaze-html Tutorial by Jasper. Although this is more of a tutorial about blaze-html, a sister library to blaze-svg, it is still useful to get an overview of how to use the combinators. *