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
|
bind {field, param, resource} (load this field's
|
||||||
value from a resource whenever the named sibling
|
value from a resource whenever the named sibling
|
||||||
changes - {param} templates into a url source's path),
|
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 |
|
ResourceSpec source (kv | gitea_starred | gitea_org_repos |
|
||||||
gitea_releases | url),
|
gitea_releases | url),
|
||||||
key, public, requires_group, transitions[{from, to, label}],
|
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`,
|
Requirement `type`: `text` (default), `textarea`, `email`, `tel`,
|
||||||
`select`, `file`, `prosekit` (rich text), `gesture` (draw a stroke on
|
`select`, `file`, `prosekit` (rich text), `gesture`, `voice`, or any
|
||||||
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
|
|
||||||
HTML input type.
|
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
|
A repo may also carry an optional `site.yaml` at its root (sibling of
|
||||||
`aggregates.yaml`) declaring instance branding: `title`, `wordmark`
|
`aggregates.yaml`) declaring instance branding: `title`, `wordmark`
|
||||||
(image URL), and the landing page's `hero`:
|
(image URL), and the landing page's `hero`:
|
||||||
|
|||||||
Reference in New Issue
Block a user