Separate framework source from website: - src/layers/ + src/main.css: CSS framework source (was assets/css/) - site/: Hugo website (content/, layouts/, hugo.toml) - dist/: built output (asw.css, asw.min.css) - vendor/open-props/: vendored dependency with version tracking - Hugo module mounts: dist/ → static, site runs from site/ Build: hugo --source site/ passes (105 pages). npm run build produces dist/asw.css. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
41 lines
1.7 KiB
HTML
41 lines
1.7 KiB
HTML
{{- /*
|
|
partials/meta/og.html — Open Graph + Twitter Card meta tags
|
|
|
|
og:title Page title (site title for home page)
|
|
og:description .Description → .Site.Params.description → ""
|
|
og:url .Permalink
|
|
og:type "website" (home) | "article" (everything else)
|
|
og:site_name .Site.Title
|
|
og:image .Params.image → .Site.Params.og_image → absent
|
|
twitter:card "summary_large_image" when image present, else "summary"
|
|
twitter:site .Site.Params.twitter (optional @handle)
|
|
|
|
Configure in hugo.toml:
|
|
[params]
|
|
og_image = "/images/og-default.png" # fallback OG image
|
|
twitter = "@yourhandle" # omit if not on Twitter/X
|
|
*/ -}}
|
|
{{- $title := cond .IsHome .Site.Title (printf "%s · %s" .Title .Site.Title) -}}
|
|
{{- $desc := or .Description .Site.Params.description "" -}}
|
|
{{- $image := or .Params.image .Site.Params.og_image "" -}}
|
|
{{- $type := cond .IsHome "website" "article" -}}
|
|
|
|
<meta property="og:title" content="{{ $title }}">
|
|
<meta property="og:description" content="{{ $desc }}">
|
|
<meta property="og:url" content="{{ .Permalink }}">
|
|
<meta property="og:type" content="{{ $type }}">
|
|
<meta property="og:site_name" content="{{ .Site.Title }}">
|
|
{{- with $image }}
|
|
<meta property="og:image" content="{{ . | absURL }}">
|
|
{{- end }}
|
|
|
|
{{- /* Twitter / X Card */}}
|
|
<meta name="twitter:card" content="{{ if $image }}summary_large_image{{ else }}summary{{ end }}">
|
|
<meta name="twitter:title" content="{{ $title }}">
|
|
<meta name="twitter:description" content="{{ $desc }}">
|
|
{{- with $image }}
|
|
<meta name="twitter:image" content="{{ . | absURL }}">
|
|
{{- end }}
|
|
{{- with .Site.Params.twitter }}
|
|
<meta name="twitter:site" content="{{ . }}">
|
|
{{- end }}
|