58 lines
1.9 KiB
Markdown
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
|
|
```
|
|
|