Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

Docusaurus `^3.10.x` on the shared `stackql/docusaurus-config` (vendored to `.shared-config/` by `yarn vendor-config` in `prebuild`/`prestart`). Site-local files only: `provider.js` (`providerName`, `providerTitle`), `docusaurus.config.js` (createConfig + registry logos + `config.presets[0][1].docs.showLastUpdateTime = true;`), `sidebars.js`, `scripts/sanitize-docs.mjs`, `src/` (CopyableCode, SchemaTable, StackqlDeployDropdown, theme overrides), `static/` (CNAME `<provider>-provider.stackql.io`, favicons, manifest, registry logos, `stackql-featured-image.png`, `stackql-<provider>-provider-featured-image.png`). No Docusaurus boilerplate (no undraw images, HomepageFeatures, stock README).

The sidebar (`sidebars.js`) has one shape on every provider site: a `Back to StackQL Docs` link first (`type: 'link'`, `href: '/stackqldocs'`, `className: 'sidebar-back-link'`), then `All Providers` (`href: '/providers'`), then the `<Title> Provider` category linked to `provider-intro` with the autogenerated `services` tree. Both hrefs are shared-config redirect routes that the vendored redirects plugin registers on the site (they forward to `https://stackql.io/` and `https://stackql.io/providers`), so they render as internal links and pass the broken-link checker; the `.sidebar-back-link` rules in `src/css/global.css` draw the arrow and the divider, matching the query library site. Copy both from the template rather than re-deriving them.

`headerContent1.txt` is the front matter + one-paragraph pitch; `headerContent2.txt` is the getting-started page: See also / Installation (`REGISTRY PULL`) / Scope / Authentication (env vars, bash and PowerShell) / the scoping variable / Rate limit / Beta labelling / Example Queries - lead with the queries the provider exists for (estate inventory, posture set, the flagship, provisioning with INSERT/UPDATE/EXEC/DELETE, a cross-provider UNION). Examples must be runnable against the generated surface (snake names, quoted keywords).

The example section has one shape on every provider site, so the table of contents reads the same everywhere:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
4. Add what is missing against this list: env-var scoping, naive bodies, snake surface, pagination, pushdown, transforms, objectKeys, lifecycle EXECs attached to their resources, views, GraphQL merge, skip codes for what is not mappable.
5. Convert ad-hoc scripts into Makefile targets; add `make all`.
6. Write or extend the three test layers until they cover every archetype present; add the smoke suite with `--live`.
7. Refresh CLAUDE.md, NOTES.md, README.md, `.env.example`, the docs headers; `make docs && make website`.
7. Refresh CLAUDE.md, NOTES.md, README.md, `.env.example`, the docs headers; bring `website/sidebars.js` and the `.sidebar-back-link` rules in `website/src/css/global.css` in line with the template (the `Back to StackQL Docs` link, see docs-and-ci.md); `make docs && make website`.
8. `make all` green from a clean checkout before handing over.
13 changes: 13 additions & 0 deletions website/sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,19 @@ import { providerTitle } from './provider.js';

const sidebars = {
mainSidebar: [
// Way back to the main stackql.io docs, as on the query library site.
// '/stackqldocs' is a shared-config redirect route (registered on this
// site by the vendored redirects plugin) that forwards to
// https://stackql.io/, so the link renders as internal - no external-link
// icon - and the broken-link checker validates it. The arrow and the
// divider come from the .sidebar-back-link rules in src/css/global.css.
{
type: 'link',
label: 'Back to StackQL Docs',
href: '/stackqldocs',
className: 'sidebar-back-link',
},
// '/providers' is likewise a shared redirect, to https://stackql.io/providers.
{ type: 'link', label: 'All Providers', href: '/providers' },
{
type: 'category',
Expand Down
22 changes: 21 additions & 1 deletion website/src/css/global.css
Original file line number Diff line number Diff line change
Expand Up @@ -284,4 +284,24 @@ div:has(> .vhsImage) {
.navbar__logo img[src$='stackql-registry-logo-white.svg'] {
content: url('/img/stackql-registry-logo-white-mobile.svg');
}
}
}

/*
* sidebar: back link to the main stackql.io docs (the first item in
* sidebars.js). Same treatment as the query library site: bold label,
* leading arrow drawn here so the label stays plain text, divider below.
*/
.sidebar-back-link {
border-bottom: 1px solid var(--ifm-color-emphasis-300);
padding-bottom: 0.5rem;
margin-bottom: 0.5rem !important;
}

.sidebar-back-link .menu__link {
font-weight: 600;
}

.sidebar-back-link .menu__link::before {
content: '\2190';
margin-right: 0.5rem;
}
Loading