This is a command line tool written in scala. The purpose is to let you manage your Tumblr blog more or less like a git repository. Your posts are markdown files in a local directory. The name of the file is the slug of the post. The tags are metadata embedded into the markup.
slug.md content:
=====================================
# my post title
bla bla bla...
bla bla[1]
[1]: http://...
<!-- tags:poney,unicorn -->
=====================================
To publish a post:
tum [-u <user>] [--force] <file>
To list posts:
tum [-u <user>] -l [-r [<type>[ <status>]]]
To print diff between local and tumblr
tum [-u <user>] -d
To get remote post into local file:
tum [-u <user>] -g <file>
To commit a local change to a remote post:
tum [-u <user>] -c <file>
To print this help:
tum -h
I use it this way:
- write a new post in file post.md
- then I push it as draft:
$ tum -u me post.md
- then I review, optionally correct it and publish it via tumblr web ui.
- then I resync local with online version:
$ tum -u me -g post.md
This project requires some more hacking to be really useful. Contact me if you are interested in it. PR welcome of course.