From f8417b8297a501fa5af42c790ceef2a02591d4ac Mon Sep 17 00:00:00 2001 From: ZhenShuo Leo <98386542+ZhenShuo2021@users.noreply.github.com> Date: Sun, 14 Dec 2025 13:27:21 +0800 Subject: [PATCH] feat: adopt Hugo embed render-link logic --- .prettierignore | 2 +- layouts/_default/_markup/render-link.html | 35 +++++++++++++++++------ 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/.prettierignore b/.prettierignore index d26f8b34..d2d823c7 100644 --- a/.prettierignore +++ b/.prettierignore @@ -25,7 +25,7 @@ static # # This create an unclose node -layouts/_default/_markup/render-heading.html +layouts/_default/_markup layouts/_default/index.json layouts/shortcodes/screenshot.html layouts/shortcodes/figure.html diff --git a/layouts/_default/_markup/render-link.html b/layouts/_default/_markup/render-link.html index a1003e82..c717a950 100644 --- a/layouts/_default/_markup/render-link.html +++ b/layouts/_default/_markup/render-link.html @@ -1,11 +1,30 @@ - +{{/* From Hugo, Apache v2 license + https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/_markup/render-link.html +*/}} +{{- $u := urls.Parse .Destination -}} +{{- $href := $u.String -}} +{{- if strings.HasPrefix $u.String "#" -}} + {{- $href = printf "%s#%s" .PageInner.RelPermalink $u.Fragment -}} +{{- else if and $href (not $u.IsAbs) -}} + {{- $path := strings.TrimPrefix "./" $u.Path -}} + {{- with or + ($.PageInner.GetPage $path) + ($.PageInner.Resources.Get $path) + (resources.Get $path) + -}} + {{- $href = .RelPermalink -}} + {{- with $u.RawQuery -}} + {{- $href = printf "%s?%s" $href . -}} + {{- end -}} + {{- with $u.Fragment -}} + {{- $href = printf "%s#%s" $href . -}} + {{- end -}} + {{- end -}} +{{- end -}} + + + {{- .Text | safeHTML -}} {{- /* Trim EOF */ -}}