Files
nvrl 0eabcb2333 keys: one table drives dispatch, help, footers, the rail and the wiki
keymap.ts lists every key with its context, action and help line.
actions.ts holds what each one does, typed against the table so a key
without an action, or an action without a key, does not compile.
modes.ts stacks the contexts (always > sheet > drawer > workspace >
writing > focused tile > special > global) and writes the two-key
pending logic once. App.svelte's 480-line onkeydown is now one call.

Help, the panel footers (a shared Keys component), the rail's keycaps
and Commands.md all read the table; the wiki gains the card and
scratchpad key tables.

One fix on the way: Ctrl-S in the editor no longer saves twice, which
could make the second save fail as "changed somewhere else".
2026-10-22 03:42:19 +02:00

54 lines
1.6 KiB
YAML

# docs/wiki, published to the GitHub wiki of this repository.
#
# GitHub only creates a wiki's git repository once its first page exists, so
# save any page once by hand in the Wiki tab before the first run; everything
# in it is replaced from docs/wiki from then on.
name: wiki
on:
push:
branches: [main]
paths:
- docs/**
- README.md
- .env.example
- web/src/lib/commands.ts
- web/src/lib/Help.svelte
- web/src/lib/keymap.ts
- scripts/wiki.ts
- .github/workflows/wiki.yml
workflow_dispatch:
permissions:
contents: write
concurrency:
group: wiki
cancel-in-progress: false
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
- name: clone the wiki
env:
TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: git clone "https://x-access-token:${TOKEN}@github.com/${GITHUB_REPOSITORY}.wiki.git" wiki
# Generated from the code, not from what was committed, so a forgotten
# `make wiki` still publishes the truth.
- run: bun scripts/wiki.ts && bun scripts/wiki.ts --publish wiki
- name: push
working-directory: wiki
run: |
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add -A
if git diff --cached --quiet; then
echo "the wiki is already up to date"
exit 0
fi
git commit -m "wiki: ${GITHUB_SHA::7} $(git -C .. log -1 --format=%s)"
git push