{{- $text_link := .Text -}}
{{ $_ := newScratch }}
{{- range $k, $v := .Page.Site.Data.sandpointsnamegraph -}}
{{ $_.Add "triads" $k }}
{{- end -}}
{{- if strings.HasPrefix .Destination "bib:" -}}
{{- $destination := (substr .Destination 4) -}}
{{- $c_prefix := .Page.Site.Params.catalogprefix | default "/library/" -}}
{{- if index $.Page.Site.Data.books.catalog $destination -}}
{{- $b := index $.Page.Site.Data.books.catalog $destination -}}
{{- if not $text_link -}}
{{- delimit $b.authors ", " " & " -}}{{- with $b.pubdate -}}, {{- substr . 0 4}}{{- end -}}.bib⁄‘{{- $b.title -}}’. {{- with $b.publisher -}}{{- . -}}.{{- end -}}
{{- else -}}
{{- $text_link -}}
{{- end -}}
{{- else -}}
{{- $text_link -}}⦚bib:{{- $destination -}} not found
{{- 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 ":" "/")) -}}
{{- if not $text_link -}}
{{- index (split .Destination ":") 0 -}}⁄{{- $session.Title -}}
{{- else -}}
{{- index (split .Destination ":") 0 -}}⁄{{- $text_link -}}
{{- end -}}
{{- else -}}
{{- $text_link -}}⦚{{- .Destination -}} not found
{{- end -}}
{{- else if strings.HasPrefix .Destination "audio:" -}}
{{- $a_parts := split (substr .Destination 6) "|" -}}
{{- $a_destination := index ($a_parts) 0 -}}
{{- if findRE "^.*static" $a_destination -}}
{{ .Text }}
{{- else if findRE "^.*static" .Destination -}}
{{- else -}}
{{- end -}}