SVGen
SVG generator
Install
$ gem install svgen
Usage
rect, circle, text
require "svgen"
svg = SVGen::SVG.new(width: 600, height: 400) do |svg|
svg.rect(width: 300, height: 200, fill: "blue")
svg.circle(cx: 100, cy: 100, r: 50, fill: "red")
svg.text("Sample Text", x: 20, y: 20)
end
svg.generate
#=>
# <svg width="600" height="300" xmlns="http://www.w3.org/2000/svg">
# <rect width="300" height="200" fill="blue"/>
# <circle cx="100" cy="100" r="50" fill="red"/>
# <text x="20" cy="20">Sample Text</text>
# </svg>
group
require "svgen"
svg = SVGen::SVG.new(width: 600, height: 400) do |svg|
svg.g(stroke: "red", "stroke-width" => 5) do |g|
g.rect(x: 50, y: 50, width: 100, height: 100)
g.circle(cx: 200, cy: 200, r: 50)
end
end
svg.generate
#=>
# <svg width="600" height="300" xmlns="http://www.w3.org/2000/svg">
# <g stroke="red" stroke-width="5">
# <rect x="50" y="50" width="100" height="100"/>
# <circle cx="200" cy="200" r="50"/>
# </g>
# </svg>