Commit Graph
5 Commits
Author SHA1 Message Date
makiolaj 8a1eb54a45 Render the app privacy policies from the app repos
Each policy now has exactly one copy: docs/PRIVACY.md in the app's own
repository. The pages keep their URLs and chrome and render that file
through a content collection, so the published page and the app's own
documentation cannot drift.

scripts/sync-external.mjs shallow-clones both repos into external/ from
prebuild and predev — not from CI: Coolify builds the site from the repo,
so a checkout that only ran in a Gitea job would never reach the deploy.
It falls back to the raw file if git is unavailable, and takes <APP>_REF
or <APP>_LOCAL for work against a branch or an unpushed working copy.

A missing, empty or malformed policy fails the build, verified against the
real image: the deploy stops rather than publishing an empty privacy page.
2026-09-09 16:33:11 +02:00
Jean-Luc MakiolaandClaude Opus 4.8 c0aa7153c7 Use npm install instead of npm ci in build
Astro 7's wasm32 optional deps (@emnapi/*) make npm ci's strict lock-sync
check fail across npm/node versions. npm install reconciles and builds.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 13:52:15 +02:00
Jean-Luc MakiolaandClaude Opus 4.8 eac3dddf40 Use npm 11 in build stage to match the lockfile
node:22 ships npm 10, which rejects the npm-11-generated package-lock
("Missing: @emnapi/core"). Upgrade npm to 11 before npm ci.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 13:50:36 +02:00
Jean-Luc MakiolaandClaude Opus 4.8 2665cd7f25 Build on node:22-slim (glibc) to fix musl native-dep failure
npm ci failed on node:22-alpine (musl): Astro 7's rolldown/oxc native
bindings pull @emnapi/core etc. that aren't resolved for musl. Build on
Debian glibc to match the lockfile's linux-x64-gnu deps.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 13:48:56 +02:00
Jean-Luc MakiolaandClaude Opus 4.8 074199c656 Initial site: Astro + M3 Expressive, projects, blog
Personal site & blog for jeanlucmakiola.de.

- Astro 7 static output; self-hosted Inter + JetBrains Mono (Fontsource)
- Material 3 Expressive design tokens (red accent over neutral surfaces)
- Home (hero + about + selected work + latest writing)
- /work index + per-app pages (Calendula, Agendula, floret-kit) with
  build-time Gitea release tags, brand-icon link rows, features grid,
  and an at-a-glance facts panel
- Blog via Markdown content collection; RSS, sitemap, robots, OG/SEO
- Privacy-respecting Umami analytics, env-gated (off in dev)
- Dockerfile (build -> Caddy) + Caddyfile for Coolify deploy

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 13:39:08 +02:00