57 lines
1.5 KiB
Markdown
57 lines
1.5 KiB
Markdown
# Mastodon Bookmarks Archive
|
|
|
|
_A small Janet script to archive all your Mastodon bookmarks in Markdown files._
|
|
|
|
Because Mastodon posts can disappear for a variety of reasons (deletion, defederation, server instance shutdown, ...), it is safer to archive your bookmarks.
|
|
|
|
Each Markdown file will contain:
|
|
- [x] A link to the original post
|
|
- [x] The author's handle
|
|
- [x] The post's content in HTML
|
|
- [x] The media attachments locally downloaded
|
|
- [x] If available, the alt text for each media
|
|
- [ ] The full thread, if applicable
|
|
- [ ] The link card, if any
|
|
|
|
Most of these values will be in the form of `key:: value` for easy integration with Obsidian's plugin Dataview.
|
|
|
|
A sample script to render all your bookmarks is available [here](./dataview-query.js)
|
|
|
|
## Build & Run
|
|
|
|
### Pre-requirements
|
|
|
|
```sh
|
|
# Required by the httprequest dependency
|
|
$ sudo apt install libcurl4-openssl-dev
|
|
```
|
|
|
|
- Clone this repository
|
|
- Install Janet and jpm https://janet-lang.org/
|
|
- Get an access token for your Mastodon account
|
|
|
|
![](image1.png)
|
|
![](image2.png)
|
|
|
|
|
|
### Run
|
|
|
|
```sh
|
|
# Install dependencies locally with -l (--local)
|
|
$ jpm deps -l
|
|
# Tell jpm that our dependencies are local, before starting the script
|
|
$ jpm -l janet main.janet YOUR_INSTANCE YOUR_APP_TOKEN
|
|
```
|
|
|
|
The `YOUR_INSTANCE` value **must not** have the trailing slash (e.g: `https://hachyderm.io`)
|
|
|
|
### Build for release
|
|
|
|
```sh
|
|
$ jpm build -l
|
|
```
|
|
|
|
## LICENSE
|
|
|
|
Licensed under [GPL-3](https://www.tldrlegal.com/license/gnu-general-public-license-v3-gpl-3).
|