[{"data":1,"prerenderedAt":188},["ShallowReactive",2],{"doc-\u002Fdocs\u002Fwebsite":3},{"id":4,"title":5,"body":6,"description":180,"extension":181,"meta":182,"navigation":183,"path":184,"seo":185,"stem":186,"__hash__":187},"content\u002Fdocs\u002Fwebsite.md","Build the website",{"type":7,"value":8,"toc":176},"minimark",[9,13,33,40,93,98,146,150,172],[10,11,5],"h1",{"id":12},"build-the-website",[14,15,16,17,21,22,25,26,29,30,32],"p",{},"The site is a Nuxt 4 + UnoCSS app in ",[18,19,20],"code",{},"site\u002F"," (SSG, deployed to GitHub Pages).\nIt renders the Markdown in ",[18,23,24],{},"docs\u002F"," directly via ",[18,27,28],{},"@nuxt\u002Fcontent"," — the ",[18,31,24],{},"\nMarkdown stays the single source of truth; never maintain copies.",[14,34,35,36,39],{},"Toolchain: mise provisions Node 24 + pnpm 12 (",[18,37,38],{},"mise.toml",").",[41,42,47],"pre",{"className":43,"code":44,"language":45,"meta":46,"style":46},"language-bash shiki shiki-themes github-light github-dark","mise install          # node + pnpm (plus python\u002Fuv for the rest)\nmise run site         # pnpm install + nuxi generate → site\u002F.output\u002Fpublic\nmise run site-preview # serve on http:\u002F\u002Flocalhost:8000\n","bash","",[18,48,49,66,80],{"__ignoreMap":46},[50,51,54,58,62],"span",{"class":52,"line":53},"line",1,[50,55,57],{"class":56},"sScJk","mise",[50,59,61],{"class":60},"sZZnC"," install",[50,63,65],{"class":64},"sJ8bj","          # node + pnpm (plus python\u002Fuv for the rest)\n",[50,67,69,71,74,77],{"class":52,"line":68},2,[50,70,57],{"class":56},[50,72,73],{"class":60}," run",[50,75,76],{"class":60}," site",[50,78,79],{"class":64},"         # pnpm install + nuxi generate → site\u002F.output\u002Fpublic\n",[50,81,83,85,87,90],{"class":52,"line":82},3,[50,84,57],{"class":56},[50,86,73],{"class":60},[50,88,89],{"class":60}," site-preview",[50,91,92],{"class":64}," # serve on http:\u002F\u002Flocalhost:8000\n",[94,95,97],"h2",{"id":96},"conventions","Conventions",[99,100,101,109,124,139],"ul",{},[102,103,104,105,108],"li",{},"Visual system: ",[18,106,107],{},"DESIGN.md"," (Linnaean botanical specimen world — paper,\nink green, Fraunces serif, specimen-plate tables).",[102,110,111,112,115,116,119,120,123],{},"Landing + genus table live in ",[18,113,114],{},"site\u002Fapp\u002Fpages\u002Findex.vue","; doc pages render\n",[18,117,118],{},"docs\u002F*.md"," through ",[18,121,122],{},"app\u002Fpages\u002Fdocs\u002F[...slug].vue",".",[102,125,126,127,130,131,134,135,138],{},"Keep plain-Markdown docs — no Sphinx\u002FMyST directives (",[18,128,129],{},"{toctree}",",\n",[18,132,133],{},"{include}",", ",[18,136,137],{},"{eval-rst}","); Nuxt Content renders standard Markdown + tables.",[102,140,141,142,145],{},"Figures stay in ",[18,143,144],{},"docs\u002Ffigures\u002F"," and are referenced by relative path.",[94,147,149],{"id":148},"github-pages","GitHub Pages",[14,151,152,155,156,159,160,163,164,168,169,171],{},[18,153,154],{},".github\u002Fworkflows\u002Fwebsite.yml"," builds pull requests without publishing and\ndeploys ",[18,157,158],{},".output\u002Fpublic"," on ",[18,161,162],{},"main",". Set Pages source to ",[165,166,167],"strong",{},"GitHub Actions","\nbefore the first deploy; it uses the ",[18,170,148],{}," environment and needs no\nsecrets or external hosting.",[173,174,175],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":46,"searchDepth":68,"depth":82,"links":177},[178,179],{"id":96,"depth":68,"text":97},{"id":148,"depth":68,"text":149},"The site is a Nuxt 4 + UnoCSS app in site\u002F (SSG, deployed to GitHub Pages).\nIt renders the Markdown in docs\u002F directly via @nuxt\u002Fcontent — the docs\u002F\nMarkdown stays the single source of truth; never maintain copies.","md",{},true,"\u002Fdocs\u002Fwebsite",{"title":5,"description":180},"docs\u002Fwebsite","hUfmT-Lz0wcZv9vb4ahpwo0WOSPSUwyk2mXSKlzYjfg",1790560641962]