How to Build a Website
## Technologien
stack=(
"Hugo"
"Cloudflare Pages"
"GitLab"
)
## Erstellen einer Website - erste Gedanken
Wo man heutzutage eine Website erstellt ist vielschichtig.
- Lasse ich die Website von jemandem hosten?
- Wie lasse ich die Website hosten?
- Erstelle ich alles selber?
- Oder lasse ich lieber das andere machen?
- Oder hilft die KI?
Hier gibt es viel zu überlegen.
## Mein Weg ist das Ziel
Ich habe mich für etwas Kompliziertes entschieden. Um einfach ein Projekt oder eine Herausforderung einzufügen, wollte ich unbedingt eine Website mit Hugo erstellen. Da ich Obsidian als Second Brain nutze, ist es recht praktisch. Das ist zwar einfach, aber irgendwie stoße ich dabei auf Herausforderungen.
Ich hatte Probleme das aktuelle Theme [Poison] von Hugo zu installieren. Da ich nicht wirklich Erfahrung habe, nutze ich einfach Claude Code um Fehler zu beheben.
⚠ Herausforderung erkannt:
Git Submodules für Hugo Themes sind komplizierter als gedacht...
## Alles mit KI ist viel einfacher geworden
Eigentlich wollte ich ohne KI diese Website bauen, aber leider war es anders als gedacht. Die Anleitung für das Theme konnte ich nicht ganz so umsetzen. Durch Claude wurde es viel einfacher.
Darum steht die Website recht schnell mit Hugo.
$ hugo version
hugo v0.152.2-extended linux/amd64
$ hugo
Start building sites ...
| DE
-------------------+------
Pages | 42
Paginator pages | 0
Non-page files | 0
Static files | 23
Processed images | 0
Aliases | 0
Sitemaps | 1
Cleaned | 0
Total in 156 ms
✓ Build complete!
## Hosten der Website
Ich wollte nicht für das Hosten einer Website Geld bezahlen. Darum habe ich mich für Cloudflare Worker entschieden. Dort habe ich eine Domain und kann damit die Website direkt ansteuern lassen.
Ich lasse Hugo mit Git in mein privates Gitlab pushen und danach synchronisiere ich es ins normale Gitlab. Es ist zwar ein unnötiger Weg, aber ich habe hier viel mehr Versionskontrolle.
📝 Deployment Pipeline:
Local Development
↓ git push
Private GitLab (gitlab.kurowski.me)
↓ sync
Public GitLab (gitlab.com)
↓ webhook
Cloudflare Pages
↓ deploy
kurowski.me ✓
Update:
Diese Hugo-Setup hatte später erhebliche Probleme. Siehe nächstes Projekt für die Details und warum ich zu einfachem HTML migriert bin.