[{"data":1,"prerenderedAt":1810},["ShallowReactive",2],{"navigation":3,"api-navigation":109,"\u002Fdocs\u002Fdeployment":110,"docyard:crossref-index":1800},[4,14,97,101,105],{"title":5,"path":6,"stem":7,"children":8,"page":13},"Authoring","\u002Fauthoring","authoring",[9],{"title":10,"path":11,"stem":12},"Markdoc","\u002Fauthoring\u002Fmarkdoc","authoring\u002Fmarkdoc",false,{"title":15,"path":16,"stem":17,"children":18},"Docs","\u002Fdocs","docs",[19,22,26,30,34,55,59,63,93],{"title":20,"path":16,"stem":21},"Documentation","docs\u002Findex",{"title":23,"path":24,"stem":25},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started",{"title":27,"path":28,"stem":29},"Flake Module","\u002Fdocs\u002Fflake-module","docs\u002F2.flake-module",{"title":31,"path":32,"stem":33},"CLI Reference","\u002Fdocs\u002Fcli","docs\u002F3.cli",{"title":5,"path":35,"stem":36,"children":37},"\u002Fdocs\u002Fauthoring","docs\u002F4.authoring\u002Findex",[38,39,43,47,51],{"title":5,"path":35,"stem":36},{"title":40,"path":41,"stem":42},"Quarto Files","\u002Fdocs\u002Fauthoring\u002Fquarto","docs\u002F4.authoring\u002F1.quarto",{"title":44,"path":45,"stem":46},"Citations","\u002Fdocs\u002Fauthoring\u002Fcitations","docs\u002F4.authoring\u002F2.citations",{"title":48,"path":49,"stem":50},"Callouts","\u002Fdocs\u002Fauthoring\u002Fcallouts","docs\u002F4.authoring\u002F3.callouts",{"title":52,"path":53,"stem":54},"Cross-References","\u002Fdocs\u002Fauthoring\u002Fcross-references","docs\u002F4.authoring\u002F4.cross-references",{"title":56,"path":57,"stem":58},"Deployment","\u002Fdocs\u002Fdeployment","docs\u002F5.deployment",{"title":60,"path":61,"stem":62},"Search","\u002Fdocs\u002Fsearch","docs\u002F6.search",{"title":64,"path":65,"stem":66,"children":67},"Comparisons","\u002Fdocs\u002Fcomparison","docs\u002F7.comparison\u002Findex",[68,69,73,77,81,85,89],{"title":64,"path":65,"stem":66},{"title":70,"path":71,"stem":72},"Docyard vs. Docusaurus","\u002Fdocs\u002Fcomparison\u002Fdocusaurus","docs\u002F7.comparison\u002F1.docusaurus",{"title":74,"path":75,"stem":76},"Docyard vs. Sphinx","\u002Fdocs\u002Fcomparison\u002Fsphinx","docs\u002F7.comparison\u002F2.sphinx",{"title":78,"path":79,"stem":80},"Docyard vs. MkDocs","\u002Fdocs\u002Fcomparison\u002Fmkdocs","docs\u002F7.comparison\u002F3.mkdocs",{"title":82,"path":83,"stem":84},"Docyard vs. VitePress","\u002Fdocs\u002Fcomparison\u002Fvitepress","docs\u002F7.comparison\u002F4.vitepress",{"title":86,"path":87,"stem":88},"Docyard vs. Starlight","\u002Fdocs\u002Fcomparison\u002Fstarlight","docs\u002F7.comparison\u002F5.starlight",{"title":90,"path":91,"stem":92},"Docyard vs. GitBook","\u002Fdocs\u002Fcomparison\u002Fgitbook","docs\u002F7.comparison\u002F6.gitbook",{"title":94,"path":95,"stem":96},"Accessibility","\u002Fdocs\u002Faccessibility","docs\u002F8.accessibility",{"title":98,"path":99,"stem":100},"Docyard","\u002F","index",{"title":102,"path":103,"stem":104},"Notebook Demo","\u002Fnotebook-demo","notebook-demo",{"title":106,"path":107,"stem":108},"References","\u002Freferences","references",[],{"id":111,"title":56,"body":112,"description":1795,"extension":1796,"meta":1797,"navigation":772,"path":57,"seo":1798,"stem":58,"__hash__":1799},"content\u002Fdocs\u002F5.deployment.md",{"type":113,"value":114,"toc":1777},"minimark",[115,119,135,148,153,156,330,345,356,367,398,403,410,552,559,699,703,716,720,731,735,742,1211,1217,1221,1230,1304,1318,1362,1365,1375,1379,1392,1396,1525,1529,1542,1560,1573,1576,1616,1620,1628,1689,1693,1699,1752,1759,1763,1770,1773],[116,117,56],"h1",{"id":118},"deployment",[120,121,122,126,127,130,131,134],"p",{},[123,124,125],"code",{},"nix run .#docs-build"," produces a static site in ",[123,128,129],{},"docs\u002Fdist\u002F"," (the\ndefault ",[123,132,133],{},"site.output","). That directory can be uploaded to any static host with\nno server-side runtime required.",[120,136,137,138,147],{},"This page shows ready-to-use GitHub Actions workflows for the two most common\ntargets. Workflow templates are also available in\n",[139,140,144],"a",{"href":141,"rel":142},"https:\u002F\u002Fgithub.com\u002Fkhwstolle\u002Fdocyard\u002Ftree\u002Fmaster\u002Ftemplates\u002Fworkflows",[143],"nofollow",[123,145,146],{},"templates\u002Fworkflows\u002F","\nto copy into your own repository.",[149,150,152],"h2",{"id":151},"render-modes","Render modes",[120,154,155],{},"Docyard supports three render modes and two Cloudflare deployment targets. The\nmode and target together determine what Nuxt builds and what artifact is\ndeployed.",[157,158,159,182],"table",{},[160,161,162],"thead",{},[163,164,165,171,176,179],"tr",{},[166,167,168],"th",{},[123,169,170],{},"render.mode",[166,172,173],{},[123,174,175],{},"render.target",[166,177,178],{},"Build command",[166,180,181],{},"Deployed artifact",[183,184,185,207,230,250,273,292,310],"tbody",{},[163,186,187,194,197,202],{},[188,189,190,193],"td",{},[123,191,192],{},"static"," (default)",[188,195,196],{},"any",[188,198,199],{},[123,200,201],{},"nuxt generate",[188,203,204],{},[123,205,206],{},".output\u002Fpublic\u002F",[163,208,209,214,219,224],{},[188,210,211],{},[123,212,213],{},"hybrid",[188,215,216],{},[123,217,218],{},"node",[188,220,221],{},[123,222,223],{},"nuxt build",[188,225,226,229],{},[123,227,228],{},".output\u002F"," (node-server preset)",[163,231,232,236,241,245],{},[188,233,234],{},[123,235,213],{},[188,237,238],{},[123,239,240],{},"cloudflare-pages",[188,242,243],{},[123,244,223],{},[188,246,247,249],{},[123,248,206],{}," (CF Worker embedded)",[163,251,252,256,261,265],{},[188,253,254],{},[123,255,213],{},[188,257,258],{},[123,259,260],{},"cloudflare-workers",[188,262,263],{},[123,264,223],{},[188,266,267,269,270],{},[123,268,228],{}," + ",[123,271,272],{},"wrangler.toml",[163,274,275,280,284,288],{},[188,276,277],{},[123,278,279],{},"ssr",[188,281,282],{},[123,283,218],{},[188,285,286],{},[123,287,223],{},[188,289,290,229],{},[123,291,228],{},[163,293,294,298,302,306],{},[188,295,296],{},[123,297,279],{},[188,299,300],{},[123,301,240],{},[188,303,304],{},[123,305,223],{},[188,307,308,249],{},[123,309,206],{},[163,311,312,316,320,324],{},[188,313,314],{},[123,315,279],{},[188,317,318],{},[123,319,260],{},[188,321,322],{},[123,323,223],{},[188,325,326,269,328],{},[123,327,228],{},[123,329,272],{},[120,331,332,337,338,340,341,344],{},[333,334,335],"strong",{},[123,336,192],{}," (default) runs ",[123,339,201],{}," and produces a fully static bundle.\nNo ",[123,342,343],{},"render.*"," options are needed; today's behavior is unchanged.",[120,346,347,351,352,355],{},[333,348,349],{},[123,350,213],{}," pre-renders all content pages by default (crawl + force-prerender)\nand supports opt-in SSR routes via ",[123,353,354],{},"render.routeRules",". This keeps the\nCloudflare Worker small — most weight stays in static CDN assets.",[120,357,358,362,363,366],{},[333,359,360],{},[123,361,279],{}," renders on demand. Only routes listed in ",[123,364,365],{},"render.prerender"," are\nfrozen at build time; everything else is rendered at the edge on each request.",[120,368,369,372,373,376,377,379,380,382,383,389,390,393,394,397],{},[123,370,371],{},"llms.txt"," \u002F ",[123,374,375],{},"llms-full.txt"," remain static build artifacts in every mode.\nOG images remain build-time only; they are generated on ",[123,378,218],{}," and ",[123,381,192],{},"\ntargets, but ",[333,384,385,386,388],{},"not on Cloudflare targets in ",[123,387,213],{}," mode"," — ",[123,391,392],{},"@nuxt\u002Fcontent","\nuses the D1 adapter at compile time for the CF preset, and D1 bindings are not\npresent in a local build. Use ",[123,395,396],{},"render.mode = \"static\""," if social cards are\nrequired on Cloudflare Pages.",[399,400,402],"h3",{"id":401},"options-reference","Options reference",[120,404,405],{},[333,406,407],{},[123,408,409],{},"site.render.*",[157,411,412,428],{},[160,413,414],{},[163,415,416,419,422,425],{},[166,417,418],{},"Option",[166,420,421],{},"Type",[166,423,424],{},"Default",[166,426,427],{},"Description",[183,429,430,455,483,502,525],{},[163,431,432,436,448,452],{},[188,433,434],{},[123,435,170],{},[188,437,438,441,442,441,445],{},[123,439,440],{},"\"static\""," | ",[123,443,444],{},"\"hybrid\"",[123,446,447],{},"\"ssr\"",[188,449,450],{},[123,451,440],{},[188,453,454],{},"Render mode",[163,456,457,461,472,476],{},[188,458,459],{},[123,460,175],{},[188,462,463,441,466,441,469],{},[123,464,465],{},"\"node\"",[123,467,468],{},"\"cloudflare-pages\"",[123,470,471],{},"\"cloudflare-workers\"",[188,473,474],{},[123,475,465],{},[188,477,478,479,482],{},"Deploy runtime (ignored when ",[123,480,481],{},"mode = \"static\"",")",[163,484,485,489,494,499],{},[188,486,487],{},[123,488,365],{},[188,490,491],{},[123,492,493],{},"[string]",[188,495,496],{},[123,497,498],{},"[]",[188,500,501],{},"Extra routes to force-prerender on top of the crawler",[163,503,504,508,513,518],{},[188,505,506],{},[123,507,354],{},[188,509,510],{},[123,511,512],{},"attrs",[188,514,515],{},[123,516,517],{},"{}",[188,519,520,521,524],{},"Merged into Nitro ",[123,522,523],{},"routeRules"," (per-route SSR\u002FISR\u002Fheaders escape hatch)",[163,526,527,532,540,544],{},[188,528,529],{},[123,530,531],{},"render.contentRuntime",[188,533,534,441,537],{},[123,535,536],{},"\"build\"",[123,538,539],{},"\"d1\"",[188,541,542],{},[123,543,536],{},[188,545,546,548,549,551],{},[123,547,536],{}," ships the SQLite dump; ",[123,550,539],{}," binds Cloudflare D1 at the edge (Cloudflare targets only)",[120,553,554],{},[333,555,556],{},[123,557,558],{},"site.deploy.*",[157,560,561,573],{},[160,562,563],{},[163,564,565,567,569,571],{},[166,566,418],{},[166,568,421],{},[166,570,424],{},[166,572,427],{},[183,574,575,602,628,650,674],{},[163,576,577,582,591,595],{},[188,578,579],{},[123,580,581],{},"deploy.provider",[188,583,584,441,587,441,589],{},[123,585,586],{},"\"none\"",[123,588,468],{},[123,590,471],{},[188,592,593],{},[123,594,586],{},[188,596,597,598,601],{},"Enables ",[123,599,600],{},"nix run .#docs-deploy"," and the generated workflow",[163,603,604,609,614,619],{},[188,605,606],{},[123,607,608],{},"deploy.projectName",[188,610,611],{},[123,612,613],{},"string",[188,615,616],{},[123,617,618],{},"\"\"",[188,620,621,622,625,626,482],{},"Cloudflare Pages\u002FWorkers project name (required when ",[123,623,624],{},"provider"," is not ",[123,627,586],{},[163,629,630,635,640,645],{},[188,631,632],{},[123,633,634],{},"deploy.branch",[188,636,637],{},[123,638,639],{},"string | null",[188,641,642],{},[123,643,644],{},"null",[188,646,647,648],{},"Deploy branch (Pages only); uses the wrangler default when ",[123,649,644],{},[163,651,652,657,662,667],{},[188,653,654],{},[123,655,656],{},"deploy.emitWorkflow",[188,658,659],{},[123,660,661],{},"bool",[188,663,664],{},[123,665,666],{},"true",[188,668,669,670,673],{},"Write ",[123,671,672],{},".github\u002Fworkflows\u002Fdocyard-cloudflare.yml"," during managed prep",[163,675,676,681,685,689],{},[188,677,678],{},[123,679,680],{},"deploy.d1DatabaseId",[188,682,683],{},[123,684,639],{},[188,686,687],{},[123,688,644],{},[188,690,691,692,695,696],{},"Cloudflare D1 database ID (required when ",[123,693,694],{},"render.contentRuntime = \"d1\"","); obtain with ",[123,697,698],{},"wrangler d1 create \u003CprojectName>-content",[149,700,702],{"id":701},"github-pages","GitHub Pages",[120,704,705,706,708,709,711,712,715],{},"GitHub Pages is the default target — ",[123,707,396],{}," (the default) and\nno ",[123,710,343],{}," or ",[123,713,714],{},"deploy.*"," options are needed.",[399,717,719],{"id":718},"_1-enable-github-pages","1. Enable GitHub Pages",[120,721,722,723,726,727,730],{},"In your repository go to ",[333,724,725],{},"Settings → Pages"," and set the Source to\n",[333,728,729],{},"GitHub Actions",".",[399,732,734],{"id":733},"_2-add-the-workflow","2. Add the workflow",[120,736,737,738,741],{},"Create ",[123,739,740],{},".github\u002Fworkflows\u002Fdocs.yml",":",[743,744,749],"pre",{"className":745,"code":746,"language":747,"meta":748,"style":748},"language-yaml shiki shiki-themes material-theme-lighter github-light github-dark","name: Docs\n\non:\n  push:\n    branches: [main, master]\n  workflow_dispatch:\n\nconcurrency:\n  group: pages-${{ github.ref }}\n  cancel-in-progress: true\n\npermissions:\n  contents: read\n  pages: write\n  id-token: write\n\njobs:\n  build:\n    name: Build\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\u002Fcheckout@v4\n\n      - name: Install Nix\n        uses: DeterminateSystems\u002Fnix-installer-action@v14\n\n      - name: Cache Nix store\n        uses: DeterminateSystems\u002Fmagic-nix-cache-action@v8\n\n      - name: Build docs\n        run: nix run .#docs-build\n\n      - name: Upload Pages artifact\n        uses: actions\u002Fupload-pages-artifact@v3\n        with:\n          path: docs\u002Fdist\n\n  deploy:\n    name: Deploy\n    needs: build\n    runs-on: ubuntu-latest\n    environment:\n      name: github-pages\n      url: ${{ steps.deployment.outputs.page_url }}\n    steps:\n      - name: Deploy to GitHub Pages\n        id: deployment\n        uses: actions\u002Fdeploy-pages@v4\n","yaml","",[123,750,751,767,774,784,792,815,823,828,836,847,858,863,871,882,893,903,908,916,924,935,946,954,968,973,986,997,1002,1014,1024,1029,1041,1052,1057,1069,1079,1087,1098,1103,1111,1121,1132,1141,1149,1160,1171,1178,1190,1201],{"__ignoreMap":748},[752,753,756,760,763],"span",{"class":754,"line":755},"line",1,[752,757,759],{"class":758},"sQzsp","name",[752,761,741],{"class":762},"sP7_E",[752,764,766],{"class":765},"s_sjI"," Docs\n",[752,768,770],{"class":754,"line":769},2,[752,771,773],{"emptyLinePlaceholder":772},true,"\n",[752,775,777,781],{"class":754,"line":776},3,[752,778,780],{"class":779},"syTEX","on",[752,782,783],{"class":762},":\n",[752,785,787,790],{"class":754,"line":786},4,[752,788,789],{"class":758},"  push",[752,791,783],{"class":762},[752,793,795,798,800,803,806,809,812],{"class":754,"line":794},5,[752,796,797],{"class":758},"    branches",[752,799,741],{"class":762},[752,801,802],{"class":762}," [",[752,804,805],{"class":765},"main",[752,807,808],{"class":762},",",[752,810,811],{"class":765}," master",[752,813,814],{"class":762},"]\n",[752,816,818,821],{"class":754,"line":817},6,[752,819,820],{"class":758},"  workflow_dispatch",[752,822,783],{"class":762},[752,824,826],{"class":754,"line":825},7,[752,827,773],{"emptyLinePlaceholder":772},[752,829,831,834],{"class":754,"line":830},8,[752,832,833],{"class":758},"concurrency",[752,835,783],{"class":762},[752,837,839,842,844],{"class":754,"line":838},9,[752,840,841],{"class":758},"  group",[752,843,741],{"class":762},[752,845,846],{"class":765}," pages-${{ github.ref }}\n",[752,848,850,853,855],{"class":754,"line":849},10,[752,851,852],{"class":758},"  cancel-in-progress",[752,854,741],{"class":762},[752,856,857],{"class":779}," true\n",[752,859,861],{"class":754,"line":860},11,[752,862,773],{"emptyLinePlaceholder":772},[752,864,866,869],{"class":754,"line":865},12,[752,867,868],{"class":758},"permissions",[752,870,783],{"class":762},[752,872,874,877,879],{"class":754,"line":873},13,[752,875,876],{"class":758},"  contents",[752,878,741],{"class":762},[752,880,881],{"class":765}," read\n",[752,883,885,888,890],{"class":754,"line":884},14,[752,886,887],{"class":758},"  pages",[752,889,741],{"class":762},[752,891,892],{"class":765}," write\n",[752,894,896,899,901],{"class":754,"line":895},15,[752,897,898],{"class":758},"  id-token",[752,900,741],{"class":762},[752,902,892],{"class":765},[752,904,906],{"class":754,"line":905},16,[752,907,773],{"emptyLinePlaceholder":772},[752,909,911,914],{"class":754,"line":910},17,[752,912,913],{"class":758},"jobs",[752,915,783],{"class":762},[752,917,919,922],{"class":754,"line":918},18,[752,920,921],{"class":758},"  build",[752,923,783],{"class":762},[752,925,927,930,932],{"class":754,"line":926},19,[752,928,929],{"class":758},"    name",[752,931,741],{"class":762},[752,933,934],{"class":765}," Build\n",[752,936,938,941,943],{"class":754,"line":937},20,[752,939,940],{"class":758},"    runs-on",[752,942,741],{"class":762},[752,944,945],{"class":765}," ubuntu-latest\n",[752,947,949,952],{"class":754,"line":948},21,[752,950,951],{"class":758},"    steps",[752,953,783],{"class":762},[752,955,957,960,963,965],{"class":754,"line":956},22,[752,958,959],{"class":762},"      -",[752,961,962],{"class":758}," uses",[752,964,741],{"class":762},[752,966,967],{"class":765}," actions\u002Fcheckout@v4\n",[752,969,971],{"class":754,"line":970},23,[752,972,773],{"emptyLinePlaceholder":772},[752,974,976,978,981,983],{"class":754,"line":975},24,[752,977,959],{"class":762},[752,979,980],{"class":758}," name",[752,982,741],{"class":762},[752,984,985],{"class":765}," Install Nix\n",[752,987,989,992,994],{"class":754,"line":988},25,[752,990,991],{"class":758},"        uses",[752,993,741],{"class":762},[752,995,996],{"class":765}," DeterminateSystems\u002Fnix-installer-action@v14\n",[752,998,1000],{"class":754,"line":999},26,[752,1001,773],{"emptyLinePlaceholder":772},[752,1003,1005,1007,1009,1011],{"class":754,"line":1004},27,[752,1006,959],{"class":762},[752,1008,980],{"class":758},[752,1010,741],{"class":762},[752,1012,1013],{"class":765}," Cache Nix store\n",[752,1015,1017,1019,1021],{"class":754,"line":1016},28,[752,1018,991],{"class":758},[752,1020,741],{"class":762},[752,1022,1023],{"class":765}," DeterminateSystems\u002Fmagic-nix-cache-action@v8\n",[752,1025,1027],{"class":754,"line":1026},29,[752,1028,773],{"emptyLinePlaceholder":772},[752,1030,1032,1034,1036,1038],{"class":754,"line":1031},30,[752,1033,959],{"class":762},[752,1035,980],{"class":758},[752,1037,741],{"class":762},[752,1039,1040],{"class":765}," Build docs\n",[752,1042,1044,1047,1049],{"class":754,"line":1043},31,[752,1045,1046],{"class":758},"        run",[752,1048,741],{"class":762},[752,1050,1051],{"class":765}," nix run .#docs-build\n",[752,1053,1055],{"class":754,"line":1054},32,[752,1056,773],{"emptyLinePlaceholder":772},[752,1058,1060,1062,1064,1066],{"class":754,"line":1059},33,[752,1061,959],{"class":762},[752,1063,980],{"class":758},[752,1065,741],{"class":762},[752,1067,1068],{"class":765}," Upload Pages artifact\n",[752,1070,1072,1074,1076],{"class":754,"line":1071},34,[752,1073,991],{"class":758},[752,1075,741],{"class":762},[752,1077,1078],{"class":765}," actions\u002Fupload-pages-artifact@v3\n",[752,1080,1082,1085],{"class":754,"line":1081},35,[752,1083,1084],{"class":758},"        with",[752,1086,783],{"class":762},[752,1088,1090,1093,1095],{"class":754,"line":1089},36,[752,1091,1092],{"class":758},"          path",[752,1094,741],{"class":762},[752,1096,1097],{"class":765}," docs\u002Fdist\n",[752,1099,1101],{"class":754,"line":1100},37,[752,1102,773],{"emptyLinePlaceholder":772},[752,1104,1106,1109],{"class":754,"line":1105},38,[752,1107,1108],{"class":758},"  deploy",[752,1110,783],{"class":762},[752,1112,1114,1116,1118],{"class":754,"line":1113},39,[752,1115,929],{"class":758},[752,1117,741],{"class":762},[752,1119,1120],{"class":765}," Deploy\n",[752,1122,1124,1127,1129],{"class":754,"line":1123},40,[752,1125,1126],{"class":758},"    needs",[752,1128,741],{"class":762},[752,1130,1131],{"class":765}," build\n",[752,1133,1135,1137,1139],{"class":754,"line":1134},41,[752,1136,940],{"class":758},[752,1138,741],{"class":762},[752,1140,945],{"class":765},[752,1142,1144,1147],{"class":754,"line":1143},42,[752,1145,1146],{"class":758},"    environment",[752,1148,783],{"class":762},[752,1150,1152,1155,1157],{"class":754,"line":1151},43,[752,1153,1154],{"class":758},"      name",[752,1156,741],{"class":762},[752,1158,1159],{"class":765}," github-pages\n",[752,1161,1163,1166,1168],{"class":754,"line":1162},44,[752,1164,1165],{"class":758},"      url",[752,1167,741],{"class":762},[752,1169,1170],{"class":765}," ${{ steps.deployment.outputs.page_url }}\n",[752,1172,1174,1176],{"class":754,"line":1173},45,[752,1175,951],{"class":758},[752,1177,783],{"class":762},[752,1179,1181,1183,1185,1187],{"class":754,"line":1180},46,[752,1182,959],{"class":762},[752,1184,980],{"class":758},[752,1186,741],{"class":762},[752,1188,1189],{"class":765}," Deploy to GitHub Pages\n",[752,1191,1193,1196,1198],{"class":754,"line":1192},47,[752,1194,1195],{"class":758},"        id",[752,1197,741],{"class":762},[752,1199,1200],{"class":765}," deployment\n",[752,1202,1204,1206,1208],{"class":754,"line":1203},48,[752,1205,991],{"class":758},[752,1207,741],{"class":762},[752,1209,1210],{"class":765}," actions\u002Fdeploy-pages@v4\n",[120,1212,1213,1216],{},[123,1214,1215],{},"DeterminateSystems\u002Fmagic-nix-cache-action"," caches Nix store paths across\nruns, cutting subsequent build times significantly.",[399,1218,1220],{"id":1219},"_3-set-the-canonical-url","3. Set the canonical URL",[120,1222,1223,1224,1227,1228,741],{},"Add ",[123,1225,1226],{},"url"," to your flake config so the site generates correct absolute links and\na valid ",[123,1229,371],{},[743,1231,1235],{"className":1232,"code":1233,"language":1234,"meta":748,"style":748},"language-nix shiki shiki-themes material-theme-lighter github-light github-dark","docyard.site = {\n  managed = true;\n  url     = \"https:\u002F\u002Fyour-org.github.io\u002Fyour-repo\";\n  # ...\n};\n","nix",[123,1236,1237,1256,1271,1291,1297],{"__ignoreMap":748},[752,1238,1239,1243,1246,1249,1253],{"class":754,"line":755},[752,1240,1242],{"class":1241},"s99_P","docyard",[752,1244,730],{"class":1245},"smGrS",[752,1247,1248],{"class":1241},"site",[752,1250,1252],{"class":1251},"srjyR"," =",[752,1254,1255],{"class":762}," {\n",[752,1257,1258,1262,1264,1268],{"class":754,"line":769},[752,1259,1261],{"class":1260},"s9AJx","  managed",[752,1263,1252],{"class":1245},[752,1265,1267],{"class":1266},"s39Yj"," true",[752,1269,1270],{"class":762},";\n",[752,1272,1273,1276,1279,1283,1286,1289],{"class":754,"line":776},[752,1274,1275],{"class":1260},"  url",[752,1277,1278],{"class":1245},"     =",[752,1280,1282],{"class":1281},"sjJ54"," \"",[752,1284,1285],{"class":765},"https:\u002F\u002Fyour-org.github.io\u002Fyour-repo",[752,1287,1288],{"class":1281},"\"",[752,1290,1270],{"class":762},[752,1292,1293],{"class":754,"line":786},[752,1294,1296],{"class":1295},"sutJx","  # ...\n",[752,1298,1299,1302],{"class":754,"line":794},[752,1300,1301],{"class":762},"}",[752,1303,1270],{"class":1251},[120,1305,1306,1307,1310,1311,1314,1315,741],{},"If your repository name differs from the Pages domain root (i.e. you're not at\n",[123,1308,1309],{},"your-org.github.io","), add a ",[123,1312,1313],{},"base"," in ",[123,1316,1317],{},"site.extraEnv",[743,1319,1321],{"className":1232,"code":1320,"language":1234,"meta":748,"style":748},"docyard.site.extraEnv = {\n  NUXT_APP_BASE_URL = \"\u002Fyour-repo\u002F\";\n};\n",[123,1322,1323,1340,1356],{"__ignoreMap":748},[752,1324,1325,1327,1329,1331,1333,1336,1338],{"class":754,"line":755},[752,1326,1242],{"class":1241},[752,1328,730],{"class":1245},[752,1330,1248],{"class":1241},[752,1332,730],{"class":1245},[752,1334,1335],{"class":1241},"extraEnv",[752,1337,1252],{"class":1251},[752,1339,1255],{"class":762},[752,1341,1342,1345,1347,1349,1352,1354],{"class":754,"line":769},[752,1343,1344],{"class":1260},"  NUXT_APP_BASE_URL",[752,1346,1252],{"class":1245},[752,1348,1282],{"class":1281},[752,1350,1351],{"class":765},"\u002Fyour-repo\u002F",[752,1353,1288],{"class":1281},[752,1355,1270],{"class":762},[752,1357,1358,1360],{"class":754,"line":776},[752,1359,1301],{"class":762},[752,1361,1270],{"class":1251},[149,1363,1364],{"id":240},"Cloudflare Pages",[120,1366,1367,1368,1371,1372,1374],{},"Cloudflare Pages runs Nuxt in ",[333,1369,1370],{},"hybrid or SSR mode"," via a Cloudflare Worker.\nIn managed mode, Docyard sets the correct Nitro preset, switches to\n",[123,1373,223],{},", and optionally generates the GitHub Actions workflow.",[399,1376,1378],{"id":1377},"_1-create-a-pages-project","1. Create a Pages project",[120,1380,1381,1382,1387,1388,1391],{},"In the ",[139,1383,1386],{"href":1384,"rel":1385},"https:\u002F\u002Fdash.cloudflare.com\u002F",[143],"Cloudflare dashboard"," go to\n",[333,1389,1390],{},"Workers & Pages → Create → Pages → Connect to Git"," and follow the prompts,\nor create an empty project to deploy via the API.",[399,1393,1395],{"id":1394},"_2-configure-the-flake","2. Configure the flake",[743,1397,1399],{"className":1232,"code":1398,"language":1234,"meta":748,"style":748},"docyard.site = {\n  managed    = true;\n  url        = \"https:\u002F\u002Fmyproject.pages.dev\";\n  render.mode    = \"hybrid\";\n  render.target  = \"cloudflare-pages\";\n  deploy.provider    = \"cloudflare-pages\";\n  deploy.projectName = \"myproject\";\n};\n",[123,1400,1401,1413,1424,1440,1461,1481,1499,1519],{"__ignoreMap":748},[752,1402,1403,1405,1407,1409,1411],{"class":754,"line":755},[752,1404,1242],{"class":1241},[752,1406,730],{"class":1245},[752,1408,1248],{"class":1241},[752,1410,1252],{"class":1251},[752,1412,1255],{"class":762},[752,1414,1415,1417,1420,1422],{"class":754,"line":769},[752,1416,1261],{"class":1260},[752,1418,1419],{"class":1245},"    =",[752,1421,1267],{"class":1266},[752,1423,1270],{"class":762},[752,1425,1426,1428,1431,1433,1436,1438],{"class":754,"line":776},[752,1427,1275],{"class":1260},[752,1429,1430],{"class":1245},"        =",[752,1432,1282],{"class":1281},[752,1434,1435],{"class":765},"https:\u002F\u002Fmyproject.pages.dev",[752,1437,1288],{"class":1281},[752,1439,1270],{"class":762},[752,1441,1442,1445,1448,1451,1453,1455,1457,1459],{"class":754,"line":786},[752,1443,1444],{"class":1260},"  render",[752,1446,730],{"class":1447},"su5hD",[752,1449,1450],{"class":1260},"mode",[752,1452,1419],{"class":1245},[752,1454,1282],{"class":1281},[752,1456,213],{"class":765},[752,1458,1288],{"class":1281},[752,1460,1270],{"class":762},[752,1462,1463,1465,1467,1470,1473,1475,1477,1479],{"class":754,"line":794},[752,1464,1444],{"class":1260},[752,1466,730],{"class":1447},[752,1468,1469],{"class":1260},"target",[752,1471,1472],{"class":1245},"  =",[752,1474,1282],{"class":1281},[752,1476,240],{"class":765},[752,1478,1288],{"class":1281},[752,1480,1270],{"class":762},[752,1482,1483,1485,1487,1489,1491,1493,1495,1497],{"class":754,"line":817},[752,1484,1108],{"class":1260},[752,1486,730],{"class":1447},[752,1488,624],{"class":1260},[752,1490,1419],{"class":1245},[752,1492,1282],{"class":1281},[752,1494,240],{"class":765},[752,1496,1288],{"class":1281},[752,1498,1270],{"class":762},[752,1500,1501,1503,1505,1508,1510,1512,1515,1517],{"class":754,"line":825},[752,1502,1108],{"class":1260},[752,1504,730],{"class":1447},[752,1506,1507],{"class":1260},"projectName",[752,1509,1252],{"class":1245},[752,1511,1282],{"class":1281},[752,1513,1514],{"class":765},"myproject",[752,1516,1288],{"class":1281},[752,1518,1270],{"class":762},[752,1520,1521,1523],{"class":754,"line":830},[752,1522,1301],{"class":762},[752,1524,1270],{"class":1251},[399,1526,1528],{"id":1527},"_3-add-secrets-and-run-the-build-once","3. Add secrets and run the build once",[120,1530,1223,1531,379,1534,1537,1538,1541],{},[123,1532,1533],{},"CLOUDFLARE_API_TOKEN",[123,1535,1536],{},"CLOUDFLARE_ACCOUNT_ID"," as repository secrets\n(",[333,1539,1540],{},"Settings → Secrets and variables → Actions","), then run:",[743,1543,1547],{"className":1544,"code":1545,"language":1546,"meta":748,"style":748},"language-bash shiki shiki-themes material-theme-lighter github-light github-dark","nix run .#docs-build\n","bash",[123,1548,1549],{"__ignoreMap":748},[752,1550,1551,1554,1557],{"class":754,"line":755},[752,1552,1234],{"class":1553},"sbgvK",[752,1555,1556],{"class":765}," run",[752,1558,1559],{"class":765}," .#docs-build\n",[120,1561,1562,1563,1566,1567,1569,1570,1572],{},"With ",[123,1564,1565],{},"deploy.emitWorkflow = true"," (the default), this writes\n",[123,1568,672],{}," into your repository. Commit and\npush it; subsequent pushes to ",[123,1571,805],{}," will build and deploy automatically.",[120,1574,1575],{},"Alternatively, deploy locally with credentials in your environment:",[743,1577,1579],{"className":1544,"code":1578,"language":1546,"meta":748,"style":748},"export CLOUDFLARE_API_TOKEN=...\nexport CLOUDFLARE_ACCOUNT_ID=...\nnix run .#docs-deploy\n",[123,1580,1581,1596,1607],{"__ignoreMap":748},[752,1582,1583,1587,1590,1593],{"class":754,"line":755},[752,1584,1586],{"class":1585},"sbsja","export",[752,1588,1589],{"class":1447}," CLOUDFLARE_API_TOKEN",[752,1591,1592],{"class":1245},"=",[752,1594,1595],{"class":1447},"...\n",[752,1597,1598,1600,1603,1605],{"class":754,"line":769},[752,1599,1586],{"class":1585},[752,1601,1602],{"class":1447}," CLOUDFLARE_ACCOUNT_ID",[752,1604,1592],{"class":1245},[752,1606,1595],{"class":1447},[752,1608,1609,1611,1613],{"class":754,"line":776},[752,1610,1234],{"class":1553},[752,1612,1556],{"class":765},[752,1614,1615],{"class":765}," .#docs-deploy\n",[149,1617,1619],{"id":1618},"other-static-hosts","Other static hosts",[120,1621,1622,1623,1625,1626,741],{},"Any host that accepts a directory of static files works. After running\n",[123,1624,125],{}," locally or in CI, upload ",[123,1627,129],{},[157,1629,1630,1640],{},[160,1631,1632],{},[163,1633,1634,1637],{},[166,1635,1636],{},"Host",[166,1638,1639],{},"Command \u002F action",[183,1641,1642,1652,1662,1672],{},[163,1643,1644,1647],{},[188,1645,1646],{},"Netlify",[188,1648,1649],{},[123,1650,1651],{},"netlify deploy --dir docs\u002Fdist --prod",[163,1653,1654,1657],{},[188,1655,1656],{},"Vercel",[188,1658,1659],{},[123,1660,1661],{},"vercel --cwd docs\u002Fdist --prod",[163,1663,1664,1667],{},[188,1665,1666],{},"AWS S3",[188,1668,1669],{},[123,1670,1671],{},"aws s3 sync docs\u002Fdist s3:\u002F\u002Fyour-bucket --delete",[163,1673,1674,1677],{},[188,1675,1676],{},"Firebase",[188,1678,1679,1682,1683,1314,1686,482],{},[123,1680,1681],{},"firebase deploy --only hosting"," (set ",[123,1684,1685],{},"public: docs\u002Fdist",[123,1687,1688],{},"firebase.json",[149,1690,1692],{"id":1691},"custom-output-directory","Custom output directory",[120,1694,1695,1696,1698],{},"If you prefer a different output path, set ",[123,1697,133],{}," in your flake config:",[743,1700,1702],{"className":1232,"code":1701,"language":1234,"meta":748,"style":748},"docyard.site = {\n  managed = true;\n  output  = \"public\";   # docs-build writes to public\u002F instead of docs\u002Fdist\u002F\n};\n",[123,1703,1704,1716,1726,1746],{"__ignoreMap":748},[752,1705,1706,1708,1710,1712,1714],{"class":754,"line":755},[752,1707,1242],{"class":1241},[752,1709,730],{"class":1245},[752,1711,1248],{"class":1241},[752,1713,1252],{"class":1251},[752,1715,1255],{"class":762},[752,1717,1718,1720,1722,1724],{"class":754,"line":769},[752,1719,1261],{"class":1260},[752,1721,1252],{"class":1245},[752,1723,1267],{"class":1266},[752,1725,1270],{"class":762},[752,1727,1728,1731,1733,1735,1738,1740,1743],{"class":754,"line":776},[752,1729,1730],{"class":1260},"  output",[752,1732,1472],{"class":1245},[752,1734,1282],{"class":1281},[752,1736,1737],{"class":765},"public",[752,1739,1288],{"class":1281},[752,1741,1742],{"class":762},";",[752,1744,1745],{"class":1295},"   # docs-build writes to public\u002F instead of docs\u002Fdist\u002F\n",[752,1747,1748,1750],{"class":754,"line":786},[752,1749,1301],{"class":762},[752,1751,1270],{"class":1251},[120,1753,1754,1755,1758],{},"Update ",[123,1756,1757],{},"path: docs\u002Fdist"," in the workflow to match.",[149,1760,1762],{"id":1761},"caching-build-times","Caching build times",[120,1764,1765,1766,1769],{},"The ",[123,1767,1768],{},"magic-nix-cache-action"," caches the full Nix store. On a cold run the\nfirst build downloads all dependencies; subsequent pushes only rebuild what\nchanged and typically complete in under two minutes.",[120,1771,1772],{},"For projects with Python or Rust API extraction, the extractor binaries are\nalso cached through the Nix store, so repeated CI runs pay no re-download cost.",[1774,1775,1776],"style",{},"html pre.shiki code .s99_P, html code.shiki .s99_P{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#E36209;--shiki-default-font-style:inherit;--shiki-dark:#FFAB70;--shiki-dark-font-style:inherit}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .srjyR, html code.shiki .srjyR{--shiki-light:#90A4AE;--shiki-light-font-style:inherit;--shiki-default:#B31D28;--shiki-default-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9AJx, html code.shiki .s9AJx{--shiki-light:#9C3EDA;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .s39Yj, html code.shiki .s39Yj{--shiki-light:#39ADB5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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);}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sQzsp, html code.shiki .sQzsp{--shiki-light:#E53935;--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .syTEX, html code.shiki .syTEX{--shiki-light:#FF5370;--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":748,"searchDepth":776,"depth":776,"links":1778},[1779,1782,1787,1792,1793,1794],{"id":151,"depth":769,"text":152,"children":1780},[1781],{"id":401,"depth":776,"text":402},{"id":701,"depth":769,"text":702,"children":1783},[1784,1785,1786],{"id":718,"depth":776,"text":719},{"id":733,"depth":776,"text":734},{"id":1219,"depth":776,"text":1220},{"id":240,"depth":769,"text":1364,"children":1788},[1789,1790,1791],{"id":1377,"depth":776,"text":1378},{"id":1394,"depth":776,"text":1395},{"id":1527,"depth":776,"text":1528},{"id":1618,"depth":769,"text":1619},{"id":1691,"depth":769,"text":1692},{"id":1761,"depth":769,"text":1762},"Deploy your docyard site to GitHub Pages, Cloudflare Pages, or any static host.","md",{},{"title":56,"description":1795},"liJzOdeMoLGKDIs5Q35ba0k74BwZ6i6BvJdWsOv1fz4",{"fig-authoring-example":1801,"tbl-authoring-demo":1803,"eq-authoring-energy":1805,"fig-pipeline":1807,"tbl-solvers":1808,"eq-loss":1809},{"kind":1802,"number":755,"path":11},"fig",{"kind":1804,"number":755,"path":11},"tbl",{"kind":1806,"number":755,"path":11},"eq",{"kind":1802,"number":755,"path":53},{"kind":1804,"number":755,"path":53},{"kind":1806,"number":755,"path":53},1784218148164]