Unified website for all helpers4 libraries with landing page and multi-instance documentation.
helpers4.github.io/
├── landing/ # Qwik landing page (/)
├── docs/
│ ├── typescript/ # Docusaurus instance (/ts)
│ ├── devcontainer/ # Docusaurus instance (/dev-container)
│ └── github-action/ # Docusaurus instance (/action)
├── scripts/ # Build utilities
│ ├── merge-builds.js # Merge all builds into dist/
│ └── ... # Generate docs from repos
└── dist/ # Final output (Cloudflare Pages)
- Node.js >= 20.0.0
- pnpm >= 9.0.0
pnpm installEach package can be started independently:
# Landing page
pnpm dev:landing
# TypeScript docs (localhost:3001)
pnpm dev:docs:typescript
# DevContainer docs (localhost:3002)
pnpm dev:docs:devcontainer
# Action docs (localhost:3003)
pnpm dev:docs:actionBuild everything and merge outputs:
pnpm buildThis will:
- Build landing page (Qwik)
- Build all Docusaurus instances
- Merge outputs into
dist/ - Create
.nojekyllfor Github Pages
Final output structure:
dist/
├── index.html # Landing page
├── .nojekyll # Github Pages signal
├── ts/ # TypeScript docs
├── dev-container/ # DevContainer docs
└── action/ # Action docs
- Connect repository to Cloudflare Pages
- Set build command:
pnpm install && pnpm build - Set publish directory:
dist - Deploy on push to
main
- Build: pnpm workspaces with parallel builds
- Output: Static HTML/CSS/JS
- Deploy: Cloudflare Pages (or Github Pages)
Scripts to auto-generate docs from source repositories:
# Generate TypeScript API docs from source
pnpm generate-docs:typescript
# Generate DevContainer features docs
pnpm generate-docs:devcontainer
# Generate Action docs
pnpm generate-docs:action
# Sync all from repos
pnpm sync-from-repos- Each Docusaurus instance has its own configuration and styling (unified theme)
- TypeScript docs support versioning (docs in
/versioned_docs/) - All docs are statically generated
- Domain setup:
helpers4.dev→ Cloudflare Pages