Production site workspace for shakapacker.com, built with Docusaurus.
- Canonical markdown source stays in
shakapacker/docs/ - This repo syncs docs at build time into
prototypes/docusaurus/docs - Site-owned pages live here (landing page, examples, support page)
- Install site dependencies:
npm run install:site
- Sync docs from monorepo and prepare local docs tree:
npm run prepare
- Run the site:
npm run dev
- Run docs validation scan:
npm run audit:docs
- Build from prepared docs only:
npm run build:site
- Full build from fresh docs sync and prepare:
npm run build- (
npm run build:fullis an alias)
scripts/sync-docs.mjs resolves the monorepo in this order:
SHAKAPACKER_REPOenv var- sibling directory
../shakapacker - shallow clone from
SHAKAPACKER_REPO_URL(default: upstream GitHub repo)
- Project:
shakapacker-com - Build output directory:
prototypes/docusaurus/build - One-off deploy from local machine:
npm run cloudflare:deploy
For GitHub Actions deploy, configure these repository secrets:
CLOUDFLARE_API_TOKENCLOUDFLARE_ACCOUNT_ID
Optional repository variable:
CLOUDFLARE_PAGES_PROJECT(defaults toshakapacker-com)
shakacode/shakapacker should include .github/workflows/trigger-docs-site.yml, which dispatches
docs-updated events to this repository when docs/** changes on main.
That source workflow requires these secrets in shakacode/shakapacker:
DOCS_DISPATCH_APP_IDDOCS_DISPATCH_APP_KEY