Neues von meinem Rechnerumzug: MkDocs reloaded
Wenn man – wie ich – bei der Einrichtung eines neuen Rechners sich entschlossen hat, jedes Stück Software einzeln neu zu installieren, um das über die Jahre gewachsene Chaos auf der Festplatte ein wenig aufzuräumen, dann stößt man zwangsläufig auf Programme, bei denen man sich fragt, warum man sie vergessen und lange nicht genutzt hat. So ist es mir mit MkDocs ergangen.
MkDocs ist ein schneller, in Python geschriebener und freier (BSD-Lizenz), Markdown-basierter Generator für statische Seiten, der vor allem für die Dokumentation von Software-Projekten entwickelt und von all denen geliebt wurde, für die Sphinx ein Overkill war. Ich hatte seinerzeit viel mit dem Teil gearbeitet und dies unter anderem auch auf diesen Seiten im Schockwellenreiter dokumentiert:
- MkDocs: Dokumentationen mit Markdown, 6. Dezember 2016
- Nevernote, 16. Dezember 2016
- Worknote: MkDocs und die Admonition Extension, 13. Januar 2017
- Worknote: MkDocs und MathJax, 19. Januar 2017
- Worknote: Software-Dokumentation mit Markdown, 16. Juni 2022
- Statische (Dokumentations-) Seiten mit MkDocs und Markdown. 13. Oktober 2022
Sichtbares Ergebnis dieser Bemühungen sind meine Seiten »Processing.py in Beispielen«, eine Sammlung meiner Processing.py-Tutorial, die ich von 2015 bis 2018 geschrieben und hochgeladen hatte. Danach hatte ich – etwa 2022 – noch die Idee, etwas ähnliches für P5.js zu realisieren, bin aber über einen frühen Prototypen (sie Screenshot im Bannerbild oben) nicht hinausgekommen.
Als ich nun bei der (Neu-) Einrichtung meines Rechners wieder über MkDocs stolperte, war mir erst einmal ein wenig wehmütig zumute. Doch dann dachte ich: Warum nicht ein Reload versuchen? Mein wiedererwachtes Interess an P5.js hat ja schon zu einer Reihe von neuen Tutorials im Schockwellenreiter geführt, so daß ein »P5.js in Beispielen« Sinn machen würde. Also habe ich mir erst einmal mit Conda eine virtuelle Umgebung für MkDocs geschaffen und die Software darin installiert und dann damit unverändert meine alten P5.js-Seiten herausrendern lassen. Ich erhielt zwar viele Warnungen (in der Hauptsache wegen veralteter Aufrufe, die durch neue Funktionen ersetzt wurden), aber es funktionierte und die Seiten wurden anstandslos herausgeschrieben.
Dadurch angefixt habe ich einen ganzen Abend an den Seiten gebastelt, bis keine Warnungen mehr im Terminal angezeigt wurden. Und dann war mein Entschluß gefasst: Es wird einen Neuanfang für (m)ein »P5.js in Beispielen« geben. Ich bin mir nur noch nicht sicher, ob ich diese Seiten dann auf GitHub Pages oder auf Read the Docs veröffentliche soll. Es gibt beim letztgenannten einen Community Plan, auf dem man – wenn man »ethisch korrekte« und nicht störende Anzeigen zuläßt (es ist eine kleine Anzeige pro Seite) – seine Projekte kostenlos veröffentlichen kann. Und Read the Docs unterstützt MkDocs out of the Box.
Und – wie fast immer – hat mich bei meinen Überlegungen gleich der Größenwahn gepackt: Was ist mit »Py5 in Beispielen« oder »Pygame in Beispielen«. Aber angefangene Projekte tummeln sich ja schon zu Hauf auf meinen Festplatten. Daher wäre ich froh, wenn ich zumindest erst einmal das »P5.js in Beispielen« zum Abschluß bringen würde.
Ein weiteres Problem scheint mittlerweile auch gelöst: Hatte ich hier noch beklagt, daß MkDocs MathJax nur via eines CDN einbinden kann, verspricht der Beitrag »Hosting Your Own Copy of MathJax«, daß eine selbstgehostete Lösung möglich sei.
Ein weiters altes (MkDocs-) Projekt habe ich aber dennoch testweise – wenn auch vielleicht nur kurzfristig – wiederbelebt: Während meiner damaligen Flucht aus den Datensilos hatte ich mit Nevernote meine eigene, private Version von Evernote mit MkDocs realisiert. Es war so etwas wie der Vorgänger meines zweiten Gehirns. Doch von Logseq trudeln momentan beunruhigende Nachrichten bei mir ein, die mich über einen Wechsel der Software für mein zweites Gehirn nachdenken lassen (bisher dachte ich an Zettlr oder Obsidian). Als chronischer Bastler aber frage ich mich nun: Warum nicht (weiter) an etwas eigenem, selbstgeschraubtem bauen? Einen digitalen Garten kann ich unter Umständen auch mit MkDocs realisieren – wenn ich die Sache mit den Wikilinks in den Griff bekomme. Doch dafür soll es in den neueren Releases von MkDocs zumindest Ansätze von Lösungen geben. Still digging!