A few weeks ago, I committed the sin of whining audibly into the Internet about the lack of a proper blogging client that didn’t have ties to the Gnome underbelly. Well, I am going to admit my mistake now, and graciously accept my double-serving of humble pie.
Because I found one that not only doesn’t require Gnome, but it runs from the command line. And you know what that means, boys and girls. That’s right, it means you don’t have any excuses any longer. Drag out your old Pentium, because it’s being recommissioned.
The main things I needed from a blogging “client,” as I called it, were the ability to manage and edit posts, publish new content, and maybe edit links or manage images. People like screenshots, you know.
Charm does two out of those three, and gives you the ability to handle the third however you want. It’s a natural for the mundane tasks of updating, editing or managing blog content.
Technically, it doesn’t do any actual editing, or at least not in the conventional sense. For that task it very wisely allows you to configure an external editor, and directs your creative efforts to the application of your choice. Charm isn’t a writing suite, it’s a nifty tool for handling the nuts and bolts.
Charm is a Python-based program, which means it’s a snap to download and use, and install. Let’s grab the newest version, which was updated only about two months ago.
Now unpack it. Feel free to put it anywhere you like.
tar xvzf charm-1.9.0.tar.gz
Believe it or not, so long as python is installed on your machine (and I’m 99 percent sure it is), you’re done. You can start using it now.
Technically. Before you go any further you should set up a configuration file, because unless you tell Charm where to go, it’s just going to smile weakly and quit. As it should.
Start a file in your home directory and call it .charmrc. Here’s the guts of my configuration file, modified only slightly, of course.
metaweb = kmandla XXXXXXXX http://kmandla.wordpress.com/xmlrpc.php
editor = nano
Charm can handle WordPress, Blogger, Moveable Type, LiveJournal and a mess of other common blog hosts. WordPress uses the metaweb indicator, so I’ve followed it with my account name and password (no, my password is not really a string of X’s) and the xmlrpc address for my blog. And really, aside from that, there’s not much setup that’s required. You can run Charm from the decompressed directory, just by triggering it through Python.
Or if you prefer a system-wide installation, you can install it with this command, as the root user (in other words, Ubuntunuts need a sudo before this line):
python setup.py install
From there, it’s as easy as typing “charm” at the command prompt. Which should, barring incident, give you a menu interface that looks a little like this.
As you can see, Charm has already connected to WordPress.com, signed in and is awaiting further instructions. Now I can manage the content of my blog by working through the submenus. For example, to set up this post, I first pressed P, for the blog posting menu.
Writing a new post only requires that I press the E key, which brings up nano. Remember, Charm isn’t a writing suite. It just handles the nuts and the bolts. But you should like that, since it means you can arrange to use whatever writing program you like, be it Abiword or OpenOffice or Microsoft Word running under Wine And yes, you vi-weenies can use vi too.
I used nano here, but nano’s not really very conducive to writing, is it? What would be nice is if there was a console-based program specific to writing, without too many pointless features or random, unnecessary flair. Something for just for writing.
Oh, wait. I know. …
Yes, Charm and WordGrinder go together like peas and carrots, peanut butter and jam, or chocolate and milk. There’s only one small fault in the arrangement, and it’s something WordGrinder needs to overcome: You can’t import a file from the command line with WordGrinder.
WordGrinder can open its own file format, but Charm needs to be able to spit out a command that triggers the editor and the file. Unless you find a way to make the two hold hands neatly, you might find yourself using nano or another editor as a translator.
For my own case, I write in WordGrinder, export to text or html, trigger nano in Charm and then splice (“insert”) the text file into the dummy file that Charm created. It’s not ideal and I plan to submit a feature request for WordGrinder that would smooth that over, but for the mean time it works okay.
Let’s continue. Once the text of the post is complete and saved, we should add a title — a “subject.” From the Blog Posting Menu, the S key will do that.
And we should probably add a category. Pressing C tells Charm to screen the current categories available, and offer them for your perusal.
Notice that there’s also the option for tags; I never use them, which is why mine is blank. (I don’t see a difference between tags and categories, honestly. I’ve been over the definitions many times and tags seem redundantly redundant.)
But that’s about all you need to put something online. Here’s one last look at the posting menu before publishing.
Charm can wrangle existing posts too. From the main menu, the E key gives you the chance to screen through the posts already online or delete them completely.
Of course, if you want to edit a post from two years ago, you might prefer to do that the old fashioned way. Time spent downloading the list might be offset by the time it takes a Celeron to work its way through the WordPress.com backend. …
Charm doesn’t do some things, like allow you to rearrange blog widgets or scan your traffic stats. But again, those are shiny sparkly things that WordPress.com handles internally, and looking for them in a blog client would be stepping beyond the bounds of the original needs.
Charm has a lot of other options, and a lot of features that are aimed at different blog services. For that reason I don’t have much more of an introduction for you. The best part of Charm is this:
There it is, using up a massive zero percent of my processor time and a meager 2.4 percent of my 192Mb of memory. So roughly, 4.6Mb, which is a hair’s breadth when compared to any browser (except maybe elinks) wading through the WordPress.com blog management pages.
Now here’s the bad news.
I haven’t had much luck publishing a new post with Charm 1.9.0, because of an odd Python error that crops up. I’ve tried with Python 2.6.1 in Arch and Crux, as well as 2.5.2 in Hardy, and results are always the same. I can edit posts and follow all the other functions, but publishing a new post isn’t happening for me. It’s something that has been confirmed by other Charm users, but needs corrected. If you know any Python you might be able to accelerate the process; the bug report I filed (in the wrong section, I might add), is here. And of course, since I’m using WordPress, it might work better (or completely) on another host, or even an earlier version.
Otherwise, all Charm’s other functions work great. And I’m sufficiently pleased with Charm to use it on a regular basis, mostly because it allows me to keep using the machine I prefer for typing. Moreover I think between WordGrinder and Charm, the biggest blabbermouth on the Web would be able to keep their lips flapping and satisfy their need for affirmation from the anonymity of the Internet. And that’s what it’s all about, isn’t it?