diff --git a/README.md b/README.md index 92241125c..87fe2aa56 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,13 @@ Global admin, ban, and communication management system for the Source engine. +> [!TIP] +> **Rather not self-host?** [**RookHelm**](https://rookhelm.com?utm_source=sourcebans-pp&utm_medium=referral&utm_content=readme) is a +> commercial, fully-hosted alternative to SourceBans++ with more +> moderation tooling built in. It runs the whole stack for you and +> imports your existing SourceBans++ data. SourceBans++ itself stays +> free and self-hostable, always. + ## Links - **Docs:** (install, upgrade, configure, FAQ) diff --git a/docs/README.md b/docs/README.md index 1ea0d11e4..33cdf73ea 100644 --- a/docs/README.md +++ b/docs/README.md @@ -14,11 +14,13 @@ shell — all authoring happens here). | `src/content.config.ts` | Astro content-collection schema. Re-exports Starlight's `docsLoader` + `docsSchema` so the `src/content/docs/` collection is wired with the right loader and front-matter validation. Edit when adding a new collection (none currently). | | `src/content/docs/` | All page content, organised by sidebar group (`getting-started/`, `setup/`, `troubleshooting/`, …). `.md` for plain pages, `.mdx` for pages that use Starlight components (Tabs, LinkCard, Card, etc.). | | `src/content/docs/sponsor.mdx` | Canonical sponsor landing page reached via the topbar heart icon, the per-page footer link, and `.github/FUNDING.yml`'s `custom:` URL (issue #1416). Uses `template: splash` (no sidebar) and is intentionally absent from the sidebar tree in `astro.config.mjs`. Renders the funding-platforms list + tier-grouped sponsor roll via `src/components/Sponsors.astro`. | +| `src/content/docs/rookhelm.mdx` | In-docs hub for RookHelm, the commercial hosted alternative to self-hosting SourceBans++. Reached from the top-level `RookHelm` sidebar entry (registered in `astro.config.mjs`), the homepage / overview / data-export callouts, and (indirectly) the header CTA in `src/components/SocialIcons.astro` which links out to the product site. Framed neutrally as a paid alternative; SourceBans++ stays free + self-hostable. **Deliberately avoids enumerating RookHelm's features** — those live on rookhelm.com and would drift stale here, so the page positions in general terms ("more moderation tooling built in") and links out for specifics. It shouldn't need updating when RookHelm's feature set changes. Keep every RookHelm callout on the same general-positioning rule — across the docs (this page + the README / homepage / overview / data-export mentions) AND the one in-panel surface: a subtle, owner-only migration note on the Full data export page (`web/themes/default/page_admin_export.tpl`), placed there because the export bundle is exactly what RookHelm imports. That's the only RookHelm callout inside the shipped panel by design (owner-only, contextual, no public-page / login / sub-admin exposure); don't add panel callouts elsewhere without the same audience + subtlety bar. **Outbound-link tagging:** every link that points straight at `rookhelm.com` (this page's 3 links, the header CTA in `SocialIcons.astro`, the root `README.md` callout, and the panel export-page note) carries a UTM referral tag — `?utm_source=sourcebans-pp&utm_medium=referral&utm_content=` (`docs-page` / `docs-nav` / `readme` / `panel-export`). The in-docs links on `sbpp.github.io` are dofollow (Starlight adds no `rel="nofollow"`) and the panel note uses `rel="noopener"` (dofollow, referrer preserved); the root README link is force-`nofollow`'d by GitHub's markdown pipeline (unavoidable), but the UTM tag still attributes the click. Add the same tag to any new outbound RookHelm link; the internal `/rookhelm/` callouts (homepage / overview / data-export) don't need it since they stay on-site. | | `src/data/sponsors.json` | Canonical source of truth for the project's funding platforms, sponsor tiers, and sponsor roll. Consumed by `src/components/Sponsors.astro` and (eventually) by the main repo `README.md`'s ` ... ` injection markers + the panel footer in companion issue #1417. Adding a new platform (Open Collective, Patreon, …) or a new sponsor is a one-line edit here — no component change required. | | `src/styles/sbpp.css` | Panel-parity overrides — brand orange, zinc neutrals, semantic asides, geometry, focus ring. Mirrors `web/themes/default/css/theme.css` token-for-token. **When the panel's `:root` / `html.dark` blocks change, mirror the change here in the same PR** (AGENTS.md "Keep the docs in sync"). | | `src/components/ThemeProvider.astro` | Override of Starlight's stock dark-leaning theme provider. Defaults the unset preference to `'auto'` (resolves via `prefers-color-scheme`) to match the panel's `'system'` first-paint default, AND ships a `