Orbit documentation: docs, wiki and FAQ pages
This commit is contained in:
commit
bcbe5fff22
18 changed files with 714 additions and 0 deletions
44
docs/config.md
Normal file
44
docs/config.md
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
# config.json reference
|
||||
|
||||
Orbit is configured at **runtime** by `config.json`. It is fetched on startup, deep-merged over the
|
||||
built-in defaults, then the app renders — so you can re-point or rebrand **without rebuilding**.
|
||||
|
||||
- **Source of truth:** `public/config.json` (copied into the build).
|
||||
- **Served at:** `/app/config.json`.
|
||||
- **Edit live:** the service worker serves it *network-first*, so editing the deployed file takes
|
||||
effect on the next reload — no rebuild.
|
||||
|
||||
Merge rules: objects merge key-by-key; **arrays and scalars replace** wholesale.
|
||||
|
||||
## Options
|
||||
|
||||
| Key | Type | What it does |
|
||||
|-----|------|--------------|
|
||||
| `server.url` | string | WebSocket URL of the IRCv3 server. |
|
||||
| `startup.channels` | string[] | Channels auto-joined (first = active). A `?channel=` URL param overrides. |
|
||||
| `branding.name` | string | App/network name shown in the UI + CTCP VERSION. |
|
||||
| `branding.icon` | string | Logo / favicon URL. |
|
||||
| `branding.url` | string | Homepage (used in CTCP VERSION/SOURCE). |
|
||||
| `branding.tagline` / `taglineEm` / `subtitle` | string | Connect-screen copy. |
|
||||
| `branding.projectUrl` | string | "Powered by Orbit" link in Settings. |
|
||||
| `turnstile.enabled` / `sitekey` | bool / string | Cloudflare Turnstile on registration. |
|
||||
| `report.target` | string | Channel that user reports are sent to. |
|
||||
| `defaults.theme` | string | `light` · `dark` · `yomirc` · `yomirc-dark`. |
|
||||
| `defaults.compact` / `sound` / `hideJoinQuit` / `clock24` | bool | Preset new-user prefs. |
|
||||
| `features.push` / `imageUpload` / `register` | bool | Turn whole features on/off. |
|
||||
|
||||
> `defaults.*` only seed a user's preferences the **first** time — once someone changes a setting,
|
||||
> it's stored in their browser and the config no longer overrides it.
|
||||
|
||||
## Example
|
||||
|
||||
```json
|
||||
{
|
||||
"server": { "url": "wss://irc.example.org/ws/" },
|
||||
"startup": { "channels": ["#lobby", "#help"] },
|
||||
"branding": { "name": "ExampleChat", "tagline": "Chat with", "taglineEm": "everyone." },
|
||||
"turnstile":{ "enabled": false, "sitekey": "" },
|
||||
"defaults": { "theme": "dark", "compact": true },
|
||||
"features": { "register": false }
|
||||
}
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue