Ich freue mich, heute endlich Version 0.3 meines statischen Blog-Compilers
“Acrylamid” zu veröffentlichen (ehemals lilith). Einiges getan, so nutze
ich HTML5 als Layout-Grundlage, habe eine neue Artikel-Ansicht und allerlei
Detailverbesserungen im System selbst, ein kurzer Auszug:
- full-featured Blog mit Index, Full-Entry, Artikel und Tags (WordPress halt) in
statische Seiten gebacken.
- typographische Feinheiten, MathML und Silbentrennung für diverse Sprachen
- RSS-Import, Autokompilierung bei Änderungen, Deployment
- einen Jinja2-Filter mit dem man Jinja2 in Einträgen schreiben kann, denn I
HERD U LIEK JINJA2 SO I PUT A JINJA2 IN UR JINJA2 SO U CAN WRITE TEMPLATES
WHILE U WRITE TEMPLATES
- Aufräumen von verwaisten Dateien im Ausgabe-Verzeichnis
- überarbeitete API ähnlich zur …weiterlesen.
As a result of my last performance improvements to acrylamid I was not
able anymore to measure the memory used via Activity Monitor. I can measure
cpu time in many different ways using time or python’s neat -m cProfile -s
cumulative argument in front of my real program call, but I don’t know any
way to measure memory of fast ending applications.
Memory Profiling
The first fact I found is that python has no capabilities of profiling and
BSD’s version of time had no memory statistics support (seems, linux version
can do this). But there’s an App… erm tool for that: valgrind. Using it
with OS X’ default python …weiterlesen.
Ich entwickle lilith derzeit recht aktiv weiter. Neben so hübschen Sachen
wie MathML ist es jetzt auch einigermaßen fehlerfrei. Da waren ein paar
echt grobe Schnitzer drin, dass ich erstaunt war, wie gut es dennoch lief. Aber
der Teufel steckt ja bekanntlich im Detail.
multilang support
Habe ich auf Wunsch implementiert, wenn auch rudimentär und noch nicht für
Syndication. Multilang sieht man hier in diesem Post. Er rendert alles, was
nicht zur primären Sprache gehört, in ein eigenes File und ich erhalte Links
für mein Template.
Hab das Feature auch einigermaßen gut dokumentiert und es funktioniert
schon echt gut. Nebenbei habe ich noch ein kleines Projekt angefangen, was
wir ähnlich wie …weiterlesen.
Doch schon. Sechs Monate später als erwartet. Hatte ja
dieses klitzekleine Problem,
mein Projekt lilith (Backend meines Blogs) war
nahezu fertig und ich kannte damals noch nicht die wunderbaren Vorteile eines
Distributed Version Control Systems und damit GitHub.
Nunja, die „paar” Stunden Arbeit waren weg. Aber genug geweint, jetzt gibt es
endlich ein komplett remastertes lilith.
Was diese neue Version nun kann:
-
human-readable URLs. Also ich find’ Hashes eigentlich ganz hübsch. Aber
irgendwie hatte er ja recht. Nun habe ich hier
sowas wie /2011/von-zeitreisen-und-informationsgeheimnissen/.
Google mag das bestimmt.
-
das KILLER-Feature: Hyphenation aka Automatischer Zeilenumbruch. Und zwar
auf Basis vom Tex-Algorithmus
samt deutschem Wörterbuch. …weiterlesen.
Vor ein, zwei Wochen habe ich klammheimlich lilith veröffentlicht. lilith ist ein Blogsystem
á la WordPress, geschrieben in Python und basiert auf reinen Textdateien.
Mein Blog selbst nutzt seit Ende Juli lilith und läuft ziemlich rund, wie ich finde.
lilith ist benannt nach dem weiblichen Hauptcharakter in Samsas Traums’ Konzept-Alben
„Die Liebe Gottes“ und „Tineoidea oder: Die Folgen einer Nacht“. Letzteres ist wirklich empfehlenswert.
Features
lilith ist mit der Programmiersprache Python in knapp 1100 Zeilen geschrieben. Derzeit
einzig unter 2.6 getestet ist es vergleichsweise schnell. Aufruf der Hauptseite in ca. 220 ms
und Direktaufruf eines Beitrags in 130 ms (CGI).
Ich weiß jetzt nicht genau, wie schnell WordPress ist, …weiterlesen.
Wie versprochen gibt es nun mehr über lilith. Ich hatte ja mal kurz erwähnt, wieso, weshalb und
warum ich mich für eine neue Software entschieden habe – von mir selbst entworfen. Hier mal ein paar Grundinformationen.
Wie PyBlosxom…
PyBlosxom ist nicht schlecht. Gerade das Konzept hat mir zugesagt:
keine Datenbank, keine Weboberfläche zum Editieren und gute Erweiterbarkeit. Leider ist letzteres sehr
schwierig gewesen, da die Dokumentation hoffnungslos veraltet ist und auch so die API sehr umfangreich
ist (was nachteilig wie vorteilig sein kann).
Hier mal eine Liste der Features, die ich sinnvoll fand (Version 1.43):
- kein Datenbank-Backend notwendig
- mehrere Plugins für Markupsprachen wie reST und textile
- gezielte Angaben von Parsern im …weiterlesen.