Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. Say hello to `threadcat`!

Say hello to `threadcat`!

Scheduled Pinned Locked Moved Uncategorized
56 Posts 37 Posters 38 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • blinry@chaos.socialB blinry@chaos.social

    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`

    ➡️ https://codeberg.org/blinry/threadcat ⬅️

    khzimmer2@literatur.socialK This user is from outside of this forum
    khzimmer2@literatur.socialK This user is from outside of this forum
    khzimmer2@literatur.social
    wrote last edited by
    #26

    @blinry

    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?

    autoiue@mastodon.xn--cfa.xyzA 8000mark@social.tchncs.de8 codl@chitter.xyzC 3 Replies Last reply
    0
    • blinry@chaos.socialB blinry@chaos.social

      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`

      ➡️ https://codeberg.org/blinry/threadcat ⬅️

      waffles@masto.yttrx.comW This user is from outside of this forum
      waffles@masto.yttrx.comW This user is from outside of this forum
      waffles@masto.yttrx.com
      wrote last edited by
      #27

      @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.

      blinry@chaos.socialB 1 Reply Last reply
      1
      0
      • R relay@relay.mycrowd.ca shared this topic
      • khzimmer2@literatur.socialK khzimmer2@literatur.social

        @blinry

        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?

        autoiue@mastodon.xn--cfa.xyzA This user is from outside of this forum
        autoiue@mastodon.xn--cfa.xyzA This user is from outside of this forum
        autoiue@mastodon.xn--cfa.xyz
        wrote last edited by
        #28

        @khzimmer2 @blinry

        • me does ctrl+p on webpage
        • arrested by the internet police

        😂

        1 Reply Last reply
        0
        • blinry@chaos.socialB blinry@chaos.social

          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`

          ➡️ https://codeberg.org/blinry/threadcat ⬅️

          gabboman@gabboman.xyzG This user is from outside of this forum
          gabboman@gabboman.xyzG This user is from outside of this forum
          gabboman@gabboman.xyz
          wrote last edited by
          #29

          @blinry@chaos.social

          is it fedi standard or mastodon exclusive?

          blinry@chaos.socialB 1 Reply Last reply
          0
          • gabboman@gabboman.xyzG gabboman@gabboman.xyz

            @blinry@chaos.social

            is it fedi standard or mastodon exclusive?

            blinry@chaos.socialB This user is from outside of this forum
            blinry@chaos.socialB This user is from outside of this forum
            blinry@chaos.social
            wrote last edited by
            #30

            @gabboman Mastodon-only for now, but open to extending that!

            1 Reply Last reply
            0
            • blinry@chaos.socialB blinry@chaos.social

              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`

              ➡️ https://codeberg.org/blinry/threadcat ⬅️

              sampler@freebeerextremist.comS This user is from outside of this forum
              sampler@freebeerextremist.comS This user is from outside of this forum
              sampler@freebeerextremist.com
              wrote last edited by
              #31
              @blinry install pleroma you silly little retard
              1 Reply Last reply
              0
              • blinry@chaos.socialB blinry@chaos.social

                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`

                ➡️ https://codeberg.org/blinry/threadcat ⬅️

                pierstoval@mastodon.socialP This user is from outside of this forum
                pierstoval@mastodon.socialP This user is from outside of this forum
                pierstoval@mastodon.social
                wrote last edited by
                #32

                @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?

                Link Preview Image
                mastothreads

                mastothreads

                favicon

                Codeberg.org (codeberg.org)

                I mean, it's still a prototype, but it's definitely worth having IMO.

                1 Reply Last reply
                0
                • khzimmer2@literatur.socialK khzimmer2@literatur.social

                  @blinry

                  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?

                  8000mark@social.tchncs.de8 This user is from outside of this forum
                  8000mark@social.tchncs.de8 This user is from outside of this forum
                  8000mark@social.tchncs.de
                  wrote last edited by
                  #33

                  @khzimmer2 Yeah it is and I'm stealing your reply with my eye-tools as we speak!

                  1 Reply Last reply
                  0
                  • blinry@chaos.socialB blinry@chaos.social

                    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`

                    ➡️ https://codeberg.org/blinry/threadcat ⬅️

                    ? Offline
                    ? Offline
                    Guest
                    wrote last edited by
                    #34
                    @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?
                    1 Reply Last reply
                    0
                    • blinry@chaos.socialB blinry@chaos.social

                      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`

                      ➡️ https://codeberg.org/blinry/threadcat ⬅️

                      manul70@mastodon.socialM This user is from outside of this forum
                      manul70@mastodon.socialM This user is from outside of this forum
                      manul70@mastodon.social
                      wrote last edited by
                      #35

                      @blinry Oh! for a change it's a Rust tool!!

                      1 Reply Last reply
                      0
                      • waffles@masto.yttrx.comW waffles@masto.yttrx.com

                        @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.

                        blinry@chaos.socialB This user is from outside of this forum
                        blinry@chaos.socialB This user is from outside of this forum
                        blinry@chaos.social
                        wrote last edited by
                        #36

                        @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?

                        waffles@masto.yttrx.comW 1 Reply Last reply
                        0
                        • blinry@chaos.socialB blinry@chaos.social

                          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.socialB This user is from outside of this forum
                          blinry@chaos.socialB This user is from outside of this forum
                          blinry@chaos.social
                          wrote last edited by
                          #37

                          `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?

                          jer@hachyderm.ioJ irina@critter.cafeI galaxis@mastodon.infra.deG chrismarquardt@chaos.socialC elithebearded@fed.qaz.redE 5 Replies Last reply
                          0
                          • blinry@chaos.socialB blinry@chaos.social

                            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`

                            ➡️ https://codeberg.org/blinry/threadcat ⬅️

                            glitcx@mastodon.artG This user is from outside of this forum
                            glitcx@mastodon.artG This user is from outside of this forum
                            glitcx@mastodon.art
                            wrote last edited by
                            #38

                            @blinry that makes me want to learn Rust

                            blinry@chaos.socialB 1 Reply Last reply
                            0
                            • glitcx@mastodon.artG glitcx@mastodon.art

                              @blinry that makes me want to learn Rust

                              blinry@chaos.socialB This user is from outside of this forum
                              blinry@chaos.socialB This user is from outside of this forum
                              blinry@chaos.social
                              wrote last edited by
                              #39

                              @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

                              1 Reply Last reply
                              0
                              • blinry@chaos.socialB blinry@chaos.social

                                `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?

                                jer@hachyderm.ioJ This user is from outside of this forum
                                jer@hachyderm.ioJ This user is from outside of this forum
                                jer@hachyderm.io
                                wrote last edited by
                                #40

                                @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?

                                daniel_bohrer@chaos.socialD 1 Reply Last reply
                                0
                                • khzimmer2@literatur.socialK khzimmer2@literatur.social

                                  @blinry

                                  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?

                                  codl@chitter.xyzC This user is from outside of this forum
                                  codl@chitter.xyzC This user is from outside of this forum
                                  codl@chitter.xyz
                                  wrote last edited by
                                  #41

                                  @khzimmer2 lol. read the post again. the fourth sentence

                                  1 Reply Last reply
                                  0
                                  • blinry@chaos.socialB blinry@chaos.social

                                    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`

                                    ➡️ https://codeberg.org/blinry/threadcat ⬅️

                                    codl@chitter.xyzC This user is from outside of this forum
                                    codl@chitter.xyzC This user is from outside of this forum
                                    codl@chitter.xyz
                                    wrote last edited by
                                    #42

                                    @blinry this sounds awesome. i keep wasting time copying and pasting my threads into my notes app, i will definitely try this next time

                                    1 Reply Last reply
                                    0
                                    • blinry@chaos.socialB blinry@chaos.social

                                      `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?

                                      irina@critter.cafeI This user is from outside of this forum
                                      irina@critter.cafeI This user is from outside of this forum
                                      irina@critter.cafe
                                      wrote last edited by
                                      #43

                                      @blinry those alt text filenames are a fun and useful feature! i think a combo could be good sense, either [post-id]-colourful-circles.jpg or [timestamp]-colourful-circles.jpg - that way it's both in some useful order and readable as well

                                      1 Reply Last reply
                                      0
                                      • System shared this topic
                                      • blinry@chaos.socialB blinry@chaos.social

                                        `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?

                                        galaxis@mastodon.infra.deG This user is from outside of this forum
                                        galaxis@mastodon.infra.deG This user is from outside of this forum
                                        galaxis@mastodon.infra.de
                                        wrote last edited by
                                        #44

                                        @blinry I have not tried using threadcat yet, but my hunch would be to keep the original filename (ensures there are no collisions) and add some metadata.
                                        Depending on how you handle individual posts, maybe add the post ID or the ID of the anchor in your output. Having all media from a specific post in a dedicated subdirectory might be useful?

                                        1 Reply Last reply
                                        0
                                        • jer@hachyderm.ioJ jer@hachyderm.io

                                          @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?

                                          daniel_bohrer@chaos.socialD This user is from outside of this forum
                                          daniel_bohrer@chaos.socialD This user is from outside of this forum
                                          daniel_bohrer@chaos.social
                                          wrote last edited by
                                          #45

                                          @jer @blinry I like that too! (I have a script to generate message IDs for mails which does a similiar thing 😄 https://github.com/rohieb/dotfiles/blob/master/.neomutt/gen-msgid.sh )

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups