Content love

**DO NOT MERGE**

Pull request based on #208 (and supercedes that pull request).

I'm keen to get this merged pretty quick since it's so big. I'll take a
closer look at it today and make sure I'm happy with it, then mark it
as suitable for review and merging.