Die nächste Etappe des Reboots der Website ist geschafft: mein Static Site Generator, mit dem ich die HTML-Seiten von kaipahl.de generiere, ist auf Version v0.1 gesprungen.
In den letzten vier Wochen habe ich zwei Features in den Site Generator eingebaut, die für mich das Minimum an Funktionalität darstellen, damit ich auf meiner Site vernüftig ein Blog aufsetzen kann. Ich kann eine Liste mit Tags und mit den Tags verknüpften Seiten ausspielen. Und ich kann für jedes Verzeichnis eine Liste mit den darin befindlichen Seiten ausspielen – zum Beispiel eine Übersichtsseite mit allen Blogeinträgen.
Kurz zur Gedächnisauffrischung: Zum Neustart der Website entschied ich mich zu "Back to the Roots", zurück zu den Anfängen der Site als statische Website, ohne CMS. Eigentlich hatte ich in den letzten 2 Jahren für solche Sites zu NodeJS und Assemble gegriffen. Assemble ist aber mit in einem Versionssprung mit breaking changes, ein halbes Jahr lang ohne weitere Commits auf der Stelle getreten.
Nach Ende eines großen Projektes im Sommer, hatte ich zeit und ich empfand es als ideals Projekt, um mich in Sachen NodeJS und Javascript stärker aufzustellen. So prokel ich seit zweieinhalb Monaten mit NodeJS und Handlebars herum.
Das ist kein hohes Arbeitstempo. Ich arbeite aber nicht full-time am Site-Generator und wenn ich am Site-Generator arbeite, schaue ich mir auch etwas abseitigere Themen an, die dann ein, zwei Stunden des Tages wegnehmen. Ein großes Thema sind für mich Tests, TDD und Testabdeckung wo ich erste Erfahrungen sammel (Karma, Mocha, Chai, Wallaby). Stetes Refactoring im Umfang in dem auch die Applikation wächst. Dokumentation der App etc…
Ich werde den Site-Generator irgendwann auch als Open Source rausgeben, aber dazu muss das Ding noch 1-2 Schritte weiter gehen. Derzeit ist das Projekt eng mit meinem Blog verwoben. Das muss aufgelöst werden. Dazu kommen die Sortierung der einzelnen Daten nach Datum etc… Das wird dann v0.11 und v0.15.
Es ist mein eigenes, kleines agiles Projekt. Ich geniesse es nach zwölf Monaten großen Wasserfall-Projekts und vielen Stakeholdern, mein eigenes Ding zu machen. Ich geniesse es, Lernfortschritte zu merken und durch die Hinzunahme von Tests den eigenen Workflow zu verändern.
Editor ist IntelliJ, Node.js ist die Laufzeitumgebung, Grunt ist der Task Runner. Für Tests wird Mocha, Chai, Istanbul (Testabdeckung) und Wallaby verwendet. Zumindest Wallaby ist erklärungsbedürftig. Wallaby ist ein Plug-In für einige Editoren, das Tests "live" durchführt, während man den Code schreibt. Die Testabdeckung ist für jede Zeile am Editorrand abzulesen (grau: nicht abgedeckt, grün: abgedeckt und okay, rot: abgedeckt, aber negativer Test). Mit console.log()
kann man während des Code-Schreibens die durch die Tests befüllten Variablen ausgeben – die Werte werden direkt in der Codezeile ausgegeben.
Gerade für einen "Test-Anfänger" wie mich, ist das sofortige Feedback auf Tests ein Traum. Insbesondere TDD wird zu einer sehr smoothen Geschichte.
Auf den anderen Baustellen sind die Fortschritte nicht so groß. Der Versuch einer geänderten beruflichen Positionierung mit größerem Input bei technischen/strategischen Entscheidung und stärkeren Zurückgreifen auf gemachte Erfahrungen, steckt weiterhin in der "Networking-Phase", mit vielen Gesprächen.
Das Zusammengehen mit einer anderen Entwicklerin in Form einer Agentur, versandet im zeitraubenden Alltagsgeschäft beider und ist nicht vorwärts gekommen.
Die Trennung von der Lebensgefährtin nach elf Jahren ist ebenfalls ein Zeitrauber, mit viel Kram der weggeschmissen werden will und anderer Kram, der im Rahmen der Trennung plötzlich in München liegt und hier nachgekauft werden muss.
Die Suche nach einer neuen Immobilie geht auch nur langsam vorwärts. Der nächste Schritt: Vorfühlen bei Banken bzgl. der Finanzierung.
Abseits des Static Site-Generators fühlt sich alles eher nach v0.0001 an.