We all know that we can embed tweets/posts into our Ghost sites via the conventional method of pasting in a link or embedding the specific
<iframe> code, which ends up looking something like this:
Depending on the platform, usage of
<iframe>s can even allow one to insert dark mode embeds, which can then look as such:
That being so, and although I don’t know about the experience other Ghost users have had, I’ve noticed that X/Twitter embeds can take a considerable amount of time to load, while more than half the time they don’t even load at all and end up displaying the placeholder instead (of which doesn’t just occur on my Ghost site but others I’ve seen as well, Ghost and non-Ghost):
It’s for these reasons and more (such as wanting to cater for social media posts that might not load due to their parent accounts being switched to private modes, or even the posts/accounts being outright deleted) that I decided to create what I call manual social media embeds (or MSMEs for short). Taking a page from poet.so, this is what the equivalent of the above can look like via the MSME setup:
Which also works with a theme’s dark mode:
And are responsive:
Have something against the 24th letter of the alphabet? Then you can slip in another SVG:
Can’t decide which icon to use? Why not both?
To be clear, what I’ve created isn’t something that outputs PNGs (a la poet.so), but rather responsive “embeds” that are inserted via templates/snippets I’ve assembled. There’s plain MSMEs, MSMEs with an image or video, quote post MSMEs, quote post MSMEs with an image or video, MSME threads, MSMEs with a reply, MSMEs with a link card, and more. And as the logo displayed is a mere SVG, these MSMEs can be used for embeds from X/Twitter, Bluesky, Mastodon, Threads, Reddit, etc.
If you’d like to take a look at what I’ve put together it’s all available and fully explained via a GitHub repo I recently made public, these MSMEs open sourced and so freely available for usage by anyone.
I’ll stress that these MSMEs are fully manual and so require manually inputting all the data into the templates/snippets (which not only work responsively and with dark modes but fully work with Ghost emails/newsletters as well). Depending on the complexity of the tweet/post it can take between one and five minutes to set one up, so you’d have to gauge for yourself the value in putting in the work to adapt the CSS for your theme (which would likely be rather minimal) and then manually inserting the data into these MSMEs one by one as you go forward.
Otherwise, feel free to ask away if you have any questions, and if you want to see how they look and work in the wild you can see a recent post of mine in which many different kinds of MSMEs have been utilised.