Weave is a self-hosted, single-user, web-based frontend to view and edit zk notes. It is lightweight, quick and opinionated. It features
- a single binary with a built-in zk re-implementation (no
zkbinary needed) - fuzzy search across all note titles and tags
- cross-linking and note editing
- syntax highlighting of code blocks
- real-time file watching (external edits show up immediately)
- light and dark mode
You need a Rust toolchain (1.93+) and the
tailwindcss standalone CLI binary
in your PATH.
git clone https://github.com/matze/weave.git
cd weave
cargo build --releaseThe binary ends up in target/release/weave.
Point Weave at a zk notebook directory (here we use the demo notebook), set a password and run the application from source with:
ZK_NOTEBOOK_DIR="$(pwd)/notebook" WEAVE_PASSWORD="secret" cargo run --releaseThis starts the server on http://localhost:8000. A demo instance can be accessed at https://weave.bloerg.net.
| Variable | Description | Default |
|---|---|---|
ZK_NOTEBOOK_DIR |
Path to the zk notebook directory | (required) |
WEAVE_PASSWORD |
Password for signing in | (empty, login disabled) |
WEAVE_PORT |
Port the server listens on | 8000 |
MIT