navigation: the list by name outside the diary, Ctrl-P goes to anything by its name, new things land beside what they belong to

The list is folders first and then by name in every space but the diary,
which stays a journal by day; a document's row elsewhere shows when it
was last edited. Ctrl-P is a jump by name across every space, served by
GET /api/jump: the last word is looked for in the name, the ones before
along the path. / is the one full-text search, and Tab on its line takes
it to every space and back. A card's notes are made in the folder being
browsed when that is in the card's space, and a missing [[link]]'s
document beside the one linking to it. o in a space with templates opens
the line as :new with them listed.
This commit is contained in:
nvrl committed 2026-10-22 17:39:24 +02:00
1 parent c70bfdd7be
commit 9363a0024d
21 files changed
+297 -96

No files matched your search

+1
View File
@@ -41,6 +41,7 @@ sealed or not.
| `POST` | `/api/nodes/{id}/import` | import a folder or zip (multipart) under this node |
| `POST` | `/api/import` | import an export at the root: directories become spaces |
| `GET` | `/api/resolve?path=` | the node behind a slug path, `work/notes/monday` |
| `GET` | `/api/jump?q=` | `Ctrl-P`: the nodes in every space whose name holds the last word and whose path holds the ones before, best first, each with its `location` |
| `GET` | `/api/nodes/{id}/revisions` | a document's earlier versions, the newest first |
| `GET` | `/api/nodes/{id}/revisions/{rev}` | one earlier version, with its text |
| `GET` | `/api/nodes/{id}/backlinks` | the documents that link to this one, with the line each does it on |
+4 -2
View File
@@ -115,8 +115,10 @@ outside the browser, see [Capture](Capture.md).
### Notes
`gf` on a card, or on its back, opens its notes: a document named after the card, made in the
root of the space the first time, among the documents. `S` goes back to the
`gf` on a card, or on its back, opens its notes: a document named after the card,
among the documents. The first time, it is made in the folder you are browsing
when that is in the card's space, so the notes land beside what they are about,
and in the root of the space when it is not. `S` goes back to the
board, on the same card.
The link is loose on purpose: deleting the document leaves the card, because the
+4 -4
View File
@@ -35,7 +35,7 @@ arguments and `↑` / `↓` recall earlier lines.
| `gx` | open the file under the cursor in a tab of its own |
| `Enter · l` | open a document, or enter a folder — on an open keystore or sealed file, Enter asks for its password |
| `h` | from the document to the list, from the list up a level |
| `o` | new document here, straight into insert mode |
| `o` | new document here, straight into insert mode — when the space has templates, the line offers them first |
| `O` | new folder here |
| `i · a` | edit the open document |
| `R` | rename what is under the cursor — document, folder or card — starting from its name |
@@ -48,11 +48,11 @@ arguments and `↑` / `↓` recall earlier lines.
| `T` | today's diary entry, started if there is none — from templates/day when the diary has one |
| `C` | the diary by month, on the plan screen: h/l a day, j/k a week, H/L a month, . today, Enter opens or starts the day among the documents |
| `[d / ]d` | the diary entry before / after the one open, by date |
| `Ctrl-P` | find anything, in every space — Enter opens the result lit beside them, n goes on |
| `Ctrl-P` | go to anything by its name, in every space — words before the last narrow the path, as in proj/ingest; Tab or Ctrl-N/P walk, Enter goes |
| `b` | the board, on the plan screen: this space's, or the last one shown — 1 … 9 there shows another's |
| `c` | capture a card into this space's inbox, without leaving here — reading a document, a card about it; Tab on the line makes it a note, or a line in today's entry |
| `Esc · q` | close the document, and its tile when there are several — Esc first puts down what m picked up |
| `/` | full-text search, inside the current space and its text files — Tab or Ctrl-N/P walk the results, Enter opens one |
| `/` | full-text search, inside the current space and its text files — Tab takes it to every space, Ctrl-N/P walk the results, Enter opens one |
| `n / N` | next / previous search result, opened beside the results — :noh clears the search |
| `x · dd` | delete what has focus — the row in the list, the document in its pane — into the trash (asks y/N) |
| `u` | undo the last delete: it comes back out of the trash — :trash has the rest |
@@ -188,7 +188,7 @@ whole workspace. A command that does a second thing takes a word for it:
| `:outline, :toc` | the open document's headings to pick from — gO, in the editor too |
| `:info [outline\|history\|backlinks\|cards\|files\|share]` | what is known about the open document: its headings, earlier versions, backlinks, cards, files 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 |
| `:search!` | full-text search across every space — `/` then Tab |
| `:noh, :nohlsearch` | clear the search filter |
| `:reload, :r` | re-read the current folder from the server |
+3 -5
View File
@@ -53,13 +53,11 @@ file or an SVG, for example, downloads instead of opening.
## Search
| key | searches |
| --- | --- |
| `/` | the space you are in |
| `Ctrl-P` | every space |
`/` searches the space you are in; `Tab` on the line takes the search to every
space, and back (`:search!` does the same from the command line).
Results appear as you type, ranked by relevance, each with the space and
folder it is in. `Tab` or `Ctrl-N` / `Ctrl-P` walk them without leaving the
folder it is in. `Ctrl-N` / `Ctrl-P` walk them without leaving the
line, and `Enter` opens the one lit. Afterwards `n` and `N` open the next and
previous result beside the list, and `:noh` clears the search.
+8 -5
View File
@@ -68,7 +68,7 @@ each.
The list on the left shows the folder you are in. `j` and `k` move, `l` or
`Enter` opens what is under the cursor, `h` goes up a level. Folders come first,
then documents grouped by the day they were written.
then documents by name; only the diary lists them by day.
Open the project notes with `Enter`. To read a second document beside it, move
to it and press `L` instead: it opens in a **tile** of its own.
@@ -159,15 +159,18 @@ going to the board.
### Finding things
`/` searches the space you are in, as you type, and `Ctrl-P` every space.
The search reads the documents and the text files in the tree, then the cards
`/` searches the space you are in, as you type, and `Tab` on the line takes
it to every space. The search reads the documents and the text files in the tree, then the cards
and the notes: a log file is found by a line inside it, and the result shows
the words around the match.
![A search that found a log line](../images/search.png)
`Tab` walks the results without leaving the line, `Enter` opens one, and
`n`/`N` step through them afterwards. More in [Files and search](Files-and-Search.md).
`Ctrl-N`/`Ctrl-P` walk the results without leaving the line, `Enter` opens
one, and `n`/`N` step through them afterwards. When you know what it is called,
`Ctrl-P` goes straight there from anywhere: type part of the name, with a word
of the folder before it to narrow it, `proj ingest`. More in
[Files and search](Files-and-Search.md).
## Afternoon: a lecture
+5 -3
View File
@@ -24,15 +24,17 @@ deleted. See [The diary](Diary.md).
## The tree
Inside a space, folders nest to any depth. The list shows the folder you are
in: folders first, then documents and files, grouped by the day they were
written.
in: folders first, then documents and files by name. The diary is the
exception: a journal, its entries are newest first and grouped by the day they
are about, and each shows the time it was written where elsewhere a document
shows when it was last edited.
| key | what it does |
| --- | --- |
| `j` / `k`, `gg` / `G` | move, first, last |
| `l`, `Enter` | open the document or file, or go into the folder |
| `h` | up one level |
| `o` | a new document here, straight into insert mode |
| `o` | a new document here, straight into insert mode; when the space has [templates](Writing.md#templates), the line offers them first |
| `O` | a new folder here |
| `R` | rename what is under the cursor |
| `x`, `dd` | delete it, into the trash |
+4 -1
View File
@@ -153,7 +153,7 @@ A title is looked for in the space the link is written in first, then in every
other. It matches a name in any case, or the slug of that name. Typing `[[` in
the editor offers the titles of documents as the search finds them. A title
that no document has yet is drawn dimmed, and following it offers to write that
document.
document, in the folder of the one linking to it.
Links keep working when what they point at moves. Renaming a document, or a
folder above it, or moving either, rewrites the links to it in every document
@@ -175,6 +175,9 @@ it is a template.
- `:new meeting` starts a document from `templates/meeting`. `Tab` completes the
template names.
- `o` in a space with templates opens the line as `:new ` with them listed:
`Tab` picks one, and `Enter` on nothing makes a blank document. In the diary
`o` starts from `templates/day` without asking.
- `:new meeting 2026-10-20 Budget` dates it and names it as well.
In a template these placeholders are filled in, on the clock of