{# The shell every page shares. Each route is a complete HTML document, so the interface works with no client library at all: links are ordinary anchors and navigation is ordinary page loads. htmx is loaded as a progressive enhancement -- one script, pinned and integrity-checked, from a CDN -- and turns the hx-* attributes already on every link into in-place swaps of
with the URL pushed, which is hypermedia as the engine of application state: the server's HTML carries the controls, the browser follows them. Offline, or with scripting off, nothing is lost but the swap; every link still resolves as a page. Orientation is part of the page, not worked out in the browser: the tree arrives with this page's branch open and this page marked, and the header marks the section. Both come back with every swap. Everything else interactive is the platform's own: the tree is
, the tree on a narrow screen is a popover opened by a button, and search is one keystroke away through accesskey. #} {% from "_links.html" import go, kind_dot %} {{ title }}
SpecsGraph Search the graph Alt K
{% endfor %}
{% block main %}{% endblock %}