Meine erste Woche mit FlatPress, ein Rückblick.

June 25, 2023 @ 21:35

Seit nun etwas mehr als einer Woche läuft meine Seite / Blog mit FlatPress.

Vor allem das es sich um ein flat-file CMS handelt, gefiel mir besonders als auch der sonst allgemein recht schlanke Aufbau der Software.

Für mich als “Nicht-Programmierer” ist es mir mit meinen bescheidenen PHP-Kenntnissen dennoch möglich hier und da Anpassungen vorzunehmen, oder gar ein kleines Plugin zurecht zu basteln (syntaxhighlighter-ng).

Auch das Theming gefällt mir sehr, was anscheinend auch an das von Wordpress angelehnt ist. Auch hier konnte ich recht gut selbst Hand anlegen und habe mir das snail-Theme an meine Bedürfnisse angepasst. Mittlerweile ist daraus auch ein eigenes Theme geworden, namens Rainbow

Jedoch sind mir auch so ein paar Sachen aufgefallen, die ich gar nicht so prall finde. Das sind zum einen die seit mehreren Monaten ( oder teils auch Jahren ) immer noch offenen Security-Issues in Github. Irgendwie scheint sich da keiner drum zu kümmern, obwohl sogar eine RCE dabei ist:-O

FlatPress wird zwar (seit 2018 wieder) aktiv entwickelt, jedoch scheint es den Hauptbeteiligten, wie so vielen anderen auch, wohl an Zeit zu mangeln mehr für FlatPress zu machen. Hier habe ich mir auf die Fahne geschrieben zu versuchen selbst ein paar Commits hier und da beizusteuern. Lust dazu habe ich auf jeden Fall und so weit konnte ich mich auch im FlatPress-Core beim einlesen schon einigermaßen gut zurechtfinden.

Für meine Seite hier konnte ich mir schon einmal ein paar kleinere “Hacks” zusammenschrauben, unter anderem eine “custom.php”, mit der ich eigene kleine PHP-Seiten einbinden kann, wie die 📈 ./system-stats Seite. Somit muss ich nicht das inlinephp Plugin nutzen, welches Angreifern nur unnötig Tür und Tor öffnen würde. Ich denke dazu werde ich später noch einmal einen extra Blogpost schreiben.

Das Angebot an Plugins ist auch soweit ganz interessant und vielfältig. Zumindest waren die für mich wichtigen Sachen dabei. Dazu zählt unter anderem das Markdown Plugin, auch wenn es nur den originalen Dialekt unterstützt.

Hier werde ich auch mal schauen, ob ich es in Zukunft schaffe, dieses zu updaten und cebe-markdown einzusetzen, welches drei Markdown-Dialekte ( Original, Github, Markdown-Extra ) beherrscht.

Update 29.06.2023: Das Markdown Plugin benutzt bereits MarkdownExtra!:)

Das Emoticons Plugin ist für mich ebenfalls Pflicht. Nur leider funktioniert es überhaupt nicht gut und ist ziemlich buggy. Es sucht ganz stumpf nach Strings, die es in seinem Emoticons Array definiert bekommen hat und ersetzt sie, ohne den Kontext zu beachten. Somit wird zum Beispiel immer aus der Zahl 2600 eine Sonne: 2600, weil der Hex-Unicode Wert für die Sonne eben die 2600 ist.

Oder aus einem (oin beispiel) ein ” (oin beispiel) ” - weil (o für das Party-Emoji steht. Allein in diesem Blogpost hatte ich dieses Problem jetzt schon satte drei mal. Auch hier werde ich mal schauen, ob ich ein paar Commits beisteuern kann, um nervigen Probleme aus der Welt zu schaffen. Ich denke das Einfachste ist hier, die Emoji-Eingabe auf die Syntax :emoji_name: zu beschränken.

Auch gibt der BBCode Editor und die Markdown Syntax es leider aktuell nicht her, einen einfachen Linebreak einzufügen. Wird eine ganze Zeile leer gelassen, so ist dies immer ein neuer Paragraph. Um einen einfachen Linebreak einzufügen muss man den Handstand machen und innerhalb eines [ html][ /html] Tags dann ein <br> einzufügen:

[html]<br>[/html]

FlatPress escaped das dann natürlich auch brav, sodass dann zu allem Überfluss auch noch ziemlich Matschig dann nach dem Abspeichern im File / Editor aussieht:

 [html]& lt; br >[/html]

Ich musste jetzt hier in den Beispielen auch ein paar Leerzeichen reinmachen, da der Parser das sonst auch wieder brav interpretiert hätte.

Es gibt also noch ganz viel zu tun und ich würde FlatPress auch eher als System ansehen, bei dem man gut selber ein paar Sachen reinhacken kann, bei dem jedoch auch auch an so machen Stellen herumgehackt werden muss. Da ist noch ein bisschen Luft nach oben.:)

Trotz der hier aufgeführten Schwächen, finde ich das CMS recht gut (bis auf die RCE Geschichte, da muss wirklich zeitnah was passieren!) und ich werde ersteinmal dabei bleiben. Es macht auch viel Spaß, an so einem Projekt ein wenig mitzuwirken und Code beizusteuern.:)

Aktuell befindet sich wohl auch FlatPress 1.3 mehr oder weniger auf der Zielgeraden, somit bin ich auch sehr gespannt, was dieses Release bringen wird. Bestimmt werde ich mir demnächst auch mal eine 1.3’er Testinstallation aufsetzen.