# Usage ## Starting the server See [installation](installation) for build instructions and environment variables. Once built, start the server with: ```bash ZK_NOTEBOOK_DIR="/path/to/notebook" WEAVE_PASSWORD="secret" cargo run --release ``` ## User interface The main interface consists of a sidebar listing all notes and a content area showing the selected note. On mobile the sidebar is hidden and can be toggled with the back button. ### Authentication Weave is a single-user application. Set `WEAVE_PASSWORD` to require sign-in. When signed in you can view and edit all notes. Without a password, login is disabled entirely. A note tagged `#public` is readable without signing in. See the Tags section below. ### Searching Press / or click the "Filter notes..." box to search. Weave uses fuzzy matching against note titles, so you do not need to type the exact title. Prefix a word with `#` to filter by tag instead, e.g. `#public`. To leave the search bar, press esc. ### Editing Press e or click the pencil icon to edit the current note. The editor is a plain text area with a live preview panel. Save your changes or discard them with the corresponding buttons. Weave watches the notebook directory for changes, so edits made outside of Weave (in your text editor, via Git, etc.) are picked up automatically. ### Sidebar navigation Use j to move to the next note and k to move to the previous note. ### Focus mode For a distraction-free reading experience enable focus mode with the f key. ## Tags Three special tags denote the representation of a note: - `#public` makes a note readable without signing in, so it can be shared with others. - `#pin` sorts a note to the top of the sidebar for quick access. - `#archived` sorts a note to the bottom of the sidebar and greys it out to reduce clutter. ## Attachments If your notebook contains images or other files in a subdirectory, set `WEAVE_ATTACHMENTS` to that subdirectory so Weave serves them. For example, with a layout like: ```text notebook/ note.md media/ photo.jpg ``` Start Weave with `WEAVE_ATTACHMENTS=media` and reference the file from a note as `![photo](media/photo.jpg)` or link to it with `[photo](media/photo.jpg)`. Weave makes relative paths root-absolute so they resolve correctly regardless of the page URL, whether they are embedded images or plain links. Nested paths like `WEAVE_ATTACHMENTS=assets/img` work as well. #public