🚸 Prefer using absolute URLs over relative URLs

Closes: #997
This commit is contained in:
James Panther
2025-06-22 15:33:04 +10:00
parent b473215511
commit 29de0a1465
14 changed files with 44 additions and 48 deletions
+1
View File
@@ -16,6 +16,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- ⚠️ Required Hugo version is now 0.146.0 or later
- Layouts directory restructured to align with [new Hugo templating data structure](https://github.com/gohugoio/hugo/pull/13541#issue-2959000250)
- Absolute URLs are now preferred over relative URLs
- Upgrade to Mermaid v11.7.0 ([#1035](https://github.com/jpanther/congo/pull/1035), [#1040](https://github.com/jpanther/congo/pull/1040))
- Upgrade to KaTeX v0.16.22 ([#1048](https://github.com/jpanther/congo/pull/1048))
- Upgrade to ChartJS v4.5.0 ([#1052](https://github.com/jpanther/congo/pull/1052), [#1067](https://github.com/jpanther/congo/pull/1067))
@@ -8,6 +8,6 @@
<script
defer
type="text/javascript"
src="{{ $jsHome.RelPermalink }}"
src="{{ $jsHome.Permalink }}"
integrity="{{ $jsHome.Data.Integrity }}"
></script>
+1 -1
View File
@@ -6,7 +6,7 @@
{{- $fragment := "" }}
{{- with $url.Fragment }}{{ $fragment = printf "#%s" . }}{{ end -}}
{{- with .Page.GetPage $url.Path }}
{{ $link = printf "%s%s" .RelPermalink $fragment }}
{{ $link = printf "%s%s" .Permalink $fragment }}
{{ else }}
{{- if hasSuffix $url.Path ".md" }}
{{ warnf "[CONGO] Can't resolve: %s" .Destination }}
+6 -6
View File
@@ -8,7 +8,7 @@
href="{{ with $.Params.externalUrl }}
{{ . }}
{{ else }}
{{ $.RelPermalink }}
{{ $.Permalink }}
{{ end }}"
aria-label="{{ $.Title | emojify }}"
>
@@ -16,12 +16,12 @@
alt="{{ $.Params.featureAlt | default $.Params.thumbnailAlt | default "" }}"
{{ if eq .MediaType.SubType "svg" }}
class="w-24 max-w-[6rem] max-h-[4.5rem] rounded-md sm:max-h-[7.5rem] sm:w-40
sm:max-w-[10rem]" src="{{ .RelPermalink }}"
sm:max-w-[10rem]" src="{{ .Permalink }}"
{{ else }}
class="w-24 rounded-md sm:w-40" srcset="
{{- (.Fill "160x120 smart").RelPermalink }}
160w, {{- (.Fill "320x240 smart").RelPermalink }} 2x"
src="{{ (.Fill "160x120 smart").RelPermalink }}" width="160" height="120"
{{- (.Fill "160x120 smart").Permalink }}
160w, {{- (.Fill "320x240 smart").Permalink }} 2x"
src="{{ (.Fill "160x120 smart").Permalink }}" width="160" height="120"
{{ end }}
{{ if $.Site.Params.enableImageLazyLoading | default true }}
loading="lazy"
@@ -52,7 +52,7 @@
{{ else }}
<a
class="text-neutral-800 decoration-primary-500 hover:underline hover:underline-offset-2 dark:text-neutral"
href="{{ .RelPermalink }}"
href="{{ .Permalink }}"
>{{ .Title | emojify }}</a
>
{{ end }}
+1 -1
View File
@@ -55,7 +55,7 @@
{{ if (gt (len ($context.GetTerms $taxonomy)) 0) }}
{{ range $context.GetTerms $taxonomy }}
<a
href="{{ .RelPermalink }}"
href="{{ .Permalink }}"
class="mx-1 my-1 rounded-md border border-neutral-200 px-1 py-[1px] hover:border-primary-300 hover:text-primary-700 dark:border-neutral-600 dark:hover:border-primary-600 dark:hover:text-primary-400"
>{{ .LinkTitle }}</a
>
+2 -2
View File
@@ -11,7 +11,7 @@
<div class="flex justify-between pt-3">
<span>
{{ if $prev }}
<a class="group flex" href="{{ $prev.RelPermalink }}">
<a class="group flex" href="{{ $prev.Permalink }}">
<span
class="me-2 text-neutral-700 transition-transform group-hover:-translate-x-[2px] group-hover:text-primary-600 dark:text-neutral dark:group-hover:text-primary-400"
><span class="ltr:inline rtl:hidden">&larr;</span
@@ -33,7 +33,7 @@
</span>
<span>
{{ if $next }}
<a class="group flex text-right" href="{{ $next.RelPermalink }}">
<a class="group flex text-right" href="{{ $next.Permalink }}">
<span class="flex flex-col">
<span
class="mt-[0.1rem] leading-6 group-hover:underline group-hover:decoration-primary-500"
+1 -1
View File
@@ -10,7 +10,7 @@
<li class="{{ if or (eq .p1 .p2) (.p1.IsHome) }}hidden{{ end }} inline">
<a
class="dark:underline-neutral-600 decoration-neutral-300 hover:underline"
href="{{ .p1.RelPermalink }}"
href="{{ .p1.Permalink }}"
>{{ if .p1.Title }}
{{- .p1.Title -}}
{{ else }}
+4 -4
View File
@@ -17,7 +17,7 @@
{{ $jsAppearance = $jsAppearance | resources.Minify | resources.Fingerprint $algorithm }}
<script
type="text/javascript"
src="{{ $jsAppearance.RelPermalink }}"
src="{{ $jsAppearance.Permalink }}"
integrity="{{ $jsAppearance.Data.Integrity }}"
></script>
{{ $cssScheme := resources.Get (printf "css/schemes/%s.css" (lower .Site.Params.colorScheme | default "congo")) }}
@@ -35,7 +35,7 @@
<link
type="text/css"
rel="stylesheet"
href="{{ $bundleCSS.RelPermalink }}"
href="{{ $bundleCSS.Permalink }}"
integrity="{{ $bundleCSS.Data.Integrity }}"
/>
{{ if .Site.Params.enableSearch | default false }}
@@ -66,7 +66,7 @@
defer
type="text/javascript"
id="script-bundle"
src="{{ $bundleJS.RelPermalink }}"
src="{{ $bundleJS.Permalink }}"
integrity="{{ $bundleJS.Data.Integrity }}"
data-copy="{{ i18n "code.copy" }}"
data-copied="{{ i18n "code.copied" }}"
@@ -100,7 +100,7 @@
<link rel="canonical" href="{{ .Permalink }}" />
{{ end }}
{{ range .AlternativeOutputFormats -}}
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .RelPermalink ($.Site.Title | emojify) | safeHTML }}
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink ($.Site.Title | emojify) | safeHTML }}
{{ end -}}
{{/* Icons */}}
{{ if templates.Exists "partials/favicons.html" }}
+2 -2
View File
@@ -5,7 +5,7 @@
<a href="{{ "" | relLangURL }}" class="mr-2">
<!-- prettier-ignore-attribute -->
<img
src="{{ $logo.RelPermalink }}"
src="{{ $logo.Permalink }}"
width="{{ div $logo.Width 2 }}"
height="{{ div $logo.Height 2 }}"
class="max-h-[10rem] max-w-[10rem] object-scale-down object-left
@@ -14,7 +14,7 @@
/>
{{- if $logo_dark }}
<img
src="{{ $logo_dark.RelPermalink }}"
src="{{ $logo_dark.Permalink }}"
width="{{ div $logo_dark.Width 2 }}"
height="{{ div $logo_dark.Height 2 }}"
class="hidden max-h-[10rem] max-w-[10rem] object-scale-down object-left dark:flex"
+16 -17
View File
@@ -24,14 +24,14 @@
{{ end }}
{{ end }}
{{ if (eq "" $width $height) }}
{{ warnf "[CONGO] Can't detect width and height for SVG %s" .RelPermalink }}
{{ warnf "[CONGO] Can't detect width and height for SVG %s" .Permalink }}
{{/* do not use lazy without dimensions */}}
{{ $lazy = false }}
{{ end }}
<!-- prettier-ignore -->
<picture {{ with $class }} class="{{ . }}" {{ end }}>
<img
src="{{ .RelPermalink }}"
src="{{ .Permalink }}"
{{ with $width }}width="{{ . }}"{{ end }}
{{ with $height }}height="{{ . }}"{{ end }}
{{ with $class }}class="{{ . }}"{{ end }}
@@ -57,23 +57,23 @@
<source
{{ if lt .Width 660 }}
{{ with .Resize (printf "%dx%d webp" .Width .Height) }}
srcset="{{ .RelPermalink }}"
srcset="{{ .Permalink }}"
{{ end }}
{{ else }}
srcset=" {{- (.Resize "330x webp").RelPermalink }} 330w,
{{- (.Resize "660x webp").RelPermalink }} 660w
srcset=" {{- (.Resize "330x webp").Permalink }} 330w,
{{- (.Resize "660x webp").Permalink }} 660w
{{ if gt .Width 1024 }}
,{{ (.Resize "1024x webp").RelPermalink }} 1024w
,{{ (.Resize "1024x webp").Permalink }} 1024w
{{ else }}
{{ with .Resize (printf "%dx%d webp" .Width .Height) }}
,{{ .RelPermalink }} {{ .Width }}w
,{{ .Permalink }} {{ .Width }}w
{{ end }}
{{ end }}
{{ if gt .Width 1320 }}
,{{ (.Resize "1320x webp").RelPermalink }} 1320w
,{{ (.Resize "1320x webp").Permalink }} 1320w
{{ else }}
{{ with .Resize (printf "%dx%d webp" .Width .Height) }}
,{{ .RelPermalink }} {{ .Width }}w
,{{ .Permalink }} {{ .Width }}w
{{ end }}
{{ end }}"
{{ end }}
@@ -88,20 +88,19 @@
{{ with $alt }}alt="{{ . }}"{{ end }}
{{ with $lazy }}loading="lazy" decoding="async"{{ end }}
{{ if lt .Width 660 }}
src="{{ .RelPermalink }}"
src="{{ .Permalink }}"
{{ else }}
src="{{ (.Resize "660x").RelPermalink }}"
srcset=" {{- (.Resize "330x").RelPermalink }} 330w,
{{- (.Resize "660x").RelPermalink }} 660w
src="{{ (.Resize "660x").Permalink }}" srcset=" {{- (.Resize "330x").Permalink }} 330w,
{{- (.Resize "660x").Permalink }} 660w
{{ if gt .Width 1024 }}
,{{ (.Resize "1024x").RelPermalink }} 1024w
,{{ (.Resize "1024x").Permalink }} 1024w
{{ else }}
,{{ .RelPermalink }} {{ .Width }}w
,{{ .Permalink }} {{ .Width }}w
{{ end }}
{{ if gt .Width 1320 }}
,{{ (.Resize "1320x").RelPermalink }} 1320w
,{{ (.Resize "1320x").Permalink }} 1320w
{{ else }}
,{{ .RelPermalink }} {{ .Width }}w
,{{ .Permalink }} {{ .Width }}w
{{ end }}"
sizes="100vw"
{{ end }}
+2 -2
View File
@@ -35,7 +35,7 @@
<div class="flex flex-grow">
{{ if eq $pageLang .Lang }}
<a
href="{{ cond hugo.IsMultihost $translation.Permalink $translation.RelPermalink }}"
href="{{ cond hugo.IsMultihost $translation.Permalink $translation.Permalink }}"
class="flex w-full items-center justify-between bg-primary-100 px-2 py-1 dark:bg-primary-900"
>{{ .LanguageName }}<span
class="ms-2 w-6 text-primary-600 dark:text-primary-400"
@@ -44,7 +44,7 @@
>
{{ else }}
<a
href="{{ cond hugo.IsMultihost $translation.Permalink $translation.RelPermalink }}"
href="{{ cond hugo.IsMultihost $translation.Permalink $translation.Permalink }}"
class="w-full py-1 pe-10 ps-2 decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2"
>{{ .LanguageName }}</a
>
+5 -9
View File
@@ -8,7 +8,7 @@
<script
defer
type="text/javascript"
src="{{ $mermaidJS.RelPermalink }}"
src="{{ $mermaidJS.Permalink }}"
integrity="{{ $mermaidJS.Data.Integrity }}"
></script>
{{ end }}
@@ -21,7 +21,7 @@
<script
defer
type="text/javascript"
src="{{ $chartJS.RelPermalink }}"
src="{{ $chartJS.Permalink }}"
integrity="{{ $chartJS.Data.Integrity }}"
></script>
{{ end }}
@@ -32,21 +32,17 @@
<link
type="text/css"
rel="stylesheet"
href="{{ $katexCSS.RelPermalink }}"
href="{{ $katexCSS.Permalink }}"
integrity="{{ $katexCSS.Data.Integrity }}"
/>
{{ $katexJS := resources.Get "lib/katex/katex.min.js" }}
{{ $katexJS := $katexJS | resources.Fingerprint $algorithm }}
<script
defer
src="{{ $katexJS.RelPermalink }}"
integrity="{{ $katexJS.Data.Integrity }}"
></script>
<script defer src="{{ $katexJS.Permalink }}" integrity="{{ $katexJS.Data.Integrity }}"></script>
{{ $katexRenderJS := resources.Get "lib/katex/auto-render.min.js" }}
{{ $katexRenderJS := $katexRenderJS | resources.Fingerprint $algorithm }}
<script
defer
src="{{ $katexRenderJS.RelPermalink }}"
src="{{ $katexRenderJS.Permalink }}"
integrity="{{ $katexRenderJS.Data.Integrity }}"
onload="renderMathInElement(document.body);"
></script>
+1 -1
View File
@@ -8,7 +8,7 @@
"section" ($section.Title | emojify | safeJS)
"summary" (.Summary | emojify | safeJS)
"content" (.Plain | emojify | safeJS)
"permalink" .RelPermalink
"permalink" .Permalink
)
-}}
{{- end -}}
+1 -1
View File
@@ -18,7 +18,7 @@
<h2 class="flex items-center">
<a
class="text-xl font-medium decoration-primary-500 hover:underline hover:underline-offset-2"
href="{{ .Page.RelPermalink }}"
href="{{ .Page.Permalink }}"
>{{ .Page.Title }}</a
>
{{ if $.Site.Params.taxonomy.showTermCount | default true }}