Lodestone helps you navigate the Fediverse https://arnes.space/fleck/lodestone
  • Clojure 84.4%
  • HTML 14.9%
  • Nix 0.7%
Find a file
2025-11-22 00:13:21 +01:00
public Add margin between attachments 2025-11-21 16:35:44 +01:00
src/computersandblues/lodestone Clean up fetch-more-posts! 2025-11-22 00:13:21 +01:00
.dir-locals.el add docs and improve development setup 2025-11-09 08:35:00 +01:00
.envrc Initial commit 2025-11-08 10:03:10 +01:00
.gitignore Initial commit 2025-11-08 10:03:10 +01:00
flake.lock Initial commit 2025-11-08 10:03:10 +01:00
flake.nix Initial commit 2025-11-08 10:03:10 +01:00
package-lock.json switch to preact 2025-11-09 08:08:25 +01:00
package.json add docs and improve development setup 2025-11-09 08:35:00 +01:00
README.md Add note about API compatibility 2025-11-21 09:07:08 +01:00
shadow-cljs.edn Add tests for query syntax 2025-11-18 21:48:32 +01:00

🪨 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 and compatible forks like 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:

npm install

After that

npm run build

You can upload these files to any static file server, for example using rsync:

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:

npm install

After that you can start a process that watches and continuously builds and reloads your app when the source code is changed:

npm run dev

I'd recommend setting up a better development environment and integrating shadow-cljs deeply into your editor. 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 this can be done by running:

M-x cider-jack-in-cljs