Charm is a full-featured client for LiveJournal as well as blogging, with support for the Atom and MetaWebLog APIs (Blogger, Movable Type, Wordpress, et.al.). It supports multiple profiles, as well as cross-posting. It's entirely text-based, and supports both an interactive menu mode as well as a scripting-friendly command-line mode. It can run in the background, polling for friend updates. It can also be used to mass-archive your posts. It supports LiveJournal's full array of posting and editing options, and offers a friendly interface to friends management and the administrative console. Plus, it's highly configurable.
The latest release, 1.9.0 (Sourceforge download), gives you the ability to use pre-defined templates, as well as to apply filters to a post before sending it.
Charm can now apply one or more arbitrary filter programs to a post before it is sent to the server (and it can revert to a pre-filtered draft). This will be useful for those of you who routinely use simple markup-to-HTML filters like Markdown and Textile, or anyone who feels that one post needs to be Swedish Chef'd.
You can now define any number of templates for use with Charm. A template pre-populates the post meta-information (such as the picture, mood, community, security, etc.) as well as the post body. Templates look exactly like Charm archived posts, and so are very easy to write and modify. You can override any part of a template from the command line, or simply change it interactively. For example, you can use a template to define a standard format for your in-character posts to a roleplaying community.
Charm has been around since 2001, so it's got a stable open-source (GPL) codebase and a community of people who use it. It's also thoroughly documented, including man pages, a detailed sample configuration file, and a complete manual.