Nachdem ich wieder ein paar Wochen am neuen Design getüftelt habe, heute meine Gedanken dazu in Form dieses Beitrags. Ich weiß, ich ändere Designs oft - zumindest die Farben. Meist gefällt mir meine Website dunkel am besten. Jetzt hatte ich für lange Zeit eine Art Terminal-Look mit Monospace Schriftart. Das Design meiner Seite ist oft auch ein bisschen stimmungsabhängig, genau wie die Wahl meiner Kleidung.
Irgendwie hatte ich keine Lust mehr auf Terminal-Design. Obwohl ich das Terminal sehr gern mag. Ich kann nicht genau erklären warum, aber irgendwas an der Konsole scheint mich zu faszinieren. Ich benutze auch total gern Git. Ich habe noch viel dazu zu lernen, ich bin desinitiv keine Konsolen-Meisterin. Aber was nicht ist, kann ja noch werden! Es gibt zum Beispiel in meiner Klasse Leute, die ein bisschen die Arbeit in der Konsole vermeiden und lieber die grafische Oberfläche benutzen.
Ich benutze die Konsole auch nicht für alles. Man könnte ja so auch auf dem Computer umher navigieren, Ordner erstellen usw. Das tue ich normalerweise nicht. Aber ich habe mir schon vorgenommen, auch so etwas zu üben, wenn ich mal extra freie Zeit habe mich intensiver mit der Konsole* bzw. Terminals* beschäftigen.
*Konsole: wird oft synonym zu Terminal benutzt. Strenger genommen ist die Konsole die Schnittstelle, über die der Rechner gesteuert werden kann (egal ob Terminal-Programm oder echte Hardware).
*Terminal: das Fenster, das die Eingabe-/Ausgabe-Oberfläche anzeigt.
Meine Erfahrungen mit Astro
Ich liebe Astro immer noch. Wir hatten ein paar Probleme in der Vergangenheit, daran gebe ich aber nicht Astro die Schuld. Ich lerne ja noch, viele Dinge kann und weiß ich (noch) nicht, ich habe Fehler gemacht, die sich hätten vermeiden lassen. Doch dafür fehlte mir die Erfahrung. Aber ich habe mittlerweile schon recht viel mit Astro herumexperimentiert aber nicht mit Astro allein. Mittlerweile habe ich ja auch Erfahrungen mit Angular und React gesammelt. Das ist zwar alles nicht ganz das selbe, Parallelen gibt es aber definitiv. Darüber hinaus habe ich auch im Bereich JavaScript/TypeScript hinzugelernt.
npm create astro@latestDie Seite, wie sie jetzt ist, habe ich nicht von null auf gebaut, sondern ein Template benutzt. Das sah ganz anders aus, aber die Basis war so schon einmal gegeben. Das Original ist devidev.io von Dejan Vi, das „about“ habe ich auch so behalten, das fand ich schon ziemlich originell.

Was ich unter Aanderem - abgesehen von den offensichtlichen, optischen Änderungen - ergänzend gemacht habe:
- RSS Feed implementieren
- Robots und Update von Sitemap
- Blog und dazugehörige Post-Ansicht implementieren
- Tags für Blog Posts und eine Tag-Seite dazu
- Status Log und Now als Markdown
- Alle Abhängigkeiten auf den neusten Stand gebracht
- Tailwind entfernt

- Zufällige Zitate auf der Startseite
Zum neuen Look
Die Idee: ein Hauch von Gothic. Generell mag ich die Goth-Ästhetik, auch wenn eher die etwas unterschwelligere Variante. Außerdem bin ich jetzt bereit für Herbst und Halloween. Ich würde nie behaupten „das Design bleibt jetzt so“, weil ich mich ja kenne. Ich habe also ein paar subtile Gothic-Elemente eingebracht, zum Beispiel die Schriftart in den Überschriften. Hintergründe sind wie gewohnt schwarz. Als Akzentfarbe habe ich ein goldiges Braun gewählt. Häufiger verwendete Farben zur Hervorhebung wären hier typischerweise rot, grau oder Lila gewesen, aber ich wollte lieber etwas Wärmeres und Ruhigeres. Mit Hintergrundbildern habe ich ein bisschen herumprobiert, hauptsächlich mit hübschen Mustern. Das wirkte aber irgendwie zu unruhig und ich war nicht zufrieden. Am Ende wurde es eine Textur. Ich habe auch noch die Cursor dementsprechend angepasst. Insgesamt bin ich jetzt erstmal glücklich mit dem Aussehen meiner Seite.

