refactor: internal and external links

This commit is contained in:
Ben Goldsworthy 2025-05-08 13:48:23 +02:00
parent 5aec4874b6
commit f1c9fa5622
No known key found for this signature in database
14 changed files with 388 additions and 125 deletions

View file

@ -0,0 +1,37 @@
{{- /*
Displays an internal link from a page resource
@params pc Page context
@params sc Site context
@params src Page resource source
*/
-}}
<!-- Variable assignment -->
{{- $src := $.sc.Page.Resources.GetMatch .src -}}
<!-- Validation -->
{{- if ( not ( isset . "sc" ) ) -}}
{{- errorf "No site context received" -}}
{{- end -}}
{{- if ( not ( isset . "pc" ) ) -}}
{{- errorf "No page context received (%q)" .sc.Page.File.Dir -}}
{{- end -}}
{{- if ( not $src ) -}}
{{- errorf "No Page Resource found for src '%q' (%q).\n\n\tAvailable Page Resources are:\n\t\t%v" .src $.sc.Page.File.Path $.sc.Page.Resources -}}
{{- end -}}
<!-- Rendering -->
<li>
<a href="{{ $src.RelPermalink }}"
>{{ .title | $.sc.RenderString | safeHTML }}
(<code>.{{- delimit ( last 1 ( split $src.RelPermalink "." ) ) "" -}}</code>)</a
>
</li>