feat(IFK-11): migrate from Congo to HugoBlox with custom layouts
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 12s
Deploy Internet for Kids / Deploy (push) Successful in 5s
Deploy Internet for Kids / Health Check (push) Successful in 2s
Deploy Internet for Kids / Smoke Tests (push) Successful in 3s
Deploy Internet for Kids / IndexNow Ping (push) Successful in 9s
Deploy Internet for Kids / Promote to Latest (push) Successful in 2s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s

- Remove Congo theme submodule, add Hugo modules (blox-core)
- Custom baseof/single/home/list layouts (no Tailwind build needed)
- Newsreader serif font preserved throughout
- Agiliton lime/emerald brand colors
- All 7 shortcodes preserved (world-map, charts, stats, etc.)
- Multilingual EN/DE/FR with i18n files
- Self-hosted fonts, no external CSS dependencies
- Wide content layout, clean research-publication aesthetic

Reference: metaconscious.org, matteocourthoud.github.io

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Christian Gick
2026-04-03 13:40:21 +03:00
parent ec370d2d7e
commit 18dc7ae66f
17 changed files with 912 additions and 32 deletions

View File

@@ -0,0 +1,63 @@
{{ define "main" }}
<article class="prose-lg max-w-2xl mx-auto py-12 px-4">
<header class="mb-8">
<h1 class="text-4xl font-newsreader font-semibold mb-4 leading-tight">
{{ .Title }}
</h1>
<div class="text-gray-600 flex gap-4 flex-wrap">
{{ if .Date }}
<time datetime="{{ .Date.Format "2006-01-02" }}">
{{ .Date.Format "January 2, 2006" }}
</time>
{{ end }}
{{ with .Params.author }}
<span>{{ . }}</span>
{{ end }}
{{ if .ReadingTime }}
<span>{{ .ReadingTime }} min read</span>
{{ end }}
</div>
</header>
{{ if .Params.toc | default true }}
<aside class="mb-8 p-4 bg-gray-50 rounded">
<h2 class="text-sm font-semibold uppercase tracking-wide mb-3">{{ i18n "table_of_contents" | default "Table of Contents" }}</h2>
{{ .TableOfContents }}
</aside>
{{ end }}
<div class="font-newsreader text-lg leading-relaxed prose prose-newsreader">
{{ .Content }}
</div>
{{ with .Params.tags }}
<footer class="mt-12 pt-8 border-t">
<div class="text-sm">
<span class="font-semibold">{{ i18n "tags" | default "Tags" }}:</span>
{{ range . }}
<a href="{{ "/tags/" | relLangURL }}{{ . | urlize }}" class="inline-block mr-2 text-ifk-accent hover:text-ifk-accent-hover">
#{{ . }}
</a>
{{ end }}
</div>
</footer>
{{ end }}
</article>
{{ if or .NextInSection .PrevInSection }}
<nav class="max-w-2xl mx-auto px-4 py-12 flex justify-between gap-4">
{{ with .PrevInSection }}
<a href="{{ .Permalink }}" class="flex-1 p-4 border rounded hover:bg-gray-50 text-left">
<div class="text-xs font-semibold uppercase text-gray-600">← {{ i18n "previous" | default "Previous" }}</div>
<div class="font-newsreader text-lg">{{ .Title }}</div>
</a>
{{ end }}
{{ with .NextInSection }}
<a href="{{ .Permalink }}" class="flex-1 p-4 border rounded hover:bg-gray-50 text-right">
<div class="text-xs font-semibold uppercase text-gray-600">{{ i18n "next" | default "Next" }} →</div>
<div class="font-newsreader text-lg">{{ .Title }}</div>
</a>
{{ end }}
</nav>
{{ end }}
{{ end }}