mastodon-markdown-archive/README.md
2024-04-21 20:10:25 +02:00

47 lines
1.7 KiB
Markdown

# Mastodon PESOS
Fetch a Mastodon account's posts and save them as Markdown files. Posts are transformed to Markdown, images are inlined, and replies are threaded. Implements most of the parameters in Mastodon's [API to get account's statuses](https://docs.joinmastodon.org/methods/accounts/#statuses).
For the time being this formats the files with [Hugo](https://gohugo.io) front-matter.
I use this small tool to create an archive of my Mastodon posts, which I then [syndicate to my own site](https://indieweb.org/PESOS).
## Flags
```
Usage of ./mastodon-pesos:
-dist string
Path to directory where files will be written (default "./posts")
-exclude-reblogs
Whether or not to exclude reblogs
-exclude-replies
Whether or not exclude replies to other users
-limit int
Maximum number of posts to fetch (default 40)
-max-id string
Fetch posts lesser than this id
-min-id string
Fetch posts immediately newer than this id
-persist
Persist most recent post id to /tmp/mastodon-pesos-fid
-since-id string
Fetch posts greater than this id
-user string
URL of User's Mastodon account whose toots will be fetched
```
## Usage
Here is how I use this to fetch the 15 most recent posts in my Mastodon account. It excludes replies to others, and reblogs.
Lastly, I use `--persist` to save the most recent id to a file and use `--since-id` so that subsequent runs fetch posts only after the most recently fetched post.
```sh
./mastodon-pesos \
--user https://social.coop/@ggpsv \
--dist ./posts \
--exclude-replies \
--exclude-reblogs \
--limit=15 \
--persist \
--since-id=$(test -f /tmp/mastodon-pesos-fid && cat /tmp/mastodon-pesos-fid || echo "")
```