Files
questions/README.md
T

50 lines
2.3 KiB
Markdown
Raw Normal View History

# questions (redoal.com)
The content behind [redoal.com](https://redoal.com) — a second face of
the same [portal](https://project.uhhm.no/uhhm/portal) question engine
that serves uhhm.no. Every page is a YAML file under `questions/`;
pushing to `main` lints and then tells every running portal instance
to hot-reload.
The full schema reference lives in
[uhhm/questions' README](https://project.uhhm.no/uhhm/questions) —
this repo only notes what's distinctive here:
- **`site.yaml`** rebrands the instance: title `redoal`, its own
wordmark, and a `gesture` hero — the landing page opens on a
drawing canvas wired to `wss://relay.redoal.com` (the
`redoal-relay` crate in [redoal/redoal](https://project.uhhm.no/redoal/redoal)),
so visitors' similar strokes echo to each other live. The wordmark
is white-stroked like uhhm's, because portal's light theme lands
wordmarks as ink via an invert filter.
- **`type: gesture`** on `index.yaml`'s "Our Understanding" — the
pseudo edition of the network: draw a path, it becomes a real
20-byte gesture key (computed by the relay with the canonical Rust
pipeline), and the submitted answer stores `{points, key}` in the
`redoal_gestures` bucket. Marked `optional: true` deliberately:
the widget's hidden input is invisible to HTML required-validation.
- **`gitea_releases`** on "Our Composition" — advertises
redoal/redoal's releases. The jq filter pins `url: null` while that
repo is private (a private release's html_url 404s for anonymous
visitors); flip it to `.html_url` if the repo ever goes public.
- **Bucket names are `redoal_`-prefixed** (`redoal_gestures`,
`redoal_subscribers`): both portal instances share one NATS
JetStream, and bare names would collide with uhhm's buckets.
This repo also runs the redoal.com instance itself:
`.gitea/workflows/deploy.yml` pins `PORTAL_RELEASE` to a release tag
on uhhm/portal — bump the pin and push to upgrade (or revert to roll
back), and the workflow ships the artifact, rewrites the env from
this repo's Actions variables/secrets, restarts `app@redoal-portal`,
and refreshes the Caddy route. Content edits never need a deploy;
they hot-reload live.
Lint locally before pushing:
```
/srv/app/redoal-portal/current/question_lint --path questions
```
(or from a portal checkout:
`cargo run --features ssr --bin question_lint -- --path <this repo>/questions`)