LJ Archive

Blosxom: Think of It as cat(1) with Stylesheets

All the heavy blog software in this article might have its advantages, but what if your home page is already a fantastic collation of server-side includes and fun stuff, and you want to leave it mostly as is and add a blog, or two or three?

What if you're tidy about what software licenses you want to use on your site and think all this “free for noncommercial use” stuff is a bad flashback to ssh.com, GIFs or Bell Labs UNIX?

Time to look at Rael Dornfest's Blosxom, which might be described as blogging UNIX-style. The concept is simple. Your blog entries are small text files in a directory of your choice. Blosxom goes through them based on modification date and assembles them into classic date-ordered blog format. That's about it.

The default format is good-looking HTML, but there's also RSS support, and you can easily write your own HTML “flavours” to create a custom look. A flavour consists of a head, which is the stuff that goes at the beginning of a blog page; a foot, which is the stuff at the end; and a story section, of which there is one per entry. Samples are available from the Blosxom site.

The original Blosxom is written in Perl, and there's also a Python implementation, pyblosxom by Wari Wahab; an Apache module, mod_blosxom by Hiroyuki Oyama; and a PHP implementation, phosxom by Stoyan Zhekov. I installed the original, but you can use the same text files and flavours under any implementation.

Dornfest claims that you should be able to get Blosxom working in 15 minutes, and he's right, if you already have a web server with CGI support. It will work with any distribution's Apache package, out-of-the-box, but if you've tweaked things for maximum security you might have to untweak them to allow CGI. After basic setup, it will take you a little longer if you want to set up permissions correctly for a shared blog. Yes, you can share a blog, using the Linux file permission system you already know how to determine who can write and edit content in which section.

My Blosxom install didn't stay original for long, because I'm pretty disciplined in how I format my text files, and I wanted timesaving, easy-to-edit blank-line paragraph breaks instead of HTML <p> tags. Then I changed some other stuff, and I was hooked. What's next? Autowriting daily journal entries based on my outgoing mail logs?

The fun part about Blosxom isn't what it does in that first 15 minutes—it's what you'll end up doing to yours in the first 15 days. Á bas les cookie-cutter blogs! Vive la Blosxom!

Resources

Blosxom: www.raelity.org/apps/blosxom

pyblosxom: roughingit.subtlehints.net/pyblosxom

mod_blosxom: mod-blosxom.sourceforge.net

—by Don Marti

LJ Archive