command mode
↑ / kselect cell above
↓ / jselect cell below
Enteredit selected cell
ainsert cell above
binsert cell below
d ddelete cell
zundo delete
ccopy cell
vpaste cell below
xcut cell
mconvert to markdown
yconvert to js
sconvert to css
tconvert to html template
hcollapse / expand cell
ltoggle line numbers
ppresentation mode
eeditor view (split)
edit mode
Escexit to command mode
Ctrl+Enterrun cell
Shift+Enterrun cell + advance
Ctrl+/toggle comment
Tabindent
Shift+Tabunindent
Alt+dragscrub a number — dependents re-run live (Shift ×10)
global
F1toggle this help
Ctrl+Ssave notebook
Ctrl+Shift+Entertoggle autorun
Ctrl+Ffind in notebook
Ctrl+Hfind and replace
toolbar
⏵ steprun selected cell
▶/‖toggle reactive mode (autorun)
▶▶ run allrun all cells
builtins
display()show text, objects, or DOM elements
canvas(w,h)create a canvas element
table(data)render array of objects as table
slider()reactive range input
dropdown()reactive select input
checkbox()reactive boolean input
textInput()reactive text input
load(url)import ESM module (cached)
install(url)import + embed in HTML on save
installBinary(url)fetch binary asset + embed gzipped
invalidationpromise that resolves before cell re-runs
md``markdown tagged template
html``HTML tagged template
css``CSS tagged template
workshop(pages)interactive side panel with pages
notebookAPI for cells, scope, scrollTo, focus
notebook.fsembedded filesystem (write, read, list, delete, ...)
directives
// %manualskip cell on reactive updates
// %norunskip cell on Run All
// %hidehide cell in present mode
// %cellName <label>name cell in DevTools
// %outputId <id>set id on output div
// %outputClass <cls>add classes to output div
// %goto <label>jump to named cell after execution
// %collapsedstart cell collapsed
// %bareexport app without base styles
press F1 or Esc to close