Area devoted to AI projects of the VES Technology Committee. Built with Astro → static output → deployed to GitHub Pages.
npm install
npm run dev # http://localhost:4321/AI/src/layouts/BaseLayout.astro— wraps every page in the shared nav/footer.src/components/Nav.astro— the single place the navigation scheme is defined. Edit thelinksarray here to add/remove nav items site-wide.src/components/islands/— interactive (JS-hydrated) components, e.g.DamicusExplorer.jsx. Everything else on the site ships zero JS.src/content/docs/— markdown pages, including ones synced from Google Docs.src/lib/base.ts—withBase().astro.config.mjssetsbase: '/AI'with no trailing slash, so building URLs by concatenatingimport.meta.env.BASE_URLyields/AIabout/. Always route internal links and asset paths throughwithBase()instead.public/Da-M-I-C-Us/— the working group's standalone prototypes (classifier, policy maker, compare shell), the one-page summary and the icon set. These are self-contained offline HTML files served verbatim, deliberately kept at their original paths so existing links to.../AI/Da-M-I-C-Us/...keep resolving.scripts/fetch-gdocs.mjs— pulls specified Google Docs as HTML, converts to markdown, and writes them intosrc/content/docs/. Runs automatically before every build (prebuildnpm script). Add more docs to theDOCSarray in that file as needed. Docs must be shared as "Anyone with the link can view".
Push to main → .github/workflows/deploy.yml builds (including the Google
Docs sync) and deploys dist/ to GitHub Pages automatically.
One-time repo setting: Settings → Pages → Source → "GitHub Actions" (instead of "Deploy from a branch").
- Add a
.astrofile undersrc/pages/(or a markdown file undersrc/content/docs/for content-heavy pages). - Wrap it in
<BaseLayout title="...">...</BaseLayout>. - Add it to the
linksarray insrc/components/Nav.astroif it should appear in the nav.