updates to try and fix partial includes issue

1. Restored resume.md: Left exactly as it was.
2. Configured hugo.toml Mounts: I mounted /srv/configs into the virtual assets namespace. This
    securely gives Hugo access to those files as raw static resources.
3. Updated include Partial: I rewrote the shortcode partial (layouts/partials/include.html) to:
    * Intercept absolute paths starting with /srv/configs/, map them to configs/..., and retrieve
        their raw text content using resources.Get.
    * Intercept paths starting with /srv/docs/private/, look them up as a Page, and use .RawContent
        instead of .Content (which prevents Hugo from wrapping your Markdown in HTML <p> tags when
        injecting it into your code blocks).
    * Strip any YAML frontmatter from the raw content using a regex replaceRE block.
This commit is contained in:
2026-03-29 00:15:32 +00:00
parent b7bb744d2f
commit 9df0017182
3 changed files with 42 additions and 46 deletions

View File

@@ -1,46 +1,44 @@
{{/*
Partial: include.html
Simple include using content/configs mount
*/}}
{{- $path := .path -}}
{{- $context := .context -}}
{{- $originalPath := $path -}}
{{- $found := false -}}
{{- $content := "" -}}
{{- $isMarkdown := strings.HasSuffix (lower $path) ".md" -}}
{{- $found := false -}}
{{/* 1. Map /srv/configs/ -> content/configs/ */}}
{{- $mappedPath := replace $path "/srv/configs/" "content/configs/" -}}
{{- $mappedPath = strings.TrimLeft "/" $mappedPath -}}
{{- if fileExists $mappedPath -}}
{{- $content = readFile $mappedPath -}}
{{- $found = true -}}
{{- /* Handle /srv/configs/ mapping to assets mount (mounted at assets/configs) */ -}}
{{- if strings.HasPrefix $path "/srv/configs/" -}}
{{- $assetPath := strings.TrimPrefix "/srv/" $path -}}
{{- $res := resources.Get $assetPath -}}
{{- if $res -}}
{{- $content = $res.Content -}}
{{- $found = true -}}
{{- end -}}
{{- end -}}
{{/* 2. Map /srv/docs/private/ -> content/private/ */}}
{{- /* Handle /srv/docs/private/ mapping to content mount */ -}}
{{- if not $found -}}
{{- $mappedPath = replace $path "/srv/docs/private/" "content/private/" -}}
{{- $mappedPath = strings.TrimLeft "/" $mappedPath -}}
{{- if fileExists $mappedPath -}}
{{- $content = readFile $mappedPath -}}
{{- if strings.HasPrefix $path "/srv/docs/private/" -}}
{{- $pagePath := strings.TrimPrefix "/srv/docs/private/" $path -}}
{{- $p := site.GetPage (printf "private/%s" $pagePath) -}}
{{- if $p -}}
{{- $content = $p.RawContent -}}
{{- $found = true -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- /* Handle relative or other paths by direct Page lookup */ -}}
{{- if not $found -}}
{{- $p := site.GetPage $path -}}
{{- if $p -}}
{{- $content = $p.RawContent -}}
{{- $found = true -}}
{{- end -}}
{{- end -}}
{{- if $found -}}
{{- if $isMarkdown -}}
{{/* Strip frontmatter if it exists */}}
{{- if (findRE "^---" $content) -}}
{{- $content = replaceRE "^(?s)---.*?---[\\r\\n]*" "" $content -}}
{{- end -}}
{{- $context.RenderString $content -}}
{{- else -}}
{{/* Output raw content for non-markdown files */}}
{{- $content | safeHTML -}}
{{- /* Fallback manual frontmatter strip for assets that might have it */ -}}
{{- if findRE "^---" $content -}}
{{- $content = replaceRE "^(?s)---[\\s\\S]*?---[\\r\\n]*" "" $content -}}
{{- end -}}
{{- $content | safeHTML -}}
{{- else -}}
{{- warnf "Include file not found: %s" $originalPath -}}
<p class="text-red-500 font-bold">[Include Error: File "{{ $originalPath }}" not found]</p>
{{- warnf "WARN Include file not found: %s" $path -}}
{{- end -}}