Say hello to `threadcat`!
-
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`
-
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 Instead of splitting writings, I suggest increasing the #MAX_CHARS setting of your #mastodon instance.
-
@blinry Instead of splitting writings, I suggest increasing the #MAX_CHARS setting of your #mastodon instance.
@sn I think you got it the wrong way: The tool downloads threads (from instances outside my control) into one long text, not the other way around.
-
@c_merriweather @hmnd @blinry For carbonated water I usually go for a SodaStream machine (or similar non-branded device).
Du you put the baking soda & citric acid in the bottle and seal it?
@Westfuchs @hmnd @blinry Mix baking soda into glass of water, add citric acid, stir and watch the bubbles. Adjust ingredients, when it tastes neither acidic or base, drink. Adding lemon or lime juice makes it a refreshing drink.
(I got the idea after thinking about the "volcanoes" we built in elementary school: Take a glass bottle with small neck-
we used a glass coca-cola bottle in the 1960s. Build a papier mache mountain around it. Using a funnel, pour baking soda inside. Then pour vinegar with red food coloring in the bottle, and watch the "lava" pour down the sides of the "mountain.") -
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`
Correct me if I am wrong:
You wrote a tool that enables people to download complete Mastodon threads from other participants / on other instances?
So that's NOT made for collecting OWN content, but for other people's content?
One question:
Isn't that called STEALING?
-
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 any consideration to making this a tool to archive your feed? I’ve been thinking it would be nice to have a static website of my toots for if/when it stops making sense to maintain a dynamic mastodon server to serve this content.
-
R relay@relay.mycrowd.ca shared this topic
-
Correct me if I am wrong:
You wrote a tool that enables people to download complete Mastodon threads from other participants / on other instances?
So that's NOT made for collecting OWN content, but for other people's content?
One question:
Isn't that called STEALING?
-
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`
is it fedi standard or mastodon exclusive?
-
is it fedi standard or mastodon exclusive?
@gabboman Mastodon-only for now, but open to extending that!
-
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 install pleroma you silly little retard -
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 Does it mean that it's time for me to say that I've created a small CLI tool in PHP to list your threads in HTML files?
I mean, it's still a prototype, but it's definitely worth having IMO.
-
Correct me if I am wrong:
You wrote a tool that enables people to download complete Mastodon threads from other participants / on other instances?
So that's NOT made for collecting OWN content, but for other people's content?
One question:
Isn't that called STEALING?
@khzimmer2 Yeah it is and I'm stealing your reply with my eye-tools as we speak!
-
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@chaos.social Thanks for this app. I thought there was a web-based version somewhere. I used it sometime ago.
Do you want to make it a plugin/extension/webapp/Mastodon feature?
-
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 Oh! for a change it's a Rust tool!!
-
@blinry any consideration to making this a tool to archive your feed? I’ve been thinking it would be nice to have a static website of my toots for if/when it stops making sense to maintain a dynamic mastodon server to serve this content.
@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?
-
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!

`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?
-
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 that makes me want to learn Rust
-
@blinry that makes me want to learn Rust
@glitcx I think it's worth learning! \o/ I tried to make the code easy to read, and there's not a lot of it in this li'l project! :3
-
`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 I like "non-filler words from alt text", but maybe prefix with an incremental ID so they are sorted the same as in the post?
-
Correct me if I am wrong:
You wrote a tool that enables people to download complete Mastodon threads from other participants / on other instances?
So that's NOT made for collecting OWN content, but for other people's content?
One question:
Isn't that called STEALING?
@khzimmer2 lol. read the post again. the fourth sentence
️
️
