Die Basis für die nächste Entwicklung meiner persönlichen Website ist fertig. Es wird mit Sicherheit noch mehr kommen, aber das Minimum, mit dem ich zufrieden bin, und die Infrastruktur, auf der ich aufbauen kann, sind vorhanden. Der letzte Schritt besteht darin, den Blog mit einem Beitrag über die Website und den Blog selbst einzuweihen. Ein kurzer Überblick über dieses Wochenendprojekt scheint mir der perfekte Weg zu sein, damit zu beginnen.

Schauen wir uns an, warum ich diese Änderung vornehmen wollte und wie ich mich entschieden habe, sie durchzuführen.

Warum?

Dieses Projekt steht schon fast so lange auf meiner nicht enden wollenden To-Do-Liste, wie die letzte Version meiner Website existiert hat. Es handelte sich dabei um eine ziemlich standardmäßige WordPress-Website, die sofort einsatzbereit war. Ich habe nie wirklich viel damit gemacht, außer die seltene Seite hinzuzufügen, die in diesem Moment einen Zweck erfüllte. Ich wollte schon seit einiger Zeit meine Online-Präsenz für die Erstellung von Inhalten ausbauen, wusste aber, dass ich auf die Probleme stoßen würde, die ich mit dieser Einrichtung hatte, und schob es immer wieder auf, bis ich dazu kam, dies zu tun.

Die Probleme, mit denen ich konfrontiert war, lagen nicht an WordPress selbst, und ich denke, es ist ein großartiges Tool, aber ich wollte einfach etwas Einfacheres und weniger Aufgeblasenes zum Schreiben und Denken. Etwas, das weniger an ein “Produkt” gebunden ist, das so groß wie WordPress ist. Das Hinzufügen einer Funktion könnte bedeuten, dass man sich durch ein übersättigtes und überkommerzialisiertes Plugin-Ökosystem wühlen muss oder dass man selbst ein Plugin schreibt, das nur PHP und einen restriktiven Satz von WordPress-Hooks verwendet.

Außerdem wollte ich meine persönliche Website mit anderen Projekten, an denen ich in letzter Zeit gearbeitet habe, vereinheitlichen, was das Hosting, die Bereitstellung und die Infrastruktur anbelangt. Darauf werde ich weiter unten noch näher eingehen, aber es genügt zu sagen, dass dies einige Vorteile für mich mit sich bringt und es mir ermöglicht, den eigentlichen Inhalt meiner Beiträge in einem verwalteten System (in diesem Fall Git) zu speichern, das unabhängig von der Plattform ist, auf der es läuft. Das ist ein großer Gewinn für mich.

An diesem Wochenende habe ich mir also endlich die Zeit genommen, es zu tun. Bis jetzt bin ich mit den Ergebnissen sehr zufrieden.

Wie?

Ich wusste von Anfang an, dass ich meine persönliche Website mit anderen Projekten, die ich benutze, und der sie umgebenden Infrastruktur vereinheitlichen wollte. Das bedeutete, dass einige Entscheidungen im Grunde schon getroffen waren.

Hosting

Ich habe meine Projekte nach Kubernetes verlagert. Ich habe ein privates Repo auf Github, mit dem ich die Infrastruktur aller meiner Kubernetes-Cluster mit Flux verwalte. Damit kann ich eine yaml-Datei pushen, 1-2 Minuten warten und beobachten, wie die Neukonfiguration wirksam wird. Wenn ich versehentlich etwas im Cluster ändere, das nicht in diesem Repo enthalten ist, wird die Änderung abgeglichen und rückgängig gemacht, so dass ich eine einzige Quelle der Wahrheit habe und problemlos zwischen Clustern oder sogar Anbietern wechseln kann.

Seit ich darauf umgestiegen bin, bin ich ein großer Fan davon, trotz meiner anfänglichen Bedenken, dass ich den “Spaß” beim Einrichten eines neuen Servers und das schöne Gefühl eines unbeschriebenen Blattes vermissen würde.

Bereitstellung

Kubernetes braucht immer noch einen Container zum Ziehen und Ausführen, und dafür habe ich einige ziemlich einfache und grundlegende Github-Workflows eingerichtet. Ich habe nie das Minutenlimit erreicht, das ich mit meinem Pro-Account erhalte, und es ist ein System, das ich kenne und das ich gegenüber allen anderen, die ich ausprobiert habe, bevorzugt habe.

