Say hello to `threadcat`!
-
`threadcat` downloads files using their original filename on the Mastodon server. So you'll end up with a lot of files like "f55dbddca60e64cb.jpg"…
I tried deriving better filenames from the alt text – for example, taking the first two "non-filler" words from the alt text. That gives you filenames like "colorful-circles.jpg", "small-grey.jpg" or "drawing-snow.jpg", and possibly "drawing-snow-2.jpg".
Another option would just be using timestamps: "2026-04-17T13:54Z.jpg"
What do you think?
@blinry throwing the post id in there sounds reasonable. Will threadcat also download someone else’s threads if my account is allowed to read them?
-
Say hello to `threadcat`! 🧶

It's a little Rust tool which takes the URL to a Mastodon thread, and converts it to a Markdown file. It also downloads all attached media files (and their alt texts)!
That way, it's really easy to get a "first draft" for a blog post from a thread you wrote!
Installation: `cargo install threadcat`
@blinry grand little tool, and just what I need to help in copy/pasting text from toots!
Could do with a Usage message, if I may say so.
$ ~/.cargo/bin/threadcat
thread 'main' (89252287) panicked at
-
@blinry grand little tool, and just what I need to help in copy/pasting text from toots!
Could do with a Usage message, if I may say so.
$ ~/.cargo/bin/threadcat
thread 'main' (89252287) panicked at
@jpmens Already added that today!
https://codeberg.org/blinry/threadcat/commit/7aaa4daec08bc3cb1da35bf3c0cb9ac58a390953 -
@blinry throwing the post id in there sounds reasonable. Will threadcat also download someone else’s threads if my account is allowed to read them?
@chrismarquardt Jup!
-
@jpmens Already added that today!
https://codeberg.org/blinry/threadcat/commit/7aaa4daec08bc3cb1da35bf3c0cb9ac58a390953@blinry oh, I built just half an hour or so ago; must have missed it
-
Uhm, the poster nick before the alt-text would allow you to group images by the author, too.
-
Say hello to `threadcat`! 🧶

It's a little Rust tool which takes the URL to a Mastodon thread, and converts it to a Markdown file. It also downloads all attached media files (and their alt texts)!
That way, it's really easy to get a "first draft" for a blog post from a thread you wrote!
Installation: `cargo install threadcat`
@blinry I was looking for a tool like this one 2 days ago lol
-
I've been hacking on it a lot this week, with my silly human hands, and it's been a lot of fun!
Right now, it can only read threads from Mastodon, and only output Markdown, but both directions could be extended.
To try it out, I've been using it to publish one blog post each day this week – you might have noticed!

@blinry@chaos.social
Freakin nice toolI'm on Pleroma so I'm gotta keep an eye out for when that's available

-
`threadcat` downloads files using their original filename on the Mastodon server. So you'll end up with a lot of files like "f55dbddca60e64cb.jpg"…
I tried deriving better filenames from the alt text – for example, taking the first two "non-filler" words from the alt text. That gives you filenames like "colorful-circles.jpg", "small-grey.jpg" or "drawing-snow.jpg", and possibly "drawing-snow-2.jpg".
Another option would just be using timestamps: "2026-04-17T13:54Z.jpg"
What do you think?
-
@blinry@chaos.social
Freakin nice toolI'm on Pleroma so I'm gotta keep an eye out for when that's available

@irrlicht The Rust library I'm using even support Pleroma directly, so adding support wouldn't be that hard, I hope! \o/ https://docs.rs/megalodon/latest/megalodon/
-
@waffles That sounds like a tool I'd love, as well, but it seems out of scope for threadcat. Maybe something like that even already exists?
@blinry my terrible memory recalls something like that, but I never really trust “flash in the pan” abandonware, so I was casually hopeful that yours might serve

Anyways, congrats on the new project!
-
R relay@relay.mycrowd.ca shared this topic
️
️