README: voice, value, url substitution, audio cards
This commit is contained in:
@@ -196,7 +196,10 @@ Question id (derived from the file's path - see routing
|
||||
bind {field, param, resource} (load this field's
|
||||
value from a resource whenever the named sibling
|
||||
changes - {param} templates into a url source's path),
|
||||
relay (gesture only - ws(s):// redoal-relay URL)
|
||||
value (preset; on a dynamic page {name} takes the
|
||||
URL segment - value: "{key}" hands a voice field
|
||||
its address), relay (gesture/voice - ws(s)://
|
||||
redoal-relay URL)
|
||||
ResourceSpec source (kv | gitea_starred | gitea_org_repos |
|
||||
gitea_releases | url),
|
||||
key, public, requires_group, transitions[{from, to, label}],
|
||||
@@ -205,12 +208,26 @@ Question id (derived from the file's path - see routing
|
||||
```
|
||||
|
||||
Requirement `type`: `text` (default), `textarea`, `email`, `tel`,
|
||||
`select`, `file`, `prosekit` (rich text), `gesture` (draw a stroke on
|
||||
a canvas; submits `{points, key}` - with `relay` set it announces the
|
||||
stroke to a redoal-relay and shows echoes of similar strokes; mark it
|
||||
`optional: true`, hidden inputs skip HTML required-validation), or any
|
||||
`select`, `file`, `prosekit` (rich text), `gesture`, `voice`, or any
|
||||
HTML input type.
|
||||
|
||||
- `gesture` draws a stroke on a canvas and submits `{points, key}`.
|
||||
With `relay` set it announces the stroke to a redoal-relay: the
|
||||
relay answers with the key and its decode (drawn under the stroke),
|
||||
with who is at a similar shape right now, and with *places* - keys
|
||||
that hold recordings. Picking a place makes its key the field's:
|
||||
the value becomes `{points, key, own_key, selected_from,
|
||||
selected_distance}`. Mark it `optional: true` (hidden inputs skip
|
||||
HTML required-validation).
|
||||
- `voice` records in the browser and sends the audio to the relay,
|
||||
which keeps it at the field's `value` key (`value: "{key}"` on a
|
||||
`/shape/[key]` page). The value becomes `{key, digest, duration_ms}`.
|
||||
Needs `relay`; `optional: true` for the same reason.
|
||||
|
||||
A `[name].yaml` page's segment also substitutes into a `url` resource
|
||||
source (`https://relay.redoal.com/place/{key}`), and a resource item
|
||||
with an https `audio` field renders an `<audio>` player.
|
||||
|
||||
A repo may also carry an optional `site.yaml` at its root (sibling of
|
||||
`aggregates.yaml`) declaring instance branding: `title`, `wordmark`
|
||||
(image URL), and the landing page's `hero`:
|
||||
|
||||
Reference in New Issue
Block a user