I've started to compile all the Blogofile documentation I've written into one place.
I've also started a mailing list for all thing Blogofile related. Please feel free to give feedback, ask questions, or suggest new features there.
I've been blogging for a while now, over at EnigmaCurry.com, early on having used TikiWiki, and most recently Wordpress. I've been mostly happy with Wordpress, it's got a very active community surrounding it and for the most part, it just works.
One thing I really hate about wordpress though, is writing blog posts in their stupid in browser editor. It's not really Wordpress' fault, no one has ever built a decent in browser editor (although that may change), so I use Emacs to write all my blog posts.
At first I used the It's all text firefox extension to be able to edit browser text fields inside of Emacs. This is a nice solution, and I use it all the time. However, when I'm writing blog entries, I'm kind of a perfectionist, often editing a post a couple dozen times before feeling done with it. It got rather tedious to keep switching between Emacs and firefox each time I would save my changes. I wanted a way that I could publish to my blog directly in Emacs.
As it turns out, there are several packages for Emacs that will publish to blog engines using xml-rpc:
I've tried them all. They all either didn't work, or didn't work how I wanted them to, so I started to write my own, but got frustrated and realized that I probably couldn't improve on what had already been done.
I briefly played with the idea of creating a FUSE based filesystem interface to wordpress, where when I wrote a file to a specific directory it would automatically post or update a blog entry on my blog. I wrote the original interface, but then I found Jekyll.
Wow! Jekyll is awesome. Most blog engines have a database that when a user requests a page the engine queries the database for the post and renders an HTML page on the fly. This frees the author from having to create an HTML page everytime they want to post to their site, but it gets a bit computationally expensive to render that page everytime a user requests one. Why not generate the page one time and be done with it? That's exactly what Jekyll does, it prerenders your entire website from a set of templates and then you upload that rendered site to your webhost (or have git do it for you with a post-receive hook).
Two things about Jekyll prevent me from using it though, it's brand new and doesn't have all the nice features that wordpress has, like categories and tags and such. Also, it's written in Ruby. I hear Ruby is a fine language, but I don't know it. So I wanted something similar in Python.
So this is Blogofile, something quite similar to Jekyll, but written in Python. Jekyll is made more for websites of arbitrary structure, although it does blogs quite well. Blogofile is targeted specifically for blogs. It integrates categories, tags, rss/atom feeds, rss/atom feeds per category, comments and trackbacks, like a good blog should.
Major props go out to Tom Preston-Werner for creating Jekyll. I hope the jekyll project continues to do well!