2011.10.02org-mode to tumblr
I am an org-mode user. I write things and I organize most of my life using org-mode
. It made me code with emacs after many years of vim -yes, I know, coder's stuff is often boring-.
Since this blog was created I made a promise to manage it through emacs
using org
files. If possible without changing of blogging platform: Tumblr.
I used a few tools and coded some converters and I now have the following structure on my computer:
blog-fr.org # the French blog content blog-en.org # the English blog content picasa/ # images used by posts labe.me/ # the static entrance http://labe.me
Plus some files which help diffuse, deploy and synchronize all this stuff, among which a good old Makefile
to make things as automatic as possible.
Here are the main tools used by the system:
- tumblr-rb: a ruby implementation of the tumblr API with a useful command line interface
- googlecl: a command line client to manipulate google services' data
- Markdown.hx: a buggy Markdown to HTML converter written in
haxe
. After some hacks and filters it helped me convert org content into custom HTML - elbow grease to create the haxe org file parser and the glue code (boooooring)
- even more elbow grease to test and debug the whole thing (even mooore booooooooring)
Finally:
- everything is published and synchronized from the same local repository
- using a simple keystroke in
emacs
or command line in the terminal - the directory is versionned (git)
- I can prepare my posts without an Internet connection and I won't have to copy/paste the result in some HTML textarea
TODO
means draft and is synchronized to Tumblr draft for preview when required- I publish simply by toggling
TODO
toDONE
- I can modify what I draft or publish, no need to connect to the Tumblr dashboard to correct a typo
- images are synchronized with picasa transparently and their URL is replaced inside the posts, using another hosting system would be really easy
- I can change my blog hosting system pretty easily since everything is on my machine
- the system can be improved with more elbow grease -add a local HTML preview, a better integration with Twitter/Google+/Facebook, better typography, automatic replace, two way sync, etc.-
org-mode
:)
If some org-mode
user is interested I will gladly share the code -which is simple-. My emacs lisp fu is not good enough to code this in lisp without losing a lot of time but some emacs guru might be interested by the idea and give it a try.
In the meantime, I am pretty impressed with the result and the open possibilities!