StaticBlog (my Python flat-file blog) is up and running. Of course,
given the short time I've been able to work on it, it's missing most of
the features I'd like it to have.
I started writing StaticBlog a few days ago as the tool to manage my
personal web site, based on a few considerations:
- blogs change a few times per day at most (if we exclude features like
trackback and comments, which can be easily implemented on separate
scripts or -- better -- not implemented at all)
- you don't need a database for a blog since entries are few, sorted only on date
or category, and indexes have to be built anyway for menus or archives
- I don't like CGIs =)
- there are lots of really good apps to write blog entries, a few of
them even come preinstalled on modern PCs, they're called editors
(and if you're like me, you spend most of your waking time in fron of
one)
- did I mention that I hate CGIs?
- static pages are faster than dynamic pages and they're cache-friendly
and searchbot friendly by default
- I much prefer working from the command line than using a web interface
If you're reading this, it means StaticBlog is (at least partially)
working. What I've managed to hack together so far:
- filesystem based entries and categories, more or less like Pyblosxom
(using the wonderful path Python module)
- modular converters (.txt, .html, and .rst do far) to convert entries
- input encoding support (since I'm Italian I'm pretty sensitive to it, things like אטלעש should work)
- template based (via simpleTAL)
- monthly archiving (partially done)
- parsing only of the actually modified entries and HTML generation
only of the actually modified pages (thanks to the shelve module)
- rc based configuration with sensible defaults (at least for Unix systems)
What I'd like to add soon:
- RSS generation (it's already built in, I only need to write the XML
template and feed it to TAL) update: as you can probably see, RSS
is working now generating an RSS 0.91 feed for each category; I'm
thinking of adding an RSS 2.0 feed (it's just a matter of creating the
template) to use entry dates, etc.
- logging support, using the 2.3 logging module
- new entry submission to blog engines (via XMLRPC? is it really a nice
feature? hmmmm have to investigate this a bit)
- support for formats needing external converters, like LaTeX or Office
docs (I really only need to write a converter for them)
- completing the half done features ofc =)
- improving the architecture maybe by planning it a bit =)