Notes on Writing a Blog Tool from Scratch
31 January 2008
At least on the Mac, there don't seem to be any good Atom-enabled publishing clients at this point. On Windows you have Microsoft's Windows Live Writer, which comes with good AtomPub support, and actually seems to be pretty nice.
I really hope MarsEdit will catch up in this space soon. The 2.1 version released today doesn't include generic AtomPub support, but hopefully an upcoming version will. In the meantime, I'm using Joe Gregorio's apexer command-line tool to post here, as I don't feel like adding either an HTML interface or an implementation of the MetaWeblog API.
POST /ping/ HTTP/1.1 Host: example.com Referer: http://mysite.com/source-uri/ Content-Type: text/plain;charset=utf-8 Content-Length: 30 http://example.com/target-uri/
That is, the body of the request contains the URI of the resource that's being pinged, and the
Refererheader contains the URI of the resource that's, well, referring to it. Respond with
202 Acceptedif the target URI exists and allows pingbacks, otherwise response with
404 Not Foundor
403 Forbidden, respectively. Or
409 Conflictif that referrer has already been registered. Or something along those lines.
Being tracked by a couple of planets really makes you watch your steps when changing things around.