Spent some time this afternoon installing and playing with nanoblogger
-- a reasonably complete command-line blogging package in the form of a
shell script. Great fun, though the code is a bit ugly and almost
completely uncommented (yeah, I know... it was hard to write, it should be
hard to read...).
Things I like
- Installation's a snap: just run
nb --blogdir dir --add and you're
in $EDITOR looking at a pretty-well-commented configuration file.
- It's built expecting that every user will have at least one blog, maybe
more, in different locations and with different configurations.
- It allows for both a local working copy and an uploaded, published
copy, and you can specify what command to use for uploading
- It's all stored in flat text files (no database) and all processing is
done offline, to generate fast static pages on your website.
- You can re-use parts of the blog as components in other web pages.
Things I don't like
- The only available comment package uses PHP and a database, and doesn't
take the local/published dichotomy into account. It's not really
integrated as a plugin.
- The lack of a web interface makes it unusable by anyone but a hacker.
Works for me, but I wouldn't turn my family or even many of my
coworkers loose on it.
- Shell scripting, though it makes for a clever hack, is pretty
inefficient.
- I don't really like the choice of representation in the raw data files
-- it's tantalizingly close to RFC822 , but
different.
- It's not easy to simply create a post as a file directly in Emacs and
get it published.
I think nb is going to be OK for an internal, work blog, but
it's not what I really need for some of the home projects I'm
contemplating. Still, it has a lot of good ideas I can
steal research.
The other package I've been looking at, blosxom is also pretty close -- closer in some places, farther in
others. The biggest problem, at least in the Debian version, is that it's
centralized: all the templates and config files are shared, so there's no
good way to give every user a completely separate blog the way you can in
nb. (Update 11/3: the combination of the isp and config plugins appears to fix this.)
Looks like I'll be building my own after all.