30 lines
816 B
Elixir
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
|