Grundsätzlich werden die Dateien erstellt/generiert, in ein Docker-Image kopiert und an Docker Hub übertragen. Ich habe darüber nachgedacht, mein eigenes Image-Repository zu hosten und die Kosten zu vergleichen, aber ich habe mir noch nicht die Zeit genommen, es einzurichten. Zumindest im Moment ist es mir die Abonnementkosten wert.

Generator

Ich habe noch nicht sehr viele statische Websites erstellt, daher hatte ich in diesem Rennen keine Chance. Ich habe Jekyll in Betracht gezogen, mich aber schließlich für Hugo entschieden. Ich verwende es zum ersten Mal, aber bis jetzt bin ich ein Fan von etwas, das wirklich eine fast vollständig statische Website sein wird.

Bei der Erstellung der Site konnte ich die Grenzen des “statischen” Teils der statischen Site ein wenig ausreizen, was ein gutes Zeichen dafür ist, dass ich die richtige Wahl getroffen habe, denn statische Sites, die keinen klaren und zeitlich begrenzten Zweck haben, neigen dazu, irgendwann ein wenig über ihre statischen Wurzeln hinauszuwachsen. Ich habe versucht, mich durch die Erstellung der Kontaktseite zu arbeiten, was ein wenig Javascript (einfach genug) und etwas Code im Backend zum Senden der E-Mail erforderte. Ein bisschen nginx-Konfiguration und eine PHP-Datei im statischen Verzeichnis und es funktioniert so gut wie jeder LAMP-Stack, den ich je eingerichtet habe. Das ist nichts, was ich auf jeder Seite machen möchte, aber perfekt für die Art von gelegentlichem Gebrauch, für den ich es brauchen werde.

Ich war auch ziemlich beeindruckt von Hugos Internationalisierungsfunktionen. Als Amerikaner, der in Deutschland lebt und Deutsch lernt, ist das eine gute Ausrede, um die Sprache zu lernen und zu üben und die Website für viele Menschen, mit denen ich regelmäßig zu tun habe, ein wenig freundlicher zu gestalten. Theoretisch könnte man das auch auf andere Sprachen ausdehnen, aber da mein Französisch nicht mehr so gut ist und ich keine anderen Sprachen spreche, sehe ich nicht, dass das in nächster Zeit passieren wird.

Gestaltung

Ich lege immer großen Wert auf die Feststellung, dass ich kein Designer bin. Ich habe ein ziemlich gutes Gespür für UX (insbesondere schlechte UX), aber ich bin einfach nicht die richtige Art von kreativ, künstlerisch, modisch oder trendy, um wirklich zu wissen, ob etwas “gut” aussieht. Hugo hat eine wirklich großartige Sammlung kostenloser (die meisten? alle?) Themes auf [ihrer Website] (https://themes.gohugo.io), was eine weitere großartige Erfahrung ist, verglichen mit dem Durchstöbern von WordPress-Themes, von denen fast alle meiner Erfahrung nach kostenpflichtig oder irgendwie schlecht ausgeführt sind.

Schließlich stieß ich auf Hello Friend NG. Es ist einfach, sauber, und ich mag das Aussehen, was alles ist, was ich wirklich brauche. Ein paar Anpassungen, um es zu meinem eigenen zu machen, und einige Aspekte des Designs, die das Thema nicht enthält, wie mein Kontaktformular, Favicon usw., und ich war bereit, loszulegen.

Was kommt als Nächstes?

Ich denke, das ist genug für ein Wochenende. Ich möchte versuchen, Gründe zu finden, um Beiträge zu schreiben, und auch Gründe, um Beiträge auf Mastodon zu schreiben, also werden das und das Aufräumen von kleinen Dingen, die auf der Seite auftauchen, für eine Weile die Prioritäten sein.

Irgendwann werde ich einen freien Abend oder ein freies Wochenende haben, an dem ich Lust habe, etwas daran zu arbeiten, und dann würde ich es gerne ein wenig erweitern, indem ich ein paar Dinge hinzufüge. Das erste wäre wahrscheinlich eine Projektseite, auf der ich Projekte vorstellen kann, an denen ich arbeite, gearbeitet habe oder die ich einfach nur vorstellen möchte. Das zweite wäre wahrscheinlich die bereits erwähnte deutsche Übersetzung der Seite. Mein Deutsch ist nicht besonders gut, daher werde ich das vorerst wohl nur sporadisch tun und den statischen Seiten den Vorrang vor den Blogbeiträgen geben. Irgendwo muss der Prozess ja anfangen.

Darüber hinaus werden wir einfach sehen, was ich brauche, wenn ich es brauche. Zumindest habe ich jetzt eine Grundlage, auf der ich gerne arbeite. Das ist schon sehr viel.