The Tumblr Gem
Much as I love Tumblr, it’s not perfect. The lack of data export or backup tools makes me nervous, the web interface is good, but requires an awful lot of clicking, and I haven’t been able to find a desktop client that can schedule posts.
Enter The Tumblr Gem. It solves all these problems by letting me store posts as plain text files, using a format that’s simple, human-readable and portable.
You add a post like so:
tumblr --credentials ~/.tumblr-login example-post.txt
Writing posts using YAML front matter is a little bit more complicated, but easy enough once you’ve set up a few snippets1 or template files.
I schedule all my posts, and only use three types; here’s how they look, formatted for The Tumblr Gem:
Regular
--- type: regular format: markdown title: Regular slug: regular-example tags: foo,bar,baz state: queue publish-on: 2010-01-01T00:00:00 --- The body of the post goes here.
Link
--- type: link format: markdown name: Example slug: link-example tags: foo,bar,baz description: | Markdown formatted text goes here. state: queue publish-on: 2010-07-02T13:00:00 --- http://example.com
Photo
The Tumblr Gem can’t (yet) upload images, but it will import them from a URL—I pop them in a public Dropbox folder.
--- type: photo format: markdown source: http://dl.dropbox.com/u/84981/otw/example-image.jpg slug: photo-example click-through-url: http://example.com caption: | Markdown formatted text goes here. tags: foo,bar,baz state: queue publish-on: 2010-01-01T00:00:00 ---
The Tumblr Gem supports posts of all types, and is clever enough to turn
tumblr http://example.com
into a link post, or
tumblr http://www.youtube.com/watch?v=BaiDza-zyCM
into a video post.
-
I use Textexpander on the Mac, and snipMate for vim↩