defmodule Mix.Tasks.GenerateExamples do use Mix.Task @shortdoc "generates a bunch of sample svgs" def run(_argv) do examples |> Enum.each(&generate_example/1) end defp examples do %{ "circle.svg" => [{:circle, %{cx: 50, cy: 50, r: 40}, nil}], "hexagon.svg" => [{:hexagon, %{cx: 50, cy: 50, r: 40}}], "pentagon.svg" => [{:pentagon, %{cx: 50, cy: 50, r: 40}}], "octagon.svg" => [{:octagon, %{cx: 50, cy: 50, r: 40}}], } end defp generate_example({filename, contents}) do svg = ChunkySVG.render(contents) File.write!("examples/#{filename}", svg) end end