mirror of
https://github.com/narrrl/narl-workspace.git
synced 2026-11-03 16:41:27 +01:00
docs: the guide around four things and two screens, new screenshots, the plan closed
The guide opens with documents, cards, notes and diary entries, and the documents and plan screens, then walks the day with the scratchpad, the info sheet and cards linked both ways. The README and the wiki's home say the same in short, and show the scratchpad and the info sheet. The screenshot script drops its Alt keys and takes both. PLAN.md records the simplification's slices, what was left of its navigation fixes, and the backlog fitted to the model.
This commit is contained in:
1 parent
650fc40fa7
commit
c70bfdd7be
26 files changed
+214
-95
No files matched your search
+22
-9
@@ -278,6 +278,13 @@ await doc(thesis.id, 'Outline', `## Chapters\n\n1. Introduction\n2. Related work
|
||||
const uniLists = (await api('GET', `/spaces/${uni}/board`)).lists as { id: number }[]
|
||||
await api('POST', `/lists/${uniLists[0].id}/cards`, { title: 'Hand in exercise sheet 4', due_at: at(2, 10) })
|
||||
|
||||
// The scratchpad: what was jotted down in passing, waiting to be sorted.
|
||||
for (const note of [
|
||||
'tariffs-api added valid_from — ask whether it is a date or a timestamp',
|
||||
'idea: show the run progress per source in the status page',
|
||||
'# Dead-letter queue\nkeep failed jobs for 7 days, replay by hand',
|
||||
]) await api('POST', '/scratch', { body: note })
|
||||
|
||||
// home
|
||||
await doc(home, 'Groceries', `- oat milk\n- coffee\n- lemons\n`)
|
||||
await api('PUT', `/nodes/${home}`, { name: 'home', has_board: false })
|
||||
@@ -339,15 +346,10 @@ const named: Record<string, { code: string; keyCode: number }> = {
|
||||
Tab: { code: 'Tab', keyCode: 9 },
|
||||
}
|
||||
|
||||
/** Keys as typed: `gh`, `?`, `<Escape>` for a named one, `<A-h>` with Alt. */
|
||||
/** Keys as typed: `gh`, `?`, `<Escape>` for a named one. */
|
||||
async function keys(sequence: string, pause = 250) {
|
||||
for (const token of sequence.match(/<A-\w>|<\w+>|./g) ?? []) {
|
||||
if (token.startsWith('<A-')) {
|
||||
const key = token[3]
|
||||
const params = { key, code: `Key${key.toUpperCase()}`, modifiers: 1 }
|
||||
await send('Input.dispatchKeyEvent', { type: 'rawKeyDown', ...params })
|
||||
await send('Input.dispatchKeyEvent', { type: 'keyUp', ...params })
|
||||
} else if (token.startsWith('<')) {
|
||||
for (const token of sequence.match(/<\w+>|./g) ?? []) {
|
||||
if (token.startsWith('<')) {
|
||||
const key = token.slice(1, -1)
|
||||
const { code, keyCode } = named[key]
|
||||
const text = key === 'Enter' ? '\r' : undefined
|
||||
@@ -393,7 +395,7 @@ await shot('document')
|
||||
await open('/n/work/projects')
|
||||
await keys('jl')
|
||||
await sleep(800)
|
||||
await keys('<A-h>kL')
|
||||
await keys('hkL')
|
||||
await sleep(800)
|
||||
await shot('tiles')
|
||||
|
||||
@@ -402,6 +404,11 @@ await keys('gh', 400)
|
||||
await sleep(800)
|
||||
await shot('history')
|
||||
|
||||
await open('/n/work/projects/ingest-pipeline')
|
||||
await keys('gc', 400)
|
||||
await sleep(800)
|
||||
await shot('info')
|
||||
|
||||
await open('/n/work/runbook')
|
||||
await keys('i')
|
||||
await sleep(500)
|
||||
@@ -430,6 +437,12 @@ await sleep(800)
|
||||
await shot('calendar')
|
||||
await keys('<Escape>')
|
||||
|
||||
await open('/n/work/runbook')
|
||||
await keys('Q')
|
||||
await sleep(800)
|
||||
await shot('scratch')
|
||||
await keys('<Escape>')
|
||||
|
||||
await open('/n/work')
|
||||
await keys('/')
|
||||
await send('Input.insertText', { text: 'tariffs' })
|
||||
|
||||
Reference in new issue
Block a user