Landing page and documentation site for rustique, an Eloquent-style ORM for Rust.
Built with Astro as a fully static site. No UI framework; interactive bits are small vanilla scripts. Search is Pagefind, built from the generated pages.
npm install
npm run dev # http://localhost:4321, search is unavailable in dev
npm run build # astro build + pagefind index into dist/
npm run preview # serve dist/Doc pages live in src/content/docs/*.md and are generated from the markdown in the main repo (rustique/rustique/docs). Do not edit them by hand; change the source and re-sync:
npm run sync-docs # expects ../rustique next to this repo
node scripts/sync-docs.mjs /path/to/rustique/rustique/docsThe script strips the H1 (the title comes from frontmatter), rewrites relative links to /docs/<slug>/, drops rustdoc hidden # lines from Rust blocks, and writes the sidebar metadata (group, order, title, description) from the table embedded in it. Add new pages there.
src/pages/index.astrolanding page, data insrc/data/landing.tssrc/pages/docs/[slug].astroandsrc/layouts/DocPage.astrodocs pages, sidebar tree insrc/data/docs.tssrc/styles/design tokens and shared classes;shiki-rustique.jsonis the code themedesign/the original design artboards the site was built frompublic/favicon and logo
After changing the Shiki theme or astro.config.mjs, delete .astro/ and node_modules/.astro/ before rebuilding, or cached highlighting stays.