sheets: one Sheet component, and the info sheet over a document

Every overlay is drawn in Sheet.svelte: the header, the close button, the
footer of keys and the list cursor kept on screen, written once instead of
in ten copies. Overlays open and close through openSheet and closeSheet.

The outline, history and backlinks sheets and the share bar are one info
sheet with a part for each, Tab between them. gi opens it, gO, gh and gb open
it at their part, and so does a click on the line under the title. The
buttons in the document header are gone; the meta line says when the
document is public, and a phone gets edit and info under the text.
This commit is contained in:
nvrl committed 2026-10-22 04:07:42 +02:00
1 parent 0eabcb2333
commit 26b3c686d2
24 files changed
+642 -810

No files matched your search

+2
View File
@@ -29,6 +29,7 @@ arguments and `↑` / `↓` recall earlier lines.
| `Ctrl-D / Ctrl-U` | half a page down / up the open document |
| `zl / zh · zL / zH` | the wide table or code block at the top of the view, sideways — a little, or half its width |
| `]] / \[\[` | next / previous heading of the document — in the editor too |
| `gi` | the info sheet: the open document's headings, earlier versions, backlinks and sharing — Tab between them |
| `gO` | the headings as a list: j/k, Enter jumps there |
| `F` | hints over the links and buttons in view — type one to follow it |
| `gf / gx` | in the editor: follow the link under the cursor / open it in a tab |
@@ -188,6 +189,7 @@ do: `:w!`, `:space! <name>`, `:import!`.
| `:backlinks, :bl` | the documents that link to the open one — j/k, Enter opens one (gb) |
| `:source` | show an open markdown file as written, or rendered again |
| `:outline, :toc` | the open document's headings to pick from — gO, in the editor too |
| `:info [outline\|history\|backlinks\|share]` | what is known about the open document: its headings, earlier versions, backlinks and sharing — Tab between them (gi) |
| `:search, :se [text]` | full-text search in this space (empty clears) |
| `:search!` | full-text search across every space — Ctrl-P |
| `:clear, :noh` | clear the search filter |
+1
View File
@@ -8,6 +8,7 @@ reader needs no account.
| `s`, `:share` | share the document and copy its link; on a shared one, `s` asks before taking it back |
| `y`, `:link` | make a new link for the same document; the old one stops working |
| `:unshare` | stop sharing |
| `:info share` | the share part of the info sheet: whether the document is public, the shape of its link, and the same `s` and `y` |
The link looks like `https://your-host/s/<token>#<key>`. The page renders the
document read-only and serves only the pictures and videos it embeds right now:
+6 -1
View File
@@ -66,12 +66,17 @@ linked to from anywhere behind the login.
![A document in the reader](../images/document.png)
The line under the title says when it was written and last edited, how many
words it has, and how many documents link to it. In the reader:
words it has, how many documents link to it, and whether it is public. Click it,
or press `gi`, for the info sheet: the document's headings, its earlier
versions, the documents that link to it and its share link, one part at a time
— `Tab` goes to the next. `gO`, `gh` and `gb` open it at their own part. In the
reader:
| key | what it does |
| --- | --- |
| `j` / `k`, `Ctrl-D` / `Ctrl-U` | scroll a line, or half a page |
| `]]` / `[[` | the next / previous heading |
| `gi` | the info sheet |
| `gO` | the headings as a list to jump to |
| `zl` / `zh` | scroll a wide table or code block sideways |
| `F` | a letter over every link and button in view; type it to follow |