Astro + Starlight site for shinylib.net, deployed to GitHub Pages.
.
├── .github/workflows/deploy.yml CI: builds the site and deploys to Pages
├── astro.config.mjs Astro + Starlight config, redirects
├── package.json
├── public/ Static assets copied verbatim into dist/
│ └── playground/index.html Landing page linking out to the six
│ per-library demo deployments
└── src/
├── assets/
├── components/ Custom Starlight component overrides
├── content/docs/ Documentation pages (.md / .mdx)
├── sidebar-topics.mjs Shared sidebar topic config
└── styles/
| Command | Action |
|---|---|
npm install |
Install dependencies |
npm run dev |
Start the Astro dev server |
npm run build |
Build the production site to dist/ |
npm run preview |
Preview the built site locally |
npm run astro … |
Run Astro CLI commands directly |
Each library demo lives in its own sibling repo and deploys to its own GitHub Pages site. This docs repo links out to them — it does not build or host them.
| Library | URL | Source repo |
|---|---|---|
| AI Conversation | https://shinyorg.github.io/aiconversation/ | shinyorg/aiconversation |
| Controls | https://shinyorg.github.io/controls/ | shinyorg/controls |
| DocumentDb | https://shinyorg.github.io/DocumentDb/ | shinyorg/DocumentDb |
| Mediator | https://shinyorg.github.io/mediator/ | shinyorg/mediator |
| Shiny Core | https://shinyorg.github.io/shiny/ | shinyorg/shiny |
| Speech | https://shinyorg.github.io/speech/ | shinyorg/speech |
public/playground/index.html is a static landing page on this site that cards out to those URLs — kept so old /playground/ bookmarks still resolve. Each library's sidebar in Starlight also has a direct "Blazor Playground" link to the corresponding external URL.
Each demo is deployed by its own .github/workflows/deploy-blazor-sample.yml in the sibling repo: triggers on push to that repo's active branch (paths-scoped to the sample + relevant src), publishes the WASM app, rewrites <base href> to /<repo-name>/, and uploads to GitHub Pages.
.github/workflows/deploy.yml:
actions/checkout@v6withastro/action@v6— runsnpm ci && npm run buildand uploadsdist/as the Pages artifactactions/deploy-pages@v4— pushes the artifact to GitHub Pages
Builds run on every push to main and dev; only main deploys.