19 lines
604 B
HTML
19 lines
604 B
HTML
|
|
{{/*
|
||
|
|
This utility replaces placeholders in a URL template string.
|
||
|
|
|
||
|
|
Usage:
|
||
|
|
{{ partial "utils/template-url.html" (dict "template" .url "values" (dict "url" $pageURL "title" $pageTitle "markdown_url" $markdownURL)) }}
|
||
|
|
|
||
|
|
Placeholders use the format {key} and values are URL-encoded automatically.
|
||
|
|
*/}}
|
||
|
|
{{- $template := .template -}}
|
||
|
|
{{- $values := .values | default dict -}}
|
||
|
|
|
||
|
|
{{- range $key, $value := $values -}}
|
||
|
|
{{- $placeholder := printf "{%s}" $key -}}
|
||
|
|
{{- $encoded := $value | urlquery -}}
|
||
|
|
{{- $template = replace $template $placeholder $encoded -}}
|
||
|
|
{{- end -}}
|
||
|
|
|
||
|
|
{{- return $template -}}
|