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 %>
+