New: WP+Masto POSSE — publish to both WordPress and Mastodon

By | August 23, 2026

A few days ago, I asked the fediverse if anyone knew of a tool I could use to publish an article on my blog and publish the same article as a thread on Mastodon.

I already have a way to post summaries of and links to my blog postings into my Mastodon account. I’ve also already set up my WordPress server as an ActivityPub server. These aren’t what I want.

If you’re still unclear on what I mean, look at how Cory Doctorow posts. For example, here is a recent article on his blog and here is the Mastodon thread with the same content.

Cory apparently also couldn’t find any tooling to do this automatically; he uses copy/paste. Surely we can do better?

Actually, that’s not a question, it’s a statement. WE CAN SURELY DO BETTER, which I know because I spent this weekend writing the tool I was looking for: https://codeberg.org/jikamens/posse

With this tool, you can write an article in Markdown, convert it into HTML for pasting into the WordPress post editor; convert it into a textual representation of a Mastodon thread; and when that looks right, automatically post the thread to Mastodon.

The HTML I generate to publish in WordPress isn’t WordPress-specific, so you could also use this tool to POSSE content to any other blogging platform that accepts HTML. Also, it would be easy to enhance the tool to generate other formats besides HTML.

My implementation matches what I proposed doing in the earlier thread: in a Python script, I parse the Markdown with pypandoc, filter and process it with panflute, and post the thread to Mastodon using the Mastodon.py library.

I would be delighted to learn that the work I did this weekend building this was unnecessary because someone else has already written a good, free, open-source tool that does the same thing. I’d rather jump on somebody else’s bandwagon than have to continue maintaining a tool that I wrote. So if you know of another tool that does this, please do let me know.

Even if that turns out to be the case, the effort I put into building this wasn’t wasted, because I got to do some satisfying hand-crafted coding and learn more about pandoc, pypandoc, panflute, and the Mastodon API.

I would love to hear from you if you find this useful, or even better, if you’d like to contribute fixes or enhancements. Please weigh in here or email me; my address is in the repository README.

In case you haven’t guessed by now, the article you’re currently reading was posted to both my blog and Mastodon using this tool.

___
¹This is the first new repository I’ve created from scratch in a while, and I was delighted to use Codeberg instead of GitHub for it, because fuck those GitHub and Microsoft AI bros.

Share

Leave a Reply

Your email address will not be published. Required fields are marked *

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)