computersandblues.lodestone/README.md

58 lines
1.9 KiB
Markdown

# 🪨 Lodestone
Lodestone helps you navigate the Fediverse.
It gives you a tool to quickly search through your favorite posts, and helps you rediscover the things you found relevant.
## Fediverse Software Compatibility
The software is actively being tested against [Mastodon](https://docs.joinmastodon.org/) and compatible forks like [Hometown](https://github.com/hometown-fork/hometown/). The API surface that's used by this tool is quite small at the moment:
- `POST /api/v1/apps`
- `POST /oauth/token`
- `GET /api/v1/favourites`
It is tested to work with `Note` activities. Even though other activites are currently not tested, any effort to improve compatibility is welcome.
## Building a release
Before anything, make sure JS dependencies are installed:
``` bash
npm install
```
After that
``` bash
npm run build
```
You can upload these files to any static file server, for example using `rsync`:
``` bash
rsync -rsvP --delete-after --exclude js/cljs-runtime/ public/ user@server:some/directory
```
## Development
Just as when building a release, you need to ensure that JS dependencies are installed:
``` bash
npm install
```
After that you can start a process that watches and continuously builds and reloads your app when the source code is changed:
``` bash
npm run dev
```
I'd recommend setting up a better development environment and [integrating shadow-cljs deeply into your editor](https://shadow-cljs.github.io/docs/UsersGuide.html#_editor_integration). You can get a continuous build that hot-reloads your app like above, and a REPL that allows you to send and evaluate individual expressions from your editor. This allows you to inspect and modify state and trigger events as you are live-developing your application.
If you set up Emacs + [CIDER](https://docs.cider.mx/cider/config/basic_config.html) this can be done by running:
``` txt
M-x cider-jack-in-cljs
```