Files
narl-workspace/docs/wiki/Spaces-and-Documents.md
nvrl 9363a0024d 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.
2026-10-22 17:39:24 +02:00

124 lines
5.1 KiB
Markdown

# Spaces and documents
## Spaces
A space is a top-level area: `diary`, `work`, `uni`, or whatever you make.
Each has its own tree of folders, its own board and its own search, so work and
uni do not get mixed up.
- `1` … `9` and `0` switch to a space by its place in the bar; `Tab` and
`Shift-Tab` step through them.
- `w` shows every space at once, with what was last written in each. `hjkl`
move, `Enter` goes there.
- `:space new <name>` makes a space, `:space name <name>` renames the one you are in,
and `:space rm` puts it in the trash with everything in it. Two spaces cannot
share a name, whatever the case.
- `:set noboard` turns the board off for a space, `:set board` back on.
![Every space at a glance](../images/overview.png)
One space has the **diary** role. It is the diary by role, not by name: rename
it and the reminder and the agenda still know which space it is. It cannot be
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 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; 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 |
| `u` | bring the last delete back |
`:cd <folder>` walks the tree from the command line (`:cd ..` goes up, `:cd /`
to the root of the space), and `:mkdir <name>` makes a folder.
### Moving things
- `m` picks up the row under the cursor; `m` again puts it back. `M` picks up
the whole folder you are in.
- Walk to another folder, in any space, and press `p` to drop everything picked
up there.
- `Shift-1` … `Shift-9` sends what is picked up, or the row under the cursor,
straight to the root of that space.
- `:mv <folder>` moves it into a folder here, `:mv ..` up one level, `:mv /`
to the root.
- With a mouse, `Ctrl`-click picks a row up and `Shift`-click every row from
the cursor to it; drag them onto a folder, a crumb in the bar, or a space.
A move never breaks a link: every document that links to what moved is
rewritten to point at its new place. See [Writing](Writing.md#links).
## Documents
A document is markdown with a name. It has a real address,
`/n/<space>/<folder>/<slug>`, which the address bar shows and which can be
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, 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, the cards about it, its files and its
share link, one part at a time — `Tab` goes to the next. `gO`, `gh`, `gb` and
`gc` open it at their own part.
![The cards about a document, in its info sheet](../images/info.png)
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 |
| `za` | fold a document's own files open under it in the list |
| `F` | a letter over every link and button in view; type it to follow |
| `gh` | earlier versions |
| `gb` | the documents that link here |
| `i`, `a` | edit |
| `q`, `Esc` | close |
`:stats` counts words and lines, `:copy` puts the whole text on the clipboard,
`:export` downloads it as a `.md` file, and `:date 2026-10-01` changes the day
it is filed under.
A document made with `o` and left with neither a name nor a word in it is
removed again when you leave it, so abandoned starts do not pile up.
## Tiles
Several documents can be open at once, each in a tile of its own.
![Two documents in tiles](../images/tiles.png)
- `L` or `Shift-Enter` on a row opens it in a new tile; `Enter` and `l` open
it in the focused one.
- Tiles share the space the way a tiling window manager does: two side by side,
a third splits the newer one, and so on.
- `Ctrl-h/j/k/l` moves the focus between tiles, from the editor too, and
`Ctrl-h` past the leftmost goes back to the list. While reading, `h` and `l`
do the same. `Ctrl-Shift-h/j/k/l` moves the tile itself.
- `gt` / `gT` (or `:bn` / `:bp`) cycle through them, `:ls` lists them, and
`:b <n or name>` focuses one.
- `q` (or `:close`) closes the focused tile, `:only` every other one, and
`f` makes the focused tile fill the screen.
Opening a document that is already in a tile focuses that tile rather than
opening it twice. Each tile keeps its own scroll position and editor, and each
space remembers its tiles. Under 768 pixels wide only the focused tile is
shown.