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

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

          chrismarquardt@chaos.socialC This user is from outside of this forum
          chrismarquardt@chaos.socialC This user is from outside of this forum
          chrismarquardt@chaos.social
          wrote last edited by
          #46

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

          blinry@chaos.socialB 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 ⬅️

            jpmens@mastodon.socialJ This user is from outside of this forum
            jpmens@mastodon.socialJ This user is from outside of this forum
            jpmens@mastodon.social
            wrote last edited by
            #47

            @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@chaos.socialB 1 Reply Last reply
            0
            • jpmens@mastodon.socialJ jpmens@mastodon.social

              @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@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
              #48

              @jpmens Already added that today! 🙂 https://codeberg.org/blinry/threadcat/commit/7aaa4daec08bc3cb1da35bf3c0cb9ac58a390953

              jpmens@mastodon.socialJ 1 Reply Last reply
              0
              • chrismarquardt@chaos.socialC chrismarquardt@chaos.social

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

                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
                #49

                @chrismarquardt Jup!

                gustavinobevilacqua@mastodon.cisti.orgG 1 Reply Last reply
                0
                • blinry@chaos.socialB blinry@chaos.social

                  @jpmens Already added that today! 🙂 https://codeberg.org/blinry/threadcat/commit/7aaa4daec08bc3cb1da35bf3c0cb9ac58a390953

                  jpmens@mastodon.socialJ This user is from outside of this forum
                  jpmens@mastodon.socialJ This user is from outside of this forum
                  jpmens@mastodon.social
                  wrote last edited by
                  #50

                  @blinry oh, I built just half an hour or so ago; must have missed it

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

                    @chrismarquardt Jup!

                    gustavinobevilacqua@mastodon.cisti.orgG This user is from outside of this forum
                    gustavinobevilacqua@mastodon.cisti.orgG This user is from outside of this forum
                    gustavinobevilacqua@mastodon.cisti.org
                    wrote last edited by
                    #51

                    @blinry @chrismarquardt

                    Uhm, the poster nick before the alt-text would allow you to group images by the author, too.

                    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 ⬅️

                      fangh@shelter.moeF This user is from outside of this forum
                      fangh@shelter.moeF This user is from outside of this forum
                      fangh@shelter.moe
                      wrote last edited by
                      #52

                      @blinry I was looking for a tool like this one 2 days ago lol

                      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! 😄

                        irrlicht@social.lithio.frI This user is from outside of this forum
                        irrlicht@social.lithio.frI This user is from outside of this forum
                        irrlicht@social.lithio.fr
                        wrote last edited by
                        #53

                        @blinry@chaos.social
                        Freakin nice tool

                        I'm on Pleroma so I'm gotta keep an eye out for when that's available 👀

                        blinry@chaos.socialB 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?

                          elithebearded@fed.qaz.redE This user is from outside of this forum
                          elithebearded@fed.qaz.redE This user is from outside of this forum
                          elithebearded@fed.qaz.red
                          wrote last edited by
                          #54

                          @blinry

                          So many of movie poster bot images would be "photo-montage.jpg" or "painted-montage.jpg"

                          @films

                          1 Reply Last reply
                          0
                          • irrlicht@social.lithio.frI irrlicht@social.lithio.fr

                            @blinry@chaos.social
                            Freakin nice tool

                            I'm on Pleroma so I'm gotta keep an eye out for when that's available 👀

                            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
                            #55

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

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

                              @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 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
                              #56

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

                              1 Reply Last reply
                              1
                              0
                              • R relay@relay.mycrowd.ca shared this topic
                              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