With Twitter announcing the imminent shutdown of Revue, I wanted to share my method for creating a proper export of your full newsletter archive as HTML using Apple’s Shortcuts app.
Revue is currently offering an Export tool, however, it’s fairly limited for the average user — it provides a list of issues and their introductions… but all the links and tweets are shared in .JSON format.
That means all the data must be extracted in a complex manner if anyone wants to do something with the information — it’s not too practical unless you have the skills to patch it all together.
Instead, I’ve solved this problem with the Shortcuts app from Apple, which lets users automate daily tasks — one action in the app is Get Contents of URL, which lets users connect to web services like Revue that have an Application Programming Interface (API).
Basically, with Shortcuts, you can pull the full HTML of your past Revue issues from their API — all at once.
Then, you can paste the code directly into your website and have your newsletters display in their entirety — or upload them all in one go to WordPress:
Read along with how it works—with a few caveats—and then get the shortcuts yourself — I don’t want anyone losing their newsletter archive!
How the shortcut works
Available on Revue’s API page is a method to request a list of your sent issues – this shortcut hooks into that Issues endpoint in the Get Contents of URL:
In order to set up the shortcut, you’ll first need to add it to your Shortcuts library.
After you add it, the shortcut will need your Revue API key — you can find and copy yours from the bottom of the Integrations page on Revue and paste it in.
From there, the beginning part of the shortcut makes the initial request to Revue’s API:
Editor’s note: I’ve made a simplified version of this overall shortcut to save the immediate result of this data as .JSON files as a backup. Get it here.
From there, the shortcut repeats through the full list of issues as it saves the HTML as a new file (in a folder you specify):
Since Revue had very close integration with Twitter, it was excellent for embedding tweets — however, the initial HTML export only delivers
[tweet https://twitter.com/link] instead of the full embed for each tweet.
After seeing this in the export, I included a second repeat area to replace all instances of that tweet token with the actual embed code.
Inside the second repeat loop, the shortcut isolates each tweet link, sends it to
publish.twitter.com, and gets the corresponding embed HTML back. Then, it replaces the original tweet token with the real embed — that way your final HTML will include properly-embedded tweets:
Once you run this shortcut, it may take some time to complete — the request took about a minute for my 53 issues, and saving the HTML along with replacing each tweet link can process at a rate of 3-5 issues per minute (depending how many tweets you include per issue).
Overall, saving my whole export took 11 minutes total, so be sure to check on the progress in the folder you’re saving to if it’s taking a while.
Once your files are completed, the HTML output can then be pasted onto a website to display your full issue:
Posting directly to WordPress
For WordPress users, I went a step further and used Shortcuts’ native Post to WordPress action to automatically upload each issue as well.
This second shortcut extracts additional details like the publish date, description, and URL, plus the main hero image from the URL:
Then, it uploads everything as a Draft on the correct date (change this to Publish if you want them immediately live):
After a few minutes, you should have your entire Revue archive ready to publish on your blog — isn’t automation great?
A few caveats: one of Revue’s best features was the way you could easily embed any link and it’d pull a thumbnail, description, and title in a nicely-formatted callout box.
With this export, unfortunately, those callouts simply show up as an image, the linked title, and the description in plain text.
As far as I know, there isn’t an obvious or standardized way to convert this to a similar callout in pure HTML — Revue’s curation tools were so great because they solved this desired format so dang well.
Unfortunately, right now I don’t have a solution for this, but if I find one or anyone has ideas on how to make this standard in any HTML (that also somehow works nicely with RSS), then I’m happy to hear it and update this post if a good method is found:
This default styling also means the pulled excerpts aren’t distinguishable from any Text fields placed directly afterward (and thus can’t be automatically detected).
To make the best of what’s immediately given here, I’d recommend going through each excerpt and adding a Quote feature to distinguish it from any subsequent text — I found using the keyboard shortcut for Quotes in WordPress (Control + Option + Q) to be very handy for this:
Additionally, I didn’t build in a module for replacing YouTube links with embeds — I didn’t include videos often in my newsletter, and my WordPress instance automatically embeds URLs. So, if your newsletter was video-heavy, you’ll need to replace those
video instances with embed codes (I’ve got a set of in-progress shortcuts for YouTube feeds, coming soon).
For now, these problems are minor compared to the complete loss of one’s entire newsletter, so I highly recommend anyone save their newsletter archive as HTML despite these issues.
Get the shortcut
I hope everyone who uses Revue finds these shortcuts and gets a chance to run it before Twitter shuts down the service on January 20th.
If you know someone who uses Revue and would want a proper export of their data, send them this post.
If you’d like to keep up with my posts, subscribe to my newsletter – I’ll be importing any new subscribers when I switch to a new service.
Get the Revue shortcuts in the Shortcuts Library:
If you’d like to get great shortcuts like this, you can check out my Shortcuts Library. For deeper Shortcuts content and exclusive access to my extras—or if you just found this shortcut useful— you can also sign up for a membership to my website.