Tech-stack
Libertarianer.dk er bygget med et klart mål: hurtigt ud af døren, billig drift, let at vedligeholde. Her er de vigtigste valg og de afvejninger, der lå bag.
Monorepo med pnpm workspaces
Koden er organiseret i ét git-repository med flere apps og pakker under /apps/ og /packages/. pnpm workspaces holder afhængighederne isolerede pr. app og deler fælles pakker uden at duplikere dem. Det giver god struktur fra dag ét og er nemt at skalere.
Indhold i separat git-repository
Artikler og sideindhold lever i et separat git-repository, der er monteret som et submodule under content/. Det adskiller kode og indhold rent — en redaktør behøver aldrig røre koden, og en udvikler kan pushe kodeændringer uden at påvirke artiklerne.
Astro (statisk output)
Sitet er bygget med Astro i statisk tilstand (output: 'static'). Det genererer ren HTML/CSS/JS ved buildtime — ingen server, ingen database, ingen runtime. Resultatet er ultrahurtige sider og en meget lille angrebsflade.
Indholdet hentes fra markdown-filer via Astros Content Collections med Zod-validering af frontmatter.
Cloudflare Pages
Det statiske output deployes til Cloudflare Pages — et globalt CDN med generøst gratis niveau. Deployment sker med CLI for nu; en CI-pipeline kan tilføjes senere.
TypeScript — strict
Al kode er skrevet i TypeScript med strict-tilstand. Det giver hurtigere fejlsøgning og bedre IDE-support.
Afvejninger
Prioriteten var at komme ud hurtigt frem for at bygge den perfekte arkitektur. Det betyder:
- Ingen CMS — markdown og git er godt nok nu. Kan altid udskiftes.
- Manuel deploy frem for automatisk pipeline — sparer setup-tid, tilføjes når det giver mening.
- Ingen database eller backend — YAGNI (“You Aren’t Gonna Need It”).
- Dynamisk site laves senere. Statisk løser 95 % af behovet nu.
Teknologierne er valgt, så de er nemme at udskifte enkeltvis uden at genopbygge alt.
Hvad kommer næst
Nogle ting er planlagt, men ikke bygget endnu:
- Klientside-søgning — søg i alle artikler direkte i browseren, ingen server.
- AI-chatbot — svar på spørgsmål om libertarianisme baseret på artiklerne.
- Automatisk CI/CD — deploy ved hvert push frem for manuel CLI.
- Mobilapp — native app baseret på samme indholdsrepository.