Issues in Ghost
How to organize your content into issues, and a bonus client story!
Some Ghost users blog. (Yeah, that's me.) Some are newsletter writers. (I mean, that's also me, but not as much.) But some Ghost users are publishers of magazines or other forms that have issues. No, not that kind of issues.
Ghost doesnât have the concept of an âissueâ built in. Themes can change how posts display, not what the underlying data is. (This is different from some other software, i.e. WP, where themes & plugins can add really different data and functionality.)
So there are two options for issues:
- Make one post be an issue. Use headings within the post to break apart articles, add images and other content types as needed. This works great for email, if you want to send the whole issue out as one email. But perhaps youâve already identified the problem: Your whole issue exists as one item, without an easy way to pull out and organize individual articles on your website. To make matters worse, Ghost's built-in search will be a disappointing, since only the issue title and excerpt will be searchable.
- Make each article within the issue a separate post. This is going to be a lot more satisfying, if you want to sort and display different articles on your site. You can group articles together using tags. So you might tag all of your first issue with the tag âIssue 1â, and then you could display all posts in the issue at /tag/issue-1. (You could also use some custom routing, so that the URLs for the issues show up right in the URL.) You could also use a theme like Headline, to display the contents of multiple issues on the front page. (Where you see environment and culture headings, think âIssue 1â and âIssue 2â. https://headline.ghost.io/ ) You could use additional tagging to offer groupings by topic as well. So you might have a collect of posts on a topic at /tag/swimming-pools/, but also have content available by issue at /tag/summer-2024, for example.
But how do you send an issue out as a newsletter? Two options:
2a) Create a separate post to be your newsletter email. In it, put a little introductory text and a collection of links or bookmark cards to each article in the issue. Send that as âemail onlyâ. Or email and publish it to the website, making the this item serve as the landing page for each issue.
2b) Paste the content of each post in the issue into a single post and send that (email only) as your newsletter.
This all sounds a bit tedious, until you realize that either of these processes can be automated using the Ghost API to look for new content and assemble a newsletter (either with full posts or excerpts) from it. Which brings us to...
Client story: Golden Today
Iâve just wrapped up some automation for a client (Hi Barb!) to automate like in option 2b, sending out a lengthy daily newsletter of everything going on in Golden Colorado. Every night, a cloud function automatically runs that checks her Ghost site for new content and generates an email with it that goes out to her subscribers. So we have the best of both worlds: Email subscribers get one big newsletter, but posts on the website can be sorted and categorized.
Barb came to us from WordPress, so I did a migration of her old newsletters, too. Iâd started out hoping to split Golden Today's old newsletters into articles also, but we quickly decided that wasnât going to happen - her old content format had changed repeatedly, making an automated splitting difficult, and she had 3000+ of these newsletters, meaning a manual split didnât make sense. We settled on an archive of the old newsletters, and separate posts going forward. And we added full-text search, so that it isnât too hard to find the old articles within the newsletter archive, if anyone wants them.
Her site is built with a customized version of Tripoli, with custom code powering the calendar and weather displays.
That's all for today! Have a great one!