docs, help, checks: the README and the help say what the app does

README: the API table lists every route, twelve of which were missing;
an SFTP section says how to turn the mount on and register a key; the
keys table and the command list cover what was only in the code
(digits, Tab, w, f, Alt-h/l, Ctrl-D/U, m/p, :today, :edit, :next and
the rest, :search!, :set clipboard, :logout!). Three claims that were
wrong are fixed: there is no board button above the list, R does not
rename a space, and Esc/q close the document.

Help gains the agenda keys and the board's gg/G and r. :t no longer
means :today, which read as the agenda's key.

make check runs cargo fmt --check, after the one formatting commit
before this, which .git-blame-ignore-revs names (git config
blame.ignoreRevsFile .git-blame-ignore-revs). Cargo.toml states
rust-version 1.96, the floor the Proton crates set, and the build is
checked on it. make build installs the frontend from the lockfile.

A test reads the route table out of routes/mod.rs and asks every route
without a cookie: all but the login, the health check and the share
links must answer 401, including any route added later.
This commit is contained in:
nvrl committed 2026-10-20 06:02:16 +02:00
1 parent e0f0ebb646
commit 9749c500cf
9 files changed
+229 -40

No files matched your search

+20
View File
@@ -41,6 +41,7 @@
['rule', 'the first list is the inbox, the last list is done'],
['h / l', 'to the list left / right'],
['j / k', 'down / up the cards'],
['gg / G', 'first / last card of the list'],
['J / K', 'move the card down / up its list'],
['H / L', 'move the card to the list left / right'],
['Space', 'into the done list, or back out to the inbox'],
@@ -49,10 +50,19 @@
['D', 'due date: fri, tm, +3d, 10-31 …'],
['R', 'rename the card, or the list when it is empty'],
['z', 'show done cards older than a week'],
['r', 'read the board again, for changes made elsewhere'],
['x · dd', 'delete the card (asks y/N)'],
['q · Esc', 'back to the tree'],
]
const agendaKeys: [string, string][] = [
['j / k', 'down / up the cards'],
['Enter', 'to the card, on its own board'],
['Space', 'done, where it stands'],
['T', "today's diary entry"],
['t · q · Esc', 'close the agenda'],
]
const titles: Record<Group, string> = {
tree: 'spaces & folders',
board: 'boards',
@@ -99,6 +109,16 @@
</dl>
</section>
<section class="keys">
<h2>agenda keys</h2>
<dl>
{#each agendaKeys as [key, description] (key)}
<dt>{key}</dt>
<dd>{description}</dd>
{/each}
</dl>
</section>
{#each grouped as [group, specs] (group)}
<section>
<h2>{titles[group]}</h2>