Public Access
Every screen's keys are constant tables in lib/core/src/app_keys.h (52 of them, each under an `// id: Title` comment). An App's help() picks the table of the state it is in. site/tools/gen_dev_docs.py reads the same file and writes site/data/keys.toml; the `keys` shortcode shows a screen's tables on its guide page, and /guide/keys/ shows all of them. The Site job fails when the data file is out of date or a page asks for a table that doesn't exist, and now also runs when app_keys.h changes. A key added to an App shows up on the website without anyone editing a page. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EhqxQ49eCju4CzKYNjZzwT
19 lines
799 B
HTML
19 lines
799 B
HTML
{#- The keys of one or more screens, as the help panel (Fn+h) lists them on the device:
|
|
{{ keys(scopes=["storage", "storage-details"]) }}, or {{ keys(all=true) }} for every screen.
|
|
The tables come from site/data/keys.toml, generated from lib/core/src/app_keys.h (issue #72):
|
|
a key added to an App shows up here without anyone editing a page. -#}
|
|
{%- set data = load_data(path="data/keys.toml", format="toml") -%}
|
|
{%- set everything = all is defined and all -%}
|
|
<div class="keys">
|
|
{%- for s in data.scope %}{% if everything or (scopes is defined and s.id in scopes) %}
|
|
<div class="keys-scope">
|
|
<h4 id="keys-{{ s.id }}">{{ s.title }}</h4>
|
|
<table>
|
|
{%- for r in s.rows %}
|
|
<tr><td><kbd>{{ r.0 }}</kbd></td><td>{{ r.1 }}</td></tr>
|
|
{%- endfor %}
|
|
</table>
|
|
</div>
|
|
{%- endif %}{% endfor %}
|
|
</div>
|