/** * The documentation sidebar — PLAN.md §10 "Documentation", five groups, ~37 pages. * * The pages themselves land in phases 7 and 8. This file exists in phase 1 because the * shape of the journey is a design decision that is already made, and because a sidebar * written up front is what stops the docs from being organised by repository. A reader * should never need to know that `link`, `servuo-plugins` and `installer` are three * repositories in order to connect a game server (§10). * * `autogenerate` is deliberately NOT used: the order of "Getting started" is the * installation path from §10, and alphabetical order would scramble it. * * Entries are added as their pages are written — Starlight fails the build on a link to a * page that does not exist, which is the behaviour we want. */ export const docsSidebar = [ { label: 'Getting started', items: [ { label: 'What is Runic Gateway?', slug: 'docs' }, { label: 'Requirements', slug: 'docs/getting-started/requirements' }, { label: 'Install the site', slug: 'docs/getting-started/install-the-site' }, { label: 'First run', slug: 'docs/getting-started/first-run' }, { label: 'Install a game module', slug: 'docs/getting-started/install-a-game-module' }, { label: 'Connect a game server', slug: 'docs/getting-started/connect-a-game-server' }, { label: 'Verify the whole stack', slug: 'docs/getting-started/verify-the-whole-stack' }, ], }, { label: 'Administration', items: [ { label: 'Configuration', slug: 'docs/administration/configuration' }, { label: 'Branding and theming', slug: 'docs/administration/branding-and-theming' }, { label: 'Navigation and pages', slug: 'docs/administration/navigation-and-pages' }, { label: 'Content', slug: 'docs/administration/content' }, { label: 'Users and roles', slug: 'docs/administration/users-and-roles' }, { label: 'Authentication', slug: 'docs/administration/authentication' }, { label: 'Teams', slug: 'docs/administration/teams' }, { label: 'Moderation', slug: 'docs/administration/moderation' }, { label: 'Notifications and email', slug: 'docs/administration/notifications-and-email' }, { label: 'Engagement rules', slug: 'docs/administration/engagement-rules' }, { label: 'Message templates', slug: 'docs/administration/message-templates' }, { label: 'Managing modules', slug: 'docs/administration/managing-modules' }, { label: 'The shard connection', slug: 'docs/administration/the-shard-connection' }, { label: 'Maintenance and upgrades', slug: 'docs/administration/maintenance-and-upgrades' }, { label: 'Troubleshooting', slug: 'docs/administration/troubleshooting' }, ], }, { label: 'Modules', items: [ { label: 'The module system', slug: 'docs/modules/the-module-system' }, { label: 'Installing modules', slug: 'docs/modules/installing-modules' }, { label: 'Module lifecycle', slug: 'docs/modules/module-lifecycle' }, { label: 'The module manifest', slug: 'docs/modules/the-module-manifest' }, { label: 'The module API', slug: 'docs/modules/the-module-api' }, { label: 'Building a module', slug: 'docs/modules/building-a-module' }, { label: 'The Integration Kit', slug: 'docs/modules/the-integration-kit' }, { label: 'Testing and release', slug: 'docs/modules/testing-and-release' }, ], }, { label: 'Architecture', items: [ { label: 'System architecture', slug: 'docs/architecture/system-architecture' }, { label: 'The bridge', slug: 'docs/architecture/the-bridge' }, { label: 'Authentication architecture', slug: 'docs/architecture/authentication-architecture' }, { label: 'Teams architecture', slug: 'docs/architecture/teams-architecture' }, { label: 'Protocol versions', slug: 'docs/architecture/protocol-versions' }, ], }, { label: 'Reference', items: [ { label: 'Environment variables', slug: 'docs/reference/environment-variables' }, { label: 'Installer CLI', slug: 'docs/reference/installer-cli' }, { label: 'sidecar.toml', slug: 'docs/reference/sidecar-toml' }, { label: 'Bridge.cfg', slug: 'docs/reference/bridge-cfg' }, { label: 'HTTP API', slug: 'docs/reference/http-api' }, { label: 'Event catalog', slug: 'docs/reference/event-catalog' }, { label: 'Canonical documents', slug: 'docs/reference/canonical-documents' }, ], }, ]; /** * The tree §10 planned, kept as the record of what was intended — every page it names now * exists, as of phase 8. * * It was the phases 7/8 checklist, and a checklist with nothing left on it is no longer * pulling its weight: it is a second copy of the tree above, maintained by hand, and it had * already drifted once (phase 7 added `Content` under D37 and this list was not updated, * which nothing caught because nothing reads it). `checkSidebar.mjs` now asserts the two * agree, which is what makes keeping it safe. * * Not exported into the Starlight config. */ export const plannedSidebar = { 'Getting started': [ 'What is Runic Gateway?', 'Requirements', 'Install the site', 'First run', 'Install a game module', 'Connect a game server', 'Verify the whole stack', ], Administration: [ 'Configuration', 'Branding and theming', 'Navigation and pages', 'Content', 'Users and roles', 'Authentication', 'Teams', 'Moderation', 'Notifications and email', 'Engagement rules', 'Message templates', 'Managing modules', 'The shard connection', 'Maintenance and upgrades', 'Troubleshooting', ], Modules: [ 'The module system', 'Installing modules', 'Module lifecycle', 'The module manifest', 'The module API', 'Building a module', 'The Integration Kit', 'Testing and release', ], Architecture: [ 'System architecture', 'The bridge', 'Authentication architecture', 'Teams architecture', 'Protocol versions', ], Reference: [ 'Environment variables', 'Installer CLI', 'sidecar.toml', 'Bridge.cfg', 'HTTP API', 'Event catalog', 'Canonical documents', ], };