- layouts/partials/head.html: full <head> partial with meta partials + CSS pipeline - layouts/partials/meta/seo.html: canonical URL + robots directives - layouts/partials/meta/og.html: Open Graph + Twitter Card meta tags - layouts/partials/meta/ai-disclosure.html: AI content disclosure (EU AI Act) - layouts/partials/meta/json-ld.html: Schema.org JSON-LD structured data - layouts/partials/tag-nav.html: site-wide tag cloud partial - layouts/_default/baseof.html: simplified to use partial head.html - layouts/_default/single.html: removed inline head block (now in head.html) Verified: canonical, robots, OG tags, ai-content-disclosure on live pages. 96 pages build clean. Closes: asw#15
25 lines
1 KiB
HTML
25 lines
1 KiB
HTML
{{- /*
|
|
partials/meta/ai-disclosure.html — AI-generated content disclosure
|
|
|
|
Emits the proposed W3C/WHATWG AI content disclosure meta tag and the
|
|
corresponding HTTP-equiv header that satisfies EU AI Act Article 50
|
|
obligations for AI-generated/AI-assisted web content.
|
|
|
|
The disclosure level is controlled per-page via front matter:
|
|
ai_content: "generated" — fully AI-generated content
|
|
ai_content: "assisted" — human-written with AI assistance (default)
|
|
ai_content: "reviewed" — AI-generated, human-reviewed and edited
|
|
ai_content: "none" — no AI involvement (suppresses the tag)
|
|
|
|
Site-wide default in hugo.toml:
|
|
[params]
|
|
ai_content = "assisted" # default for all pages
|
|
|
|
Reference:
|
|
https://github.com/nickvdyck/ai-content-disclosure
|
|
EU AI Act Article 50 (transparency obligations, Chapter IV)
|
|
*/ -}}
|
|
{{- $level := or .Params.ai_content .Site.Params.ai_content "assisted" -}}
|
|
{{- if ne $level "none" -}}
|
|
<meta name="ai-content-disclosure" content="{{ $level }}">
|
|
{{- end }}
|