Loading tweet…
Rendr
If you design themes for Tumblr (or ever have) and are like me, you may find the workflow cumbersome. First you mockup, deign, etc. then you make it Tumblr-theme-happy. Then comes the process of sticking it into the Customize interface.
Something doesn’t quite work correctly? Fix your HTML, copy/paste back into the customize box and repeat. Back and forth. Maybe you’re editing a live site and want to see the changes with your actual blog posts? So will your visitors. Even when you break things.
I mean, the Customize interface is great for a lot of things. It just doesn’t flow well for me.
I wanted to be able to edit my theme HTML locally, save, and immediately see the results. And not with someone else’s data; with my blog posts.
Enter Rendr. Rendr is a little Python script that implements (most of) Tumblr’s templating engine. Meaning you run it locally, feed it a template file, and it serves you the results. Here’s how you run it:
$ rendr http://blog.bencochran.com theme.html
Rendr then loads your blog info via Tumblr’s API and starts listening on http://localhost:88625/. Simply open that address in your favorite browser and Rendr spits out your blog, rendered as dictated by theme.html.
See something that you’d like to change in your theme? Just edit your theme file, reload the page, and see the results. Render reloads the template each time you make a request, so it’s always ready with the most recent version.
I used Rendr in the development of the theme for this site and I can’t even begin to stress how much easier it made the process.
If you’re interested, the code’s all up on GitHub. If you have any issues, feel free to submit them or, if you’d rather, fork the project and make changes yourself.
On the GitHub project page I also describe a bit about what Rendr can’t do. Some things will be added later (like the ability to render single-post pages) but some are limitations of the Tumblr API.