Bendik Aagaard LynghaugandClaude Fable 5 6190fb9ab6
Lint and reload / lint (push) Successful in 2s
Lint and reload / reload (push) Successful in 0s
Alternatives that invite a real path; icons; question titles
Category labels become paths a visitor can take (Draw a path and see
who's near / Follow the build as it lands / Hear from us when it
matters), the empty Communicate feature gets its why, every
input-bearing feature states its reason and carries a lucide icon,
and the desk and receipt titles become the page's one question.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-25 17:04:44 +02:00

questions (redoal.com)

The content behind redoal.com — a second face of the same 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 — 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), 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)

S
Description
No description provided
Readme
192 KiB
Languages
JavaScript 100%