← Tillbaka till bloggen

Vad jag gjort med den här sajten på sistone

· Fredrik Johansson

En personlig sajt är aldrig riktigt klar. Det är lite hela poängen — det finns alltid något att justera, lägga till, eller ta bort igen för att man insåg att det var en dålig idé. Den här månaden har det hänt en del.

Express-sidecar

Sajten är byggd med Astro och genererar statisk HTML. Det är snabbt och enkelt, men det betyder att allt som kräver en server-side process — API-nycklar, proxying, autentisering — inte fungerar direkt. Lösningen blev en liten Express-server som körs bredvid nginx i Docker och hanterar allt sådant.

Det öppnade dörren för resten.

Last.fm-widget

Jag lyssnar på mycket musik medan jag jobbar. Nu syns det på framsidan — en liten widget som visar vilka artister och album jag lyssnat mest på den senaste månaden, plus vad som spelades senast (eller spelar just nu, om något gör det). Data kommer från Last.fm:s API via Express-servern så att nyckeln inte exponeras i klienten.

Det är lite fånigt och helt onödigt. Precis lagom för en personlig sajt.

Immich-galleriet

Jag har kört Immich för fotohantering på homelabbet ett tag. Nu är det integrerat — /photos visar ett kurerat album direkt från Immich via en proxy i Express. Layouten är ett CSS-kolumner-baserat masonry-grid, vilket egentligen bara innebär att webbläsaren gör jobbet åt en.

Det krävde lite mer felsökning än förväntat, mest för att Astros scoped CSS inte appliceras på dynamiskt injicerat HTML. Klassiskt.

Homelab-topologin

/homelab hade ett ASCII-träd som beskrev infrastrukturen. Det fungerade, men det var inte snyggt. Nu är det en riktig visuell diagram driven av en JSON-fil — ändrar man src/data/topology.json uppdateras diagrammet. Mycket bättre än att redigera ASCII-art för hand.

Det här bloggsystemet

Det senaste tillägget. Tidigare hade sajten en bloggsekttion fylld med gamla inlägg från ett annat liv. Nu finns det ett enkelt admin-gränssnitt på /admin — en markdown-editor (EasyMDE), frontmatter-fält, spara och radera. Sparade inlägg commitas automatiskt till Gitea-repot via API, vilket triggar ett nytt CI-bygge.

Inga databaser. Ingen headless CMS. Bara .md-filer i git, precis som det ska vara.


Nästa: troligtvis mer foton, och kanske faktiska blogginlägg om saker som inte handlar om den här sajten.

← Tillbaka till bloggen