diff --git a/lib/labelmaker_web/constants.ex b/lib/labelmaker_web/constants.ex index bf27a2e..ef98122 100644 --- a/lib/labelmaker_web/constants.ex +++ b/lib/labelmaker_web/constants.ex @@ -3,6 +3,7 @@ defmodule LabelmakerWeb.Constants do label: "64 character maximum", font: "Helvetica", color: "black", + outline: "none", size: "24" } @@ -24,6 +25,8 @@ defmodule LabelmakerWeb.Constants do @max_label_length 64 + @outlines ~w(none white black gray) + @sizes 8..72 |> Enum.to_list() |> Enum.take_every(4) @@ -35,6 +38,7 @@ defmodule LabelmakerWeb.Constants do def fonts, do: @fonts def font_count, do: @fonts |> length() def max_label_length, do: @max_label_length + def outlines, do: @outlines def permitted_keys, do: @permitted_keys def sizes, do: @sizes end diff --git a/lib/labelmaker_web/controllers/label_controller.ex b/lib/labelmaker_web/controllers/label_controller.ex index 8991b66..404e67a 100644 --- a/lib/labelmaker_web/controllers/label_controller.ex +++ b/lib/labelmaker_web/controllers/label_controller.ex @@ -43,6 +43,18 @@ defmodule LabelmakerWeb.LabelController do filepath ] + args = + if options.outline != "none" do + [ + "-stroke", + options.outline, + "-strokewidth", + "1" + ] ++ args + else + args + end + {_, 0} = System.cmd("magick", args) end end diff --git a/lib/labelmaker_web/live/home.ex b/lib/labelmaker_web/live/home.ex index b7672de..c1f616e 100644 --- a/lib/labelmaker_web/live/home.ex +++ b/lib/labelmaker_web/live/home.ex @@ -8,7 +8,7 @@ defmodule LabelmakerWeb.Home do :ok, assign( socket, - Enum.to_list(Constants.defaults()) + Enum.to_list(%{Constants.defaults() | label: ""}) ) } end @@ -42,6 +42,11 @@ defmodule LabelmakerWeb.Home do <% end %> +