36 lines
1.3 KiB
HTML
36 lines
1.3 KiB
HTML
{{- /*
|
|
Renders an absolute URL to the source code for an embedded template.
|
|
|
|
Accepts either positional or named parameters, and depends on the
|
|
embedded_templates.toml file in the data directory.
|
|
|
|
@param {string} filename The embedded template's file name, excluding extension.
|
|
|
|
@returns template.HTML
|
|
|
|
@example {{% et robots.txt %}}
|
|
@example {{% et filename=robots.txt %}}
|
|
*/}}
|
|
|
|
{{- /* Get parameters. */}}
|
|
{{- $filename := "" -}}
|
|
{{- if .IsNamedParams -}}
|
|
{{- $filename = .Get "filename" -}}
|
|
{{- else -}}
|
|
{{- $filename = .Get 0 -}}
|
|
{{- end -}}
|
|
|
|
{{- /* Render. */}}
|
|
{{- with $filename -}}
|
|
{{- with site.Data.embedded_template_urls -}}
|
|
{{- with index . $filename -}}
|
|
{{- urls.JoinPath site.Data.embedded_template_urls.base_url . -}}
|
|
{{- else -}}
|
|
{{- errorf "The %q shortcode was unable to find a URL for the embedded template named %q. Check the name. See %s" $.Name $filename $.Position -}}
|
|
{{- end -}}
|
|
{{- else -}}
|
|
{{- errorf "The %q shortcode was unable to find the embedded_template_urls data file in the site's data directory. See %s" $.Name $.Position -}}
|
|
{{- end -}}
|
|
{{- else -}}
|
|
{{- errorf "The %q shortcodes requires a named or positional parameter, the file name of the embedded template, excluding its extension. See %s" .Name .Position -}}
|
|
{{- end -}}
|