Omphaloskepsis-2/layouts/shortcodes/cite.html

29 lines
1.1 KiB
HTML

<!--
Renders a work citation with semantic markup.
@params cite URI for work. Optional.
@params citeStyle Force a citation style. Optional.
@params href URI for citation, or 'asCite' to use value of `cite`. Optional.
@params schemaType The Schema.org `itemtype` value. Default 'CreativeWork'.
@params shortTitle Abbreviated display title. Optional.
@params title Title of the work to display.
@params titleLang Language code of a foreign-language work's title. Optional.
@params titleTr English translation of a foreign-language work's title. Optional.
-->
<!-- Validation -->
{{- if ( not ( isset .Params "title" ) ) -}}
{{- errorf "No title found for citation (%q)" .Page.File.Path -}}
{{- end -}}
{{- if ( not ( isset $.Params "cite" ) ) -}}
{{- erroridf "missing-cite" "No cite found for citation '%q' (%q)" .Params.title .Page.File.Path -}}
{{- end -}}
<!-- Rendering -->
{{- $citationId := cond ( .Params.cite | not | not ) .Params.cite .Params.title -}}
{{- /**/ -}}{{- partialCached "cite.html.tmpl" . $citationId -}}{{- /**/ -}}