56 lines
3.8 KiB
HTML
56 lines
3.8 KiB
HTML
{{- $text_link := .Text -}}
|
||
|
||
{{ $_ := newScratch }}
|
||
{{- range $k, $v := .Page.Site.Data.sandpointsnamegraph -}}
|
||
{{ $_.Add "triads" $k }}
|
||
{{- end -}}
|
||
|
||
{{- if strings.HasPrefix .Destination "img:" -}}
|
||
{{- $img_params := (substr .Destination 4) -}}
|
||
{{- $img_src := index (split $img_params " ") 0 -}}
|
||
{{- $img_attr := index (split $img_params $img_src) 1 -}}
|
||
<img src="{{ $img_src }}" {{ $img_attr | safeHTMLAttr }} />
|
||
{{- else if strings.HasPrefix .Destination "bib:" -}}
|
||
{{- $destination := (substr .Destination 4) -}}
|
||
{{- $c_prefix := .Page.Site.Params.sandpointsCatalogPrefix | default "/library/" -}}
|
||
{{- if index $.Page.Site.Data.books.catalog $destination -}}
|
||
{{- $b := index $.Page.Site.Data.books.catalog $destination -}}
|
||
{{- $bibhref := printf "%sBROWSE_LIBRARY.html#/book/%s" (safeURL ($c_prefix)) $destination }}
|
||
{{ $bibtitle := "" }}
|
||
{{ with $b.title }}
|
||
{{- $bibtitle = printf "%s" $b.title }}
|
||
{{ end }}
|
||
{{ .Page.Scratch.Add "bibs" (slice (slice $bibhref $bibtitle)) }}
|
||
{{- if not $text_link -}}
|
||
<span>{{- delimit $b.authors ", " " & " -}}{{- with $b.pubdate -}}, {{- substr . 0 4}}{{- end -}}. <a href="{{- $c_prefix | safeURL -}}BROWSE_LIBRARY.html#/book/{{- $destination -}}"{{- with $b.title}} title="{{- . -}}"{{- end -}} target="_blank"><span class="sup">bib⁄</span><i>{{- $b.title -}}</i></a>. {{- with $b.publisher -}}{{- . -}}.{{- end -}}</span>
|
||
{{- else -}}
|
||
<span class="sup">bib⁄</span><a href="{{- $c_prefix | safeURL -}}BROWSE_LIBRARY.html#/book/{{- $destination -}}"{{- with $b.title}} title="{{- . -}}"{{- end -}} target="_blank">{{- $text_link -}}</a>
|
||
{{- end -}}
|
||
{{- else -}}
|
||
<a href="{{- $c_prefix | safeURL -}}BROWSE_LIBRARY.html#/book/{{- $destination -}}"{{- with .Title}} title="{{- . -}}"{{- end -}}>{{- $text_link -}}⦚<span>bib:{{- $destination -}} not found</span></a>
|
||
{{- end -}}
|
||
{{- else if in ($_.Get "triads") (index (split .Destination ":") 0) -}}
|
||
{{- if $.Page.Site.GetPage (printf "/%s" (replace .Destination ":" "/")) -}}
|
||
{{- $session := $.Page.Site.GetPage (printf "/%s" (replace .Destination ":" "/")) -}}
|
||
{{ .Page.Scratch.Add "links" (slice $session) }}
|
||
{{- if not $text_link -}}
|
||
<a class="triadlink" repoid="{{- $session.File.UniqueID -}}" printhref="#ph-{{- $session.File.UniqueID -}}" href="{{- $session.RelPermalink -}}{{- if eq hugo.Environment "offline" -}}index.html{{- end -}}"{{- with $session.Title}} title="{{- $session.Title -}}"{{- end -}}><span class="sup">{{- index (split .Destination ":") 0 -}}⁄</span>{{- $session.Title -}}</a>
|
||
{{- else -}}
|
||
<a class="triadlink" repoid="{{- $session.File.UniqueID -}}" printhref="#ph-{{- $session.File.UniqueID -}}" href="{{- $session.RelPermalink -}}{{- if eq hugo.Environment "offline" -}}index.html{{- end -}}"{{- with .Title}} title="{{- . -}}"{{- end -}}><span class="sup">{{- index (split .Destination ":") 0 -}}⁄</span>{{- $text_link -}}</a>
|
||
{{- end -}}
|
||
{{- else -}}
|
||
<a href="{{- .Destination -}}/{{- if eq hugo.Environment "offline" -}}index.html{{- end -}}">{{- $text_link -}}⦚<span>{{- .Destination -}} not found</span></a>
|
||
{{- end -}}
|
||
{{- else if strings.HasPrefix .Destination "audio:" -}}
|
||
{{- $a_destination := (substr .Destination 6) -}}
|
||
{{- if findRE "^.*static" $a_destination -}}
|
||
<span class="soundcite" data-url="{{- (replaceRE "^.*static" "" $a_destination ) | safeURL -}}">{{ .Text }}</span>
|
||
{{- else -}}
|
||
<span class="soundcite" data-url="{{- $a_destination | safeURL -}}">{{ .Text }}</span>
|
||
{{- end -}}
|
||
{{- else if findRE "^.*static" .Destination -}}
|
||
<img src="{{- (replaceRE "^.*static" "" .Destination ) | safeURL -}}" alt="{{- .Text -}}" {{- with .Title}} title="{{- . -}}"{{- end -}} />
|
||
{{- else -}}
|
||
<img src="{{- .Destination | safeURL -}}" alt="{{- .Text -}}" {{- with .Title}} title="{{- . -}}"{{- end -}} />
|
||
{{- end -}}
|