Det er længe siden, jeg har delt en opdatering, men i dag deler jeg nogle forbedringer, jeg har lavet på siden.

Ud med det gamle, ind med det nye

Jeg har genopbygget hjemmesiden, gået til den seneste version af Astro (v4.6.3 til v5.7.12), og mens migrationen var ligetil, gav det mig den perfekte mulighed for at genbesøge nogle andre værktøjsbeslutninger, jeg havde truffet tidligere. En af dem var min CMS-opstilling.

Den tidligere hjemmeside tilgang afhang af vedligeholdelse af markdown filer direkte. Det var fint, selvom jeg tror, det skabte en lille mængde modstand for mig, der har resulteret i, at jeg ikke har skrevet noget. Det var der, jeg indså, at et CMS-baseret system kunne være et interessant emne for mig at undersøge. Først til mine egne behov, for at gøre håndteringen af blogindlæg mere enkel. Selvom også da jeg ser mange klients løsninger være “simple” hjemmesider, der typisk er baseret på CMS-løsninger, normalt WordPress.

Selvom der er mange CMS-muligheder ud over WordPress; faktisk JamStack lister 131 headless CMSs alene på tidspunktet for skrivningen. WordPress ser ud til at være den foretrukne løsning, selvom jeg personligt havde brug for noget mere letvægtigt, og jeg ønsker at undgå eventuelle problemer fra Matt Mullenweg drevet tvist med WP Engine og lignende. Hvem ved, hvor det ville føre hen.

Jeg er tidligere stødt på Decap CMS (tidligere kendt som Netlify CMS) ret meget. Det virker som en god blanding af enkelhed, men også det faktum, at det er et Git-baseret CMS. Dette har været den vigtigste faktor for mig, da jeg gerne vil have, at hjemmesiden skal være statisk, og undgå behovet for at hente CMS-data fra en database. Det var også der, jeg stødte på Sveltia CMS, som i sidste ende er det, jeg bruger til at skrive dette indlæg nu.

Hvorfor Sveltia CMS?

Sveltia CMS er i det væsentlige en åndelig efterfølger til Decap CMS. Som de selv hævder:

Bygget fra bunden tilbyder Sveltia CMS fremragende UX, DX, ydeevne, sikkerhed og internationalisering (i18n) support.

Der er mange påstande i Sveltia CMS README om, hvordan projektet er bedre end Decap. Jeg tog disse påstande for pålydende, da jeg ikke har nogen personlig Decap-erfaring at sammenligne med. Selvom for et lavt stakes personligt projekt, tror jeg, det er en rimelig afvejning.

Jeg var også interesseret i at eksperimentere med en internationaliserings (i18n) opsætning, der ville tillade mig at have både engelsk og dansk indhold.

Går globalt: i18n support

Her er, hvor tingene bliver interessante. Jeg har nu opbygget fuld internationalisering (i18n) support til siden, med engelsk og dansk sprogvarianter. Dette var delvist inspireret af min egen nysgerrighed om, hvordan statiske site generators håndterer flere sprog, og delvist fordi - tja, jeg bor i Danmark, og det føltes rigtigt at understøtte landets sprog.

Fangsten? Jeg skriver næsten ikke dansk overhovedet. Så det er også fantastisk med Sveltia CMS, at jeg kan udføre en oversættelse med et enkelt klik ved hjælp af en AI. Vil det være perfekt? Jeg tvivler. Selvom jeg kan _garantere _at det vil være meget bedre end noget dansk, jeg kan skrive.

Artificial Intelligence

Træt af at læse de ord? Det er jeg også. Nå, jeg vil gøre det kort. Siden min første hjemmeside er AI virkelig eksploderet. Faktisk var en stor del af denne hjemmeside AI-assisteret arbejde. Super nyttigt, nu hvor jeg også har begrænset tid på grund af en nyfødt.

Jeg har fundet ud af, at Visual Studio Code’s GitHub Copilot faktisk er ret god, når det kommer til at arbejde med front-end-udvikling. Det er især nyttigt at få “tanker” om, hvordan man arbejder med biblioteker, som du måske ikke har meget forstand på (såsom Svelita/Decap). Selvom for mig var en kæmpe tidsbesparelse at kunne lave en forespørgsel som denne forenklede anmodning: “Mit gamle portfolio er i #noget-katalog, flyt det til det nye #katalog efter Z, Y, Z”. Så dukker der selvfølgelig Powershell-kommandoer og lignende op for at flytte tingene rundt.

Jeg brugte også meget hjælp til at style hjemmesiden. Selvom ved gennemgang tror jeg, der er masser, der kan optimeres yderligere. Jeg synes, at AI ofte bare kan tage en let vej for at få tingene gjort, og ikke den “korrekte” tilgang til at sikre adskillelse af bekymringer og andre “bedste praksis”. Dette er også grunden til, at brugen af AI er blevet defineret som en “teknisk gæld generator” af nogle, herunder mig, da det ofte kan få tingene til at fungere, men på en måde, som en uerfaren udvikler ville have gjort det.

Den tekniske stak

For dem, der er nysgerrige på detaljerne:

  • Statisk site generator: Astro (seneste)
  • CMS: Sveltia CMS
  • i18n: Astro’s indbyggede i18n routing
  • Hosting: Fortsat udrullet til Bunny CDN/Storage

Siden fortsætter med at være hurtig, pålidelig og dejligt minimal. Lige som jeg kan lide det 😄

Hvad er næste skridt?

Jeg falder til ro med denne nye opsætning og vil forsøge at udgive mere hyppigt, nu hvor infrastrukturen føles rigtig. Jeg vil også gerne udforske mere af Sveltias muligheder, der er potentiale for rigere indholdsarbejdsgange på sigt.