The documentation portal for JBrowseMSA — a small Astro site (plain Astro + React, mirroring the jbrowse-components website). It unifies the existing docs and embeds the live viewer as a React island on the homepage.
pnpm --filter website dev # local dev server
pnpm --filter website build # static build → dist/
pnpm --filter website preview # preview the build
# or from the repo root: pnpm build:sitesrc/pages/index.astro— landing page: hero, a liveMSAViewer(src/components/Viewer.tsx, renderedclient:only="react"), and link cards.src/pages/guide.astro,embedding.astro,cli.astro,r-package.astro— render the repo's existing markdown (docs/user_guide.md,USAGE.md, the CLI and R-package READMEs) directly, so the docs are not duplicated. A small rehype plugin inastro.config.mjsrewrites every markdown<img>to/{base}/media/<file>.scripts/sync-media.mjscopiesdocs/media/*intopublic/media/(run automatically bydev/build);public/mediais git-ignored.
Drop a .astro file in src/pages/, wrap it in ../layouts/Base.astro, and
add it to the nav array in that layout. To surface another existing markdown
doc, import { Content } from '../../../<path>.md' (three ../ reach the repo
root from src/pages/) and render <Content />.
Deployed to gmod.org/JBrowseMSA (hence base: '/JBrowseMSA' in
astro.config.mjs), with the demo app bundled in at
gmod.org/JBrowseMSA/demo.
From the repo root, pnpm build:pages builds this site plus the app into
pages-dist/ (docs at the root, app under /demo, with a .nojekyll so
Astro's _astro/ assets survive). The
Deploy docs site workflow publishes
pages-dist/ to the gh-pages branch on every push to main;
pnpm deploy:pages does the same by hand.
The interactive examples gallery (packages/examples,
jbrowse.org/storybook/msa) deploys separately and must be run locally
(pnpm deploy:storybook, needs AWS credentials).