32 lines
1.5 KiB
HTML
32 lines
1.5 KiB
HTML
{{- $currentPage := .Page -}}
|
||
{{- $text := .Text -}}
|
||
{{- $destination := .Destination -}}
|
||
|
||
{{- $u := urls.Parse $destination -}}
|
||
{{- if not $u.Scheme -}}
|
||
{{- $page := site.GetPage $destination -}}
|
||
{{- if $page -}}
|
||
{{- $backlinks := $page.Store.Get "backlinks" | default slice -}}
|
||
{{- $backlinks := $backlinks|append $currentPage.RelPermalink -}}
|
||
{{- $page.Store.Set "backlinks" ($backlinks|uniq) -}}
|
||
{{- if not $text -}}
|
||
{{- $text = $page.LinkTitle -}}
|
||
{{- end -}}
|
||
<span class="supt">{{- $page.Section -}}⁄</span><a href="{{- $page.RelPermalink -}}" {{- with $page.Title }} title="{{ . }}"{{ end -}}>{{- $text -}}</a>
|
||
{{- else if hasPrefix $destination "/library/" -}}
|
||
{{- $bib := strings.TrimPrefix "/library/" $destination -}}
|
||
{{- $b := index site.Data.books.catalog $bib -}}
|
||
{{- if not $b.title -}}
|
||
{{- warnf "In %s bib:%s not found." $currentPage.RelPermalink $bib -}}
|
||
{{- end -}}
|
||
{{- if not $text -}}
|
||
{{- $text = $b.title|default "" -}}
|
||
{{- end -}}
|
||
<span class="supt">library⁄</span><a href="/library/BROWSE_LIBRARY.html#/books/{{- $bib -}}">{{- $text -}}</a>
|
||
{{- else -}}
|
||
{{- warnf "In %s broken link: %s" $currentPage.RelPermalink $destination -}}
|
||
{{- end -}}
|
||
{{- else -}}
|
||
<span class="supt">www⁄</span><a href="{{ .Destination | safeURL }}"{{- with .Title }} title="{{ . }}"{{ end -}}{{- if $u.IsAbs }} rel="external"{{ end -}}>{{- if .Text }}{{ .Text }}{{- else -}}{{- .Destination -}}{{- end -}}</a>
|
||
{{- end -}}
|
||
{{- /* chomp trailing newline */ -}}
|