Bin ich schlauer geworden?
Vielleicht! Wie gesagt habe ich schon mehrere Versuche mit Astro gehabt und bei diesem Mal - nach einer Weile Abstand - fühlte es sich einfacher an. Vor manchen Dingen gruselte es mich schon, weil ich noch wusste, dass ich damit schon einmal Probleme hatte. Gerade was Blogposts und Tags anging. Dieses Mal ging alles fast reibungslos. Ich glaube schon, dass ich „besser“ geworden bin, aber jetzt gibt es ja auch Astro 5. Was genau da alles geändert wurde, weiß ich gar nicht. Aber ich glaube, dass das einbinden von RSS dieses Mal um Einiges leichter war. Es wird eine Mischung aus beidem sein: Astro hat Verbesserungen bekommen und ich habe dazu gelernt.
Was ich gelernt habe
Dass man mit Git auf Branches arbeiten kann, was das ist und wie es geht, davon hatte ich vorher schon ein allgemeines Verständnis. Aber während des Gruppenprojekts musste ich mich dann auch wirklich damit auseinandersetzen. Bisher habe ich für mich selbst immer auf einem Branch gearbeitet, aber in einem Team ist das wirklich keine gute Idee.
Kurze erklärung zu Branches: Git verwaltet Versionen - zum Beispiel von Software. Oder von dieser Website. Innerhalb von Git kann man "Zweige" (branches) von dem Projekt erstellen. Wie ein Klon des Projekts, auf dem man weiter arbeiten kann. Der Hauptbranch heißt "main" (oder manchmal noch "master"), den will man möglichst sauber und vor allem heile halten. Von main - oder jedem anderen Branch - kann man neue Branches erstellen. Auf einem Branch (der nicht main ist) kann man dann arbeiten, ohne dass irgendetwas mit main passiert. Erst wenn man sich sicher ist, dass auf dem Arbeits-Branch alles läuft und geplante Ziele erreicht wurden, kann man die Branches zusammenführen (also alles auf main).
git checkout -b feature-branch
git merge mainDokumentation: 3.1 Git Branching - Branches in a Nutshell
Mir ist jetzt erst - durch die praktische Arbeit damit - klar geworden, wie gut es sein kann, auch als alleinige:r Developer:in mit mehreren Branches zu arbeiten. Das habe ich dieses Mal auch gemacht, als ich den Blog hier eingerichtet und andere Anpassungen gemacht habe. Hätte ich das früher schon gemacht, hätte ich mir einiges an Frust gespart. Ich erinnere mich gut daran, wie ich einmal meine ganze Seite lahmgelegt habe, auf meinem einzigen Branch (main) ein Durcheinander herrschte und ich es nicht mehr hinbekam, den gewollten Status wieder herzustellen. Dieses Mal habe ich für jedes neue Feature oder Update einen neuen Branch gemacht, bevor ich meinen Hauptbranch aus versehen kaputt mache und somit die Seite nicht mehr läuft.
Zum Beispiel als ich alle Abhängigkeiten auf den neuesten Stand bringen wollte: Wenn ich das nicht auf einem separaten Branch gemacht hätte, wäre das richtig gruselig geworden! Die Sache mit den Abhängigkeiten ist - wie der Name schon sagt - dass Dinge voneinander abhängen und auf einmal geht nichts mehr, weil man eines dieser Dinger geändert hat. Das erfordert dann auch öfter mal regelrechte Detektivarbeit.
Fazit
Mit diesem Projekt habe ich meine Fähigkeiten gleich in mehreren Bereichen weiterentwickelt. Die Arbeit mit Angular und React ergänzt sich gut mit dem, was ich schon aus Astro kannte und hat mir ein besseres Verständnis gebracht. Es fiel mir merklich leichter, ein funktionierendes Blog-System mit Tags und RSS Feed umzusetzen. Ich habe am eigenen Leib erfahren, wie wichtig es ist, selbst als Solo-Dev saubere Branches zu nutzen - besser einer zu viel als zu wenig, kleinteilig arbeiten und Lernen braucht eben Zeit. Außerdem habe ich praktische Erfahrungen im Web Development und Deployment gesammelt, indem ich Abhängigkeiten gepflegt sowie Sitemap und Robots.txt implementiert habe.
