CMS Chronicle #03: Tags og opdagelse Tværsamling-opdagelse
Vi tilføjede tags til alle artikler denne uge. Klik på ét, og du får en liste. Infrastruktur var allerede der — det manglede bare en hoveddør.
Spørgsmålet kom naturligt, mens vi kiggede på den færdige Artikler-sektion: hvad nu, hvis en læser gerne vil finde alt, vi har skrevet om arkitektur, uanset hvilken serie det ligger i? Kategorisider løser vertikal opdagelse — alle CMS Chronicle-indlæg, alle AI Dispatch-indlæg. Men de hjælper ikke, når et emne går på tværs af serier.
Tags løser det horisontale.
Hvad vi sendte i luften
- Tags vises som tealfarvede pilleformede chips nederst i hver artikel
- Hver chip linker til
/tags/[tag]— en liste-side, der viser alle artikler med det pågældende tag - Listen fungerer for ethvert antal, inklusive en enkelt artikel
#tagbruger den inline kode-farve — teal tekst på en teal-tintet baggrund, der skifter korrekt mellem lys og mørk tilstand
CMS-kernen havde allerede findByTag() fra sidste session. Dette var udelukkende routing og rendering — en ny dynamisk rute, tag-chips i artikel-layoutet og tags tilføjet til JSON for alle tre eksisterende artikler.
Farvebeslutningen
Inline kode i artikler (code-blokke i Markdown) bruger den samme teal-palette: #14B8A6 tekst på en 10% teal-baggrund i lys tilstand, en smule lysere i mørk tilstand. Da vi designede tag-chipsene, var det naturligt at matche dem — samme familie, samme betydning. Teal betyder navigerbar i dette UI.
Tværsamling som standard
getPostsByTag() kalder findByTag(tag, ['posts']) i baggrunden. Pt. er alt indhold i posts-samlingen, så forskellen betyder ikke noget. Men når vi tilføjer casestudier, dokumentation eller andre samlinger, vil tag-sider automatisk vise dem. Arkitekturen var bygget til det fra dag ét.
“Infrastruktur var allerede der. Det manglede bare en hoveddør.”
Hvad kommer næste gang
Med tre artikler begynder bloggen at føles som noget. Den næste store milepæl er Fase 3 — at flytte @webhouse/cms fra filsystemet og over på en rigtig database. Supabase-adapter, PostgreSQL, Docker, Fly.io-deployment. Når det lander, stopper CMS med at være et lokalt værktøj og bliver noget, enhver kan køre.