---
title: "Coalesce"
date: 2015-01-28
tags: post
---

### Tags: [projects](/web/20170922134001/http://jmduke.com/tags/projects)

I made a theme for Tumblr! It is called [Coalesce](coalescetheme.tumblr.com) and I’m fairly proud of it. It’s running live on my [own thing](jmduke.tumblr.com) and open source on [GitHub](https://github.com/jmduke/Coalesce).

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](#fn: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](https://www.tumblr.com/docs/en/custom_themes) and [submission guidelines](https://www.tumblr.com/docs/en/theme_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](#fn: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](http://jmduke.tumblr.com/).

* * *

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\]](#fnref:1)
2.  Seeing **0 notes** is a serious cut on my self-esteem, okay? [\[return\]](#fnref:2)
