15 January 2010

Emacs+org-mode and blogger

A few days ago when I set up this blog, the first thing I thought about was how I could write posts with emacs and org-mode. Yes, Blogger provides an online editor, but I loathe online editors. Why would I want to type into a little box and pick from a markup menu when I can use emacs?

For the moment, I am using a package called weblogger.el It works well but it doesn't let me upload images.

A few observations:

  • Org-mode will export HTML but it wasn't immediately obvious how to make it export the body. Those who are familiar with org-mode won't be surprised to hear that there is already a way to do that. It's just not offered as an option in `org-export' (C-c C-e). It's just:
    (org-export-as-html nil nil nil "*Org HTML Export*" t)
    
  • Pasting text into Blogger is a non-starter.
    • I don't want to do that manually every time I post
    • The online editor "helps" you, thus ruining the post.
  • I tried Blogger's mail-to-post interface. It sort of works, but:
    • Can't upload images. Google's docs say you can1. But I found that an attached file was simply displayed literally, as line-noise-looking text.
    • In order to post HTML, you have to convince your mail client to send content-type text/html instead of text/plain. My ISP's squirrelmail webmail simply would not do that.

      There is a bright side to that: It pushed me to reconfigure my SMTP setup. Years back I abandoned it because it wouldn't work over dialup. Back then it was all sendmail, now it's all exim-4 and easy to configure. Kids these days!

      Nevertheless, I am not using the mail-to-post interface because weblogger is better.

    • It doesn't support labels.
  • Weblogger.el is easy to set up, just customize it.
    • It tries to send labels, but Blogger drops them.
  • One problem using Blogger with Weblogger is that what Blogger wants for your username is not your Google username but your email address. Weblogger doesn't know this - it serves not just Blogger but anything that takes xml-rpc - so it just calls that field "username". Confusing unless you know it.
  • Even better, I'd have liked to use an Atom API instead of an XML-RPC API. That may still happen, but I'm not in that much of a hurry. My main reason for changing would be to can upload images2. But none of the packages seemed to support that. I looked at these:
    emacs-atom-api
    gone.
    atompub.el
    The code seemed messy, and when it set up an XML buffer and wanted nxml, I bailed.
    Google's g-client
    Haven't tried it out. I'm looking at it now. Doesn't appear to handle images, but I know Atom can do so.

Footnotes:

1 Google's docs say "To include an image in your post, you can attach an image to you your email."

2 Mostly dia diagrams converted to images, I expect.

No comments:

Post a Comment