diff options
| -rw-r--r-- | template/layouts/_default/_markup/render-link.html | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/template/layouts/_default/_markup/render-link.html b/template/layouts/_default/_markup/render-link.html new file mode 100644 index 0000000..a3bc8bf --- /dev/null +++ b/template/layouts/_default/_markup/render-link.html @@ -0,0 +1,22 @@ +{{- $dest := .Destination -}} +{{- if strings.HasSuffix $dest ".md" -}} + {{- $clean := $dest | strings.TrimPrefix "./" | strings.TrimPrefix "../" | strings.TrimPrefix "/" -}} + {{- $base := strings.TrimSuffix ".md" $clean -}} + + {{- $target := site.GetPage $base -}} + {{- if not $target -}} + {{- $target = site.GetPage (printf "%s.md" $base) -}} + {{- end -}} + + {{- if $target -}} + {{- $dest = $target.RelPermalink -}} + {{- else -}} + {{- $fallback := printf "/%s/" $base -}} + {{- warnf "Markdown link not found: %s → %s" $dest $fallback -}} + {{- $dest = $fallback -}} + {{- end -}} +{{- end -}} + +<a href="{{ $dest | safeURL }}" {{ with .Title }}title="{{ . }}"{{ end }}> + {{- .Text | safeHTML -}} +</a> |
