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 */ -}}