refactor templates layout
@see https://gohugo.io/templates/new-templatesystem-overview/
This commit is contained in:
parent
a83f339dc8
commit
230c46411b
102 changed files with 2 additions and 2 deletions
|
@ -1,134 +0,0 @@
|
|||
{{- /*
|
||||
Renders a work citation with semantic markup, called using the `cite` shortcode.
|
||||
|
||||
@params sc Site context.
|
||||
@params pc Page context.
|
||||
|
||||
@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 itemtype 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.
|
||||
|
||||
For works cited that form part of a series (optional):
|
||||
@params itemtypeSeries The Schema.org `itemtype` value for the work series. Default 'CreativeWork'. Optional.
|
||||
@params titleSeries Title of the work series to display. Optional.
|
||||
@params citeSeries URI for work series. Optional.
|
||||
@params titleSeriesLang Language code of a foreign-language work series' title. Optional.
|
||||
@params titleSeriesTr English translation of a foreign-language work series' title. Optional.
|
||||
@params numberSeries The number or code of the quoted work within its series. Optional.
|
||||
*/ -}}
|
||||
|
||||
<!-- Optional parameter overrides (for nested citations) -->
|
||||
|
||||
{{- $citeText := .Params.cite }}
|
||||
{{- $replacedCite := replaceRE `^([a-z]+?://)?(www)?` "" $citeText }}
|
||||
{{- $startOfCite := delimit ( findRE `^([a-z]+?://)?(www)?` $citeText 1 ) "" }}
|
||||
{{- $cite := replaceRE `^` $startOfCite ( trim ( $replacedCite | .pc.Page.RenderString ) "\r\n" ) -}}
|
||||
|
||||
{{- $title := trim ( .Params.title | .pc.Page.RenderString ) "\r\n" -}}
|
||||
{{- $titleLang := .Params.titleLang -}}
|
||||
{{- $titleTr := .Params.titleTr -}}
|
||||
{{- $itemtype := .Params.itemtype -}}
|
||||
|
||||
{{- if ( strings.Contains $cite "#" ) -}}
|
||||
{{- erroridf "cite-with-fragment" "Cite parameter includes fragment identifier, which probably isn't what you want." -}}
|
||||
{{- $cite = delimit ( split $cite "#" ) "" -}}
|
||||
{{- end -}}
|
||||
|
||||
<!-- Validation -->
|
||||
|
||||
{{- if ( and ( isset .Params "citeStyle" ) ( not ( in ( slice "inherit" "enquote" "normal" ) .Params.citeStyle ) ) ) -}}
|
||||
{{- erroridf "invalid-citeStyle" "Invalid `citeStyle` value %q for %q" .Params.citeStyle $title -}}
|
||||
{{- end -}}
|
||||
|
||||
<!-- TODO: check `.Params.href` is URI or 'asCite' -->
|
||||
|
||||
{{- if ( and $itemtype ( not ( in .sc.Site.Data.itemtypes $itemtype ) ) ) -}}
|
||||
{{- erroridf "invalid-itemtype" "Invalid Schema.org type value '%s' for %s (%q)\r\n%q" $itemtype .Params.title .sc.Page.File.Dir .Params -}}
|
||||
{{- end -}}
|
||||
|
||||
<!-- TODO: check `.Params.cite` is URI -->
|
||||
|
||||
{{- if ( or $titleLang $titleTr ) -}}
|
||||
{{- if ( not ( and $titleLang $titleTr ) ) -}}
|
||||
{{- erroridf "invalid-foreign-title" "Must have both title translation and language set for foreign language title %q" $title -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
<!-- Variable assignment -->
|
||||
|
||||
{{- $hasCitedWork := ( isset .Params "title" ) }}
|
||||
{{- $hasCitedSeries := ( isset .Params "titleSeries" ) -}}
|
||||
|
||||
<!-- Rendering -->
|
||||
|
||||
{{- $itemType := default "CreativeWork" $itemtype -}}
|
||||
{{- if ( or ( in .sc.Site.Data.itemtypes $itemType ) ( eq .Params.suppress "true" ) ) -}}
|
||||
{{- with .Params.href -}}
|
||||
<a href="{{- if eq . "asCite" -}}{{- $cite -}}{{- else -}}{{- . -}}{{- end -}}">
|
||||
{{- end -}}
|
||||
<cite
|
||||
class="cite{{ with .Params.citeStyle }} cite--{{ . }}{{ end }}"
|
||||
itemscope
|
||||
itemprop="citation"
|
||||
itemtype="https://schema.org/{{- $itemType -}}"
|
||||
{{- if $titleLang -}}
|
||||
lang="{{- $titleLang -}}"
|
||||
title="{{- $titleTr -}}"
|
||||
{{- end -}}>
|
||||
{{- with $cite -}}
|
||||
<meta itemprop="url" content="{{- . -}}">
|
||||
{{- end -}}
|
||||
<span itemprop="name">
|
||||
{{- if $titleLang -}}
|
||||
<i
|
||||
lang="{{ $titleLang }}"
|
||||
title="
|
||||
{{- if $.Params.shortTitle -}}
|
||||
{{- printf "%s [%s]" $title $titleTr | plainify -}}
|
||||
{{- else -}}
|
||||
{{- $titleTr | plainify -}}
|
||||
{{- end -}}
|
||||
"
|
||||
>
|
||||
{{- end -}}
|
||||
|
||||
{{- ( default $title .Params.shortTitle ) | markdownify | safeHTML -}}
|
||||
|
||||
{{- if $titleLang -}}
|
||||
</i>
|
||||
{{- end -}}
|
||||
</span>{{- /**/ -}}
|
||||
</cite>
|
||||
{{- with .Params.href -}}
|
||||
</a>
|
||||
{{- end -}}
|
||||
|
||||
{{- if $hasCitedSeries }}
|
||||
(<span itemprop="partOfSeries">
|
||||
{{- partial "cite.html" (
|
||||
dict
|
||||
"sc" $.sc
|
||||
"pc" $.pc
|
||||
"Params" (
|
||||
dict
|
||||
"cite" .Params.citeSeries
|
||||
"title" .Params.titleSeries
|
||||
"titleLang" .Params.titleSeriesLang
|
||||
"titleTr" .Params.titleSeriesTr
|
||||
"itemtype" .Params.itemtypeSeries
|
||||
"href" .Params.hrefSeries
|
||||
)
|
||||
) -}}
|
||||
</span>
|
||||
{{- with .Params.seasonNumber }}, S<span itemprop="partOfSeason">{{ . }}</span>{{- end -}}
|
||||
{{- with .Params.episodeNumber }}, E<span itemprop="episodeNumber">{{ . }}</span>{{- end -}}
|
||||
)
|
||||
{{- end -}}
|
||||
{{- else -}}
|
||||
{{- erroridf "invalid-schema-type" "Invalid Schema.org type value %q for %q" $itemType $title -}}
|
||||
{{- end -}}
|
Loading…
Add table
Add a link
Reference in a new issue