diff --git a/src/template.sh b/src/template.sh index 76fe557..3ae87b4 100644 --- a/src/template.sh +++ b/src/template.sh @@ -12,3 +12,15 @@ function render() { sed -E 's/�UwU�/\&/g' <<< "$template" } + +# render_unsafe(array, template_file) +function render_unsafe() { + local template="$(cat "$2")" + local -n ref=$1 + for key in ${!ref[@]}; do + local value="$(sed -E 's/\&/\\\&/g;s/\//\\\//g' <<< "${ref[$key]}")" + template="$(sed -E 's/\{\{\.'"$key"'\}\}/'"$value"'/g' <<< "$template")" + done + + echo "$template" +}