Byggde en utskriftsstilmall på 637 rader mot fyra dokumenterade beteenden i renderingsmotorer, bland annat run‑in‑rubriker som skrevs ut vitt på vitt för varje läsare vars webbläsare föredrog mörkt läge.
Arbetet utfört: augusti 2026
637 rader utskriftsstilmall, mot fyra renderingsmotorer
Situation. Webbplatsens fallstudier är det som någon skriver ut och tar med sig till ett möte. Det gör papper till ett verkligt utdataformat snarare än en artighet, och papper är ett annat medium än en smal skärm — läsarens pappersstorlek är okänd, läsarens sidorientering är okänd, och webbläsarens utskriftsbeteende skiljer sig mellan motorer på sätt som ingen förhandsvisning på skärmen avslöjar.
Uppgift. Webbplatsen måste skrivas ut korrekt på okänt papper, i båda färgtemana, utan att ett separat dokument underhålls vid sidan av webbversionen.
Handling. Det är en stilmall på 637 rader med en enda sidregel och ett utskriftsblock. Sidregeln anger en marginal och anger avsiktligt ingen pappersstorlek, så det läsaren väljer i dialogrutan går igenom och allt annat anpassar sig efter det. Rotens teckenstorlek är låst i punkter, så att varje relativt mått har ett fysiskt ankare, och en radlängd på ungefär sjuttiotvå tecken tillämpas på de fyra blocken på översta nivån — vilket innebär att arket vinner över designen, eftersom en sida i liggande format annars skulle få rader på ungefär hundratio tecken. Fyra motorbeteenden är dokumenterade som fällor, och vart och ett har orsakat ett verkligt fel. Viewport‑enheter räknas mot sidrutan i en motor och mot fönstret i en annan, så en sida som skrivs ut från ett brett fönster får en tredjedel av varje rad bortskuren i den andra. Element med fast position ritas ut på varje ark, så de dekorativa tas bort och två av dem får en ny uppgift som brevhuvud och kolofon. Paletten har vit text som standard eftersom standardtemat är mörkt, vilket skrev ut de fyra inledande avsnittsetiketterna vitt på vitt — orden saknades helt enkelt. Och paginerade medier kan inte dela en flex- eller grid‑ruta, vilket gav ett tomt första ark på en sida för ett enskilt resultat. En kontroll i sex delar täcker detta och testar sex kombinationer av papper och orientering, båda inställningarna för färgschema och det verkliga sidantalet mot det som innehållets höjd motsvarar.
Resultat. Webbplatsen skrivs ut på okänt papper i båda temana, och de fyra motorbeteendena är nedskrivna tillsammans med det fel som vart och ett orsakade. De kända begränsningarna är dokumenterade snarare än dolda: inga sidnummer eller löpande sidhuvuden, en motor ignorerar styrningen av horungar och änkor, och anfanger stöds inte överallt. En vilsekommen kommentarsavslutning fick en gång CSS‑lintern att svälja en hel regel och passera utan anmärkning två gånger — bara utskriftskontrollen märkte det.
Se tillbaka på Byggde en flerspråkig statisk webbplats i Hugo med 108 mallfiler, varav 53 partials, som publicerar varje sida i fyra representationer från ett innehållsträd på tre språk, och en gång till under sju fokuserade underdomäner byggda från samma träd. Läs vidare: Speglade hela webbplatsen som 777 Gemini‑dokument och 777 Gopher‑dokument från samma driftsatta träd, utan en enda byte ändrad i HTML‑koden. Eller ta en titt på hela portföljen.
En del av en längre historik — och den finns i sin helhet här.
Varje post är skriven på samma sätt: situationen, uppgiften, vad vi gjorde och vad som förändrades.