keys: append current mode name to page title Especially useful to distinguish browse history.
keys: mode switches in page location hash Maintain location history (reflecting current mode in url), and refresh on reload to support browser navigation.
keys: load page hash as initial mode Support #modeX links to preselect custom mode.
keys: speed up javascript search for header title Ignore subsequent headers to avoid duplicate work.
keys: javascript mode match reorder, comments Code cleanup, optimisation.
keys: structure keyboard as html table Unordered list originally to avoid table for layout purposes, but keys are clearly to be arranged in a grid. Mostly moot with CSS, but improves rendering in text browsers.
only set up input bindings for clickable keys
browser keypress selects page key Javascript onkeypress handler which marks and clicks on a matching key if it is pressed in the browser. Increases Vim page size by 11kB (approx 10%) because each key requires a class name for unambiguous character identification. With gzip compression the difference is just 1422 bytes (though still 10%), so assume this is (or at least will be) a worthwhile trade-off.
common keyboard javascript include Move duplicated code to change key modes into one reusable place.