Compare commits

..

No commits in common. "master" and "0.0.3" have entirely different histories.

View File

@ -1,52 +1,49 @@
# Mastodon Bookmarks Archive # Mastodon Bookmarks Archive
[Release download](https://git.scambier.xyz/scambier/janet-mastodon-bookmarks/releases)
_A small Janet script to archive all your Mastodon bookmarks in Markdown files._ _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. 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: Each Markdown file will contain:
- [x] A link to the original post - A link to the original post
- [x] The author's handle - The author's handle
- [x] The post's content in HTML - The post's content in HTML
- [x] The media attachments locally downloaded - The media attachments locally downloaded
- [x] If available, the alt text for each media - 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 is available [here](./dataview-query.js) Most of these values will be in the form of `key:: value` for easy integration with Obsidian's plugin Dataview. A sample script is available [here](./dataview-query.js)
## Build & Run ## Setup & 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 - Get an access token for your Mastodon account
![](image1.png) ![](image1.png)
![](image2.png) ![](image2.png)
- Run the program
### Run
```sh ```sh
# Install dependencies locally with -l (--local) $ ./mastodon-bookmarks YOUR_INSTANCE YOUR_APP_TOKEN
$ 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`) The `YOUR_INSTANCE` value must not have the trailing slash (e.g: `https://hachyderm.io`)
### Build for release ## Development
- Clone this repository
- Install Janet and jpm https://janet-lang.org/
- `jpm deps --local`
```sh ```sh
$ jpm build -l $ janet main.janet YOUR_INSTANCE YOUR_APP_TOKEN
```
## Build binary
```sh
$ jpm build
``` ```
## LICENSE ## LICENSE