From a93d52fd7304bad59da20249c348ac2b0d5d04c5 Mon Sep 17 00:00:00 2001 From: Will Faught Date: Sun, 24 Sep 2023 19:11:01 -0700 Subject: [PATCH] Use external link policy for icon URLs --- layouts/_default/_markup/render-link.html | 10 ++-------- layouts/partials/paige/target.html | 8 ++++++++ layouts/shortcodes/paige/icon.html | 4 +++- 3 files changed, 13 insertions(+), 9 deletions(-) create mode 100644 layouts/partials/paige/target.html diff --git a/layouts/_default/_markup/render-link.html b/layouts/_default/_markup/render-link.html index 19e41295..dec0e3ff 100644 --- a/layouts/_default/_markup/render-link.html +++ b/layouts/_default/_markup/render-link.html @@ -1,9 +1,3 @@ -{{ $external := false }} +{{ $target := partial "paige/target.html" (dict "page" .Page "url" .Destination) }} -{{ if (urls.Parse .Destination).IsAbs }} - {{ $external = not (strings.HasSuffix .Destination site.BaseURL) }} -{{ end }} - -{{ $newtab := and $external site.Params.paige.external_link_new_tab }} - -{{ .Text }} +{{ .Text }} diff --git a/layouts/partials/paige/target.html b/layouts/partials/paige/target.html new file mode 100644 index 00000000..eb10ed8d --- /dev/null +++ b/layouts/partials/paige/target.html @@ -0,0 +1,8 @@ +{{ $params := . }} + +{{ $page := $params.page }} +{{ $url := $params.url }} + +{{ $external := cond (urls.Parse $url).IsAbs (not (strings.HasSuffix $url site.BaseURL)) false }} + +{{ return cond (and $external ($page.Param "paige.external_link_new_tab" | not | not)) "_blank" "" }} diff --git a/layouts/shortcodes/paige/icon.html b/layouts/shortcodes/paige/icon.html index 99c59471..71feff16 100644 --- a/layouts/shortcodes/paige/icon.html +++ b/layouts/shortcodes/paige/icon.html @@ -2,13 +2,15 @@ {{ $title := .Get "title" }} {{ $url := .Get "url" }} +{{ $target := partial "paige/target.html" (dict "page" .Page "url" $url) }} + {{ if not $class }} {{ errorf "layouts/shortcodes/paige/icon.html: no class" }} {{ end }} {{ with $url }} - + {{ end }} {{ with $title }}{{ . }}{{ end }}