- css/site.css: oat/espresso palette, Fraunces display, rounded surfaces, warm photo grade
- index.html: Module of the Month replaced by the blog; tips, blog and community sections render from data/posts.json
- js/feed.js: client-side feed + search over one manifest (blog/index.json technique)
- scripts/sync_posts.py: daily webhook fetch, image download, dedupe by id and content hash, non-image attachments skipped
- data/posts.json: manifest, one published post (Odoo 20 Community review)
- new section: Top OCA modules, module / area / 19.0 / 20.0 status,
rows rendered from the n8n webhook at
n8n.odoo4projects.com/webhook/oc-guy/modules, with the last fetched
snapshot in the markup as a no-JS fallback
- photography swapped from archival maps to Pixabay photos (archive
aisle, cardboard boxes, old books, workshop tools, warehouse)
- featured module is now a full-bleed dark spread with the warehouse shot
- contact address is oliver@oc-guy.com throughout
- credits point at Pixabay and its Content License
Complete rebuild of the single page from the design-taste-frontend skill
(direction: sentence-as-layout, seed 1084447843). CSS and JS moved out of
the markup into css/site.css and js/site.js.
- navy field #1a2039 with pink ink #f9a3c0: no Odoo plum, no teal, no violet
- hero headline carries a 1689 world map inside the sentence
- claims as full-bleed switchable bands, tips table, module picker
- four archival Wikimedia pictures, credited in the footer
- inspector: 0 FAIL at 1440 / 768 / 390 (lint clean)