repo_server/lib/templating.ex
2025-02-18 10:49:37 -06:00

30 lines
816 B
Elixir

defmodule RlRepo.Template do
require Logger
def template(template_name, replacements) do
Logger.info "Loading template #{template_name}"
{:ok, body} = File.read("assets/html/#{template_name}.html")
# TODO: Find all template start '~(' and all template ends ')'
[before_placeholder | rest] = split_path = String.split(body, "~(");
[abc | _] = rest
[placeholder_name | after_placeholder] = String.split(abc, ")");
# Logger.info rest
{:ok, replace} = Map.fetch(replacements, placeholder_name)
# next = String.split(rest, ")");
Logger.info "Replacing #{placeholder_name} with #{replace}"
[after_placeholder| _] = after_placeholder
a = before_placeholder <> replace <> after_placeholder
# TODO: use the map to populate placeholders
a
# body
end
end