diff options
| author | aethrvmn <me@aethrvmn.gr> | 2025-09-20 22:27:35 +0000 |
|---|---|---|
| committer | aethrvmn <me@aethrvmn.gr> | 2025-09-20 22:27:35 +0000 |
| commit | 9b5f3fad7068298265dbbc8a65077f7917a090a5 (patch) | |
| tree | 0905b29eb7c03d6bc6e16dd1ebcd1ec9b6b83320 /themes/hugo-book/layouts/_partials/docs/links/portable-link.html | |
| parent | super simple setup guide (diff) | |
updated hugo-book theme
Diffstat (limited to 'themes/hugo-book/layouts/_partials/docs/links/portable-link.html')
| -rw-r--r-- | themes/hugo-book/layouts/_partials/docs/links/portable-link.html | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/themes/hugo-book/layouts/_partials/docs/links/portable-link.html b/themes/hugo-book/layouts/_partials/docs/links/portable-link.html new file mode 100644 index 0000000..4c5c0c0 --- /dev/null +++ b/themes/hugo-book/layouts/_partials/docs/links/portable-link.html @@ -0,0 +1,29 @@ +{{- $destination := .Destination -}} +{{- $url := urls.Parse .Destination -}} + +{{- $isRemote := gt (len $url.Host) 0 -}} +{{- $isFragment := strings.HasPrefix .Destination "#" -}} + +{{- if and (not $isRemote) (not $isFragment) -}} + {{- $path := strings.TrimPrefix "./" $url.Path -}} + {{- $path = strings.TrimSuffix ".md" $path -}} + {{- $path = strings.TrimSuffix "/_index" $path -}} + + {{- with (.Page.GetPage $path) -}} + {{- $destination = .RelPermalink -}} + {{- else with (.Page.Resources.Get $path) -}} + {{- $destination = .RelPermalink -}} + {{- else with (resources.Get $path) -}} + {{- $destination = .RelPermalink -}} + {{- else -}} + {{- warnf "Reference '%s' not found in '%s'" .Destination .Page.Permalink -}} + {{- end -}} + + {{- with $url.RawQuery -}} + {{- $destination = print $destination "?" . -}} + {{- end -}} + {{- with $url.Fragment -}} + {{- $destination = print $destination "#" . -}} + {{- end -}} +{{- end -}} +{{- return $destination -}}
\ No newline at end of file |
