board: a card turns over to a checklist, labels and a description

Enter on a card floats a sheet over the board: its labels, a markdown
description written in the vim editor (:w writes it to the card), and a
checklist walked with j/k, ticked with Space, grown with o. Labels take
their colour from their name. A repeating card comes back with its
checklist reopened.

Code in the editor and in rendered fences is coloured from nvim's
yorha.lua, one class per highlight group, for every language
@codemirror/language-data knows; the languages load on first use.
This commit is contained in:
nvrl committed 2026-10-21 23:53:24 +02:00
1 parent 1fd1aa1eb7
commit 3c4c383f72
24 files changed
+1274 -127

No files matched your search

+12
View File
@@ -170,11 +170,20 @@ export interface Card {
done_at: number | null
/** `daily`, `weekly`, `monthly`, `yearly`, `+3d`, `+2w`, `+6m` — or none. */
repeat: string | null
checklist: Task[]
/** Lower case, each once. */
labels: string[]
position: number
created_at: number
updated_at: number
}
/** A step on a card's checklist. */
export interface Task {
text: string
done: boolean
}
/** A card after a move or an edit, and the copy a repeating card it finished left in the inbox. */
export interface Moved extends Card {
again: Card | null
@@ -564,6 +573,9 @@ export const api = {
node_id?: number | null
due_at?: number | null
repeat?: string | null
/** The whole checklist, as it should now read. */
checklist?: Task[]
labels?: string[]
done?: boolean
},
) => request<Moved>(`/cards/${id}`, { method: 'PUT', body: body(patch) }),