Justin Duke

Coalesce

I made a theme for Tumblr! It is called Coalesce and I’m fairly proud of it. It’s running live on my own thing and open source on GitHub.

I’m not actually convinced that there’s any real pragmatism associated with this: there are approximately thirty thousand active themes, the vast majority 1 of which are free. Furthermore, the biggest chunks of browsing Tumblr happen in the dashboard on mobile, neither of which are privy to the actual custom theme.

Still, it was a fun exercise and gave me an excuse to work on some of my front-end skills.

The process of creating a theme is pretty straightforward: if you’ve used Jinja, Liquid, or ERB, you won’t really see any surprises: it’s a matter of inserting contextual tags with the { TagName } format. (You can also create arbitrary variables and have them exposed to the user, which is nice.)

To their credit, Tumblr does a great job of exposing what little documentation is needed: their main tag writeup and submission guidelines should be plenty.

There were only two stumbling blocks I encountered that weren’t answered by either:

First, inline JavaScript that relies on the assumption that posts are rendered is pretty wonky. I wanted to hide all note count labels that were zero 2 but I ended up having to embed it in a bunch of onReady blocks.

Second, I spent a couple hours trying to figure out why Tumblr was complaining about Invalid Theme HTML. Turns out you need a bunch of custom tags or else it’ll fail to validate:

  • {RSS}

  • {Favicon}

  • {CustomCSS}

  • {LinkOpenTag}

  • {MetaDescription}

  • {PhotoAlt}

Anyway, that’s all I have to say about Coalesce. Check it out live here.


  1. I’m assuming here, but I also am uber curious about what that economy actually looks like. I can’t imagine the market for premium Tumblr themes is anywhere as lucrative as, say, WordPress or Shopify. [return]
  2. Seeing 0 notes is a serious cut on my self-esteem, okay? [return]
Liked this post? You should subscribe to my newsletter and follow me on Twitter.
© 2017 Justin Duke • All rights reserved • I hope you have a nice day.