</developer>
Credits, filosofi og det flade HTML-dogme bag dette site.
// Hvad er det her?
BoingBoing.dk er en statisk blog om teknologi, webudvikling, digital kultur og meninger. Den er bygget som en samling af flade, håndskrevne HTML-filer — ingen database, ingen server-side rendering, intet content management system, intet JavaScript-framework. Bare webbens rå fundamenter.
Hver side du ser er en enkelt .html-fil
serveret direkte til din browser. Det du modtager, er
det, der blev skrevet. Der er intet kompileringstrin,
ingen hydration-fase, ingen virtual DOM-diffing. Hele
sitet kunne køre fra en USB-nøgle, en Raspberry Pi eller
en gratis statisk host — og det ville være præcis det
samme.
$ tree boingboing-dk/
.
├── index.html
├── robots.txt
├── sitemap.xml
├── css/
│ └── style.css
├── js/
│ └── main.js
├── pages/
│ ├── arkiv.html
│ ├── om.html
│ └── developer.html <-- du er her
└── posts/
├── velkommen-til-boingboing.html
├── flat-html-dogma.html
├── fremtiden-for-webben.html
└── analog-fokus.html
// Hvordan — Det flade HTML-dogme
Dette site følger et bevidst sæt af begrænsninger, vi kalder det flade HTML-dogme — en filosofi om at bygge for webben med kun dens egne primitiver. Ikke af uvidenhed om moderne værktøjer, men som en bevidst afvisning af unødvendig kompleksitet.
- Ingen frameworks. Ingen React, ingen Vue, ingen Svelte, ingen Angular. Browseren ved allerede, hvordan den renderer HTML. Vi lader den gøre sit arbejde.
- Ingen build step. Ingen Webpack, ingen Vite, ingen Parcel, ingen transpilering. Kildekoden er produktionskoden. Det du redigerer, er det, der bliver deployet.
- Intet CMS. Ingen WordPress, ingen headless API, ingen database. Indholdet lever i HTML-filerne selv — versionsstyret, diff-bart og permanent.
-
Ingen afhængigheder. Nul
node_modules. Nulpackage.json. Nul supply chain-angrebsflade. Sitet afhænger af præcis én ting: browseren. - Ingen client-side routing. Hver side er en rigtig URL bakket af en rigtig fil. Browserens navigation fungerer nativt. Tilbage-knapper, bogmærker og dybe links virker — som de altid har gjort.
- Minimal JavaScript. JS bruges kun til progressiv forbedring — hamburger-menu, aktiv tab-markering, estimeret læsetid. Sitet er fuldt funktionelt med JavaScript slået fra.
- Ét stylesheet. En enkelt CSS-fil håndterer al styling. Ingen CSS-in-JS, ingen utility-klasse-sprawl, ingen preprocessor. Læsbart, scanbart, vedligeholdelsesvenligt.
- Semantisk HTML. Korrekt heading-hierarki, landmark-elementer, ARIA-labels og struktureret data. Tilgængelighed og SEO er bygget ind i markup'en, ikke boltet på som en eftertanke.
- Hurtigt som standard. Ingen JavaScript-bundler at parse. Ingen layout shifts fra lazy-hydration. Ingen loading-spinnere. Den første meningsfulde paint er den eneste paint.
- Udødeligt by design. Dette site ville have virket i 2005, og det vil virke i 2035. Teknologierne det bruger — HTML, CSS, en smule vanilla JS — er den mest stabile platform i computerhistorien.
# Hele deploy-processen: $ rsync -avz --delete ./boingboing-dk/ server:/var/www/boingboing.dk/ # Færdig. Det er hele pipelinen.
// Stakken
Hvert teknologivalg er truffet bevidst. Her er den fulde stak — du kan tælle posterne på én hånd:
| Lag | Teknologi | Rolle |
|---|---|---|
| Markup | HTML5 | Struktur, indhold, semantik |
| Stil | CSS3 | Layout, responsivt design, theming |
| Script | Vanilla JS | Mobilnav, aktiv tab, læsetid |
| SEO | JSON-LD | Struktureret data til søgemaskiner |
| VCS | Git | Versionsstyring, historik, samarbejde |
| Host | Statisk server | Serverer filer. Intet mere, intet mindre. |
// Men hvorfor?
Fordi webben ikke behøver at være kompliceret. En blog med en håndfuld indlæg har ikke brug for en CI/CD-pipeline, et headless CMS, en CDN-edge-rendered React-app med incremental static regeneration. Den har brug for HTML-filer på en server.
Det moderne webudviklingsøkosystem har normaliseret en ekstraordinær mængde accidental complexity. Megabytes af JavaScript for at rendere tekst. Build-værktøjer, der tager længere tid at konfigurere, end sitet tager at skrive. Afhængigheder, der bryder fra dag til dag, fordi nogen masseopdaterede en pakke, som halvdelen af internettet afhænger af.
Flad HTML er en påmindelse om, at webbens originale arkitektur — dokumenter linket sammen — aldrig var i stykker. Den behøvede ikke at blive fikset. For sites som dette er den stadig det bedste værktøj.
# Et moderne "hello world" i 2025: $ npx create-react-app hello-world # Installerer 1.394 pakker... # node_modules: 289 MB # Tid: 47 sekunder # Hele denne blog: $ du -sh boingboing-dk/ # ~100 KB totalt. Shipper på millisekunder.
// Hvem
Bygget af et menneske med en AI-parring-programmør.
Indhold, struktur og designretning af sitets ejer. Kodegenerering, SEO-optimering og struktureret data assisteret af Claude (Anthropic) via Zed-editoren.
Andre hjemmesider, der har inspireret og hjulpet med at forme dette dogme og denne filosofi inkluderer: Omad.dk
Ingen kode blev massegenereret i blinde. Hver linje blev gennemgået, forstået og bevidst committet. AI'en fungerede som et værktøj — ligesom en compiler eller en linter — ikke som forfatteren.