Weave
June 16, 2026 ยท View on GitHub
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 support
- focus mode
Building from source
You need a Rust toolchain (1.93+).
git clone https://github.com/matze/weave.git
cd weave
cargo build --release
The binary ends up in target/release/weave.
Quickstart
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 --release
This starts the server on http://localhost:8000. A demo instance can be accessed at https://weave.bloerg.net.
Environment variables
| 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 |
WEAVE_HOST | IP address the server listens on | 127.0.0.1 |
WEAVE_ATTACHMENTS | Subdirectory inside ZK_NOTEBOOK_DIR to serve as static files (e.g. media) | (disabled) |
License
MIT