partying with pyblosxom part 1

Woohoo! What a title for a series! Excited, right?

In this series of articles (I have no idea how long it'll be), I'll be doing all sorts of stuff with PyBlosxom. Grab your favorite Python reference because here we go!

What in the world is PyBlosxom?

PyBlosxom is a Python version of Blosxom -- a very minimal blogging application. Blosxom weighs in at less than 100 lines of Perl code but can still provide a very simple and easy-to-use blogging environment. The key to that last sentence was that Blosxom is written in Perl. PyBlosxom attempted to be a Python version of Blosxom. After all, why have one program when you can have two in two different languages?

Though PyBlosxom kept the simplistic usability that Blosxom introduced, it's code-base is another story. Blosxom weighs in at around 100 lines of code, however, PyBlosxom is around 2500 -- a big difference. Even though PyBlosxom is considerably bigger, the code is still very easy to understand and read (as we'll see later).

The Blosxom Style

One of the great things about Blosxom-style applications is how they take a different approach to blogging than all the others. Most of the more popular applications require database back-ends and provide tons of front-end features like built-in content management and user-control. Blosxom-style applications have none of that. They provide the bare minimum to get you going and that's all.

Instead of using an RDBM back-end, like MySQL, Blosxom uses simple text files and directories. This allows you to simply store information in a single directory like so:

/news/June5.txt

Or you could use subdirectories to provide a more detailed category:

/cooking/recipies/french-toast.txt /cooking/styles/grilling.txt

As you can see, both of those stories relate to cooking, however, they can be further categorized based on their subdirectories.

Second, while most blogging applications come with their own way for you to write your content (such as a web-based form or an API), Blosxom provides none. It's up to you to figure out how to write your content. While it might sound lazy at first, it actually gives you virtually unlimited options to write content. You can go as simple as using Notepad or vi, you could write your own web-interface, or you could even configure it so you can write content from your cell-phone!

Finally, Blosxom-style applications are extendible. Through the use of custom-written plugins, the user can create their own features. Say a user wanted to order their entries a certain way or count how many people have read their article -- plugins can do all of this and more! We'll be going over plugins in this series, as well.

Ending

That's all for this article. We'll start digging into PyBlosxom next time. Until then, if you're interested in following along, I'd recommend reading the manual over at PyBlosxoms homepage since I won't be covering most of what's there -- after all, there's no sense in me re-hashing anything already written. Also, if you have the resources, you could even try installing PyBlosxom yourself and give it a shot!