[{"data":1,"prerenderedAt":19},["ShallowReactive",2],{"clay-page:\u002F3.x\u002Fcli\u002Fbuild-checks":3},{"html":4,"toc":5,"description":15,"hero":16,"list":17,"socialImage":18},"\u003Ch1 id=\"build-checks\">Build Checks\u003C\u002Fh1>\n\u003Cp>Every \u003Ccode>clay build\u003C\u002Fcode> checks your docs before it renders them. Problems are reported as warnings under the step that found them:\u003C\u002Fp>\n\u003Cdiv class=\"code-block\">\u003Cpre class=\"shiki shiki-themes light-plus dark-plus\" style=\"--shiki-light:#000000;--shiki-dark:#D4D4D4;--shiki-light-bg:#FFFFFF;--shiki-dark-bg:#1E1E1E\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan>●  Loaded 12 pages from docs · 280ms\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan>│  ▲ clay.yaml: unknown key \"navbar.lgo\" is ignored (typo?)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan>│  ▲ Broken link in guides\u002Fsetup.md: \"instal.md\" points to a missing page (\u002Fguides\u002Finstal)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Cbutton type=\"button\" class=\"copy-code btn btn-sm btn-square btn-ghost\" title=\"Copy code\" aria-label=\"Copy code\">\u003Ci class=\"fa-solid fa-copy\">\u003C\u002Fi>\u003C\u002Fbutton>\u003C\u002Fdiv>\n\u003Ch2 id=\"what-is-checked\">\u003Ca class=\"heading-anchor\" href=\"#what-is-checked\" aria-label=\"Link to this section\" data-route=\"#what-is-checked\">#\u003C\u002Fa>What is checked\u003C\u002Fh2>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Check\u003C\u002Fth>\n\u003Cth>Example warning\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>Links to pages that do not exist\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>Broken link in guides\u002Fsetup.md: \"instal.md\" points to a missing page (\u002Fguides\u002Finstal)\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Images and files that do not exist\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>Broken link in index.md: \"img\u002Flogo.png\" points to a missing file\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Unknown settings in \u003Ccode>clay.yaml\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>clay.yaml: unknown key \"navbar.lgo\" is ignored (typo?)\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Files and settings from Clay 2\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>dir-meta.yaml is no longer read since Clay 3; give each folder an index.md with its title, icon and order\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>A missing site title\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>clay.yaml: \"title\" is not set\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Settings from Clay 1\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>clay.yaml: \"langs\" is no longer needed and is ignored\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Translations without an original\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>setup.de.md: translates setup.md, which does not exist; the file is skipped\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Unusable language codes\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>clay.yaml: \"Deutsch\" is not a language code like \"en\" or \"pt-BR\"; it is ignored\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Unusable or clashing versions\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>docs-archive\u002F1.x: docs\u002F1.x has the same URL as this version; rename one of them\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Missing git history\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>the docs are not in a git repository: last-updated dates are skipped\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Cp>Links to other websites and \u003Ccode>#anchors\u003C\u002Fcode> are not checked.\u003C\u002Fp>\n\u003Ch2 id=\"--strict\">\u003Ca class=\"heading-anchor\" href=\"#--strict\" aria-label=\"Link to this section\" data-route=\"#--strict\">#\u003C\u002Fa>--strict\u003C\u002Fh2>\n\u003Cdiv class=\"code-block is-terminal has-bar\">\u003Cdiv class=\"code-terminal\" aria-hidden=\"true\">\u003Cspan>\u003C\u002Fspan>\u003Cspan>\u003C\u002Fspan>\u003Cspan>\u003C\u002Fspan>\u003C\u002Fdiv>\u003Cpre class=\"shiki shiki-themes light-plus dark-plus\" style=\"--shiki-light:#000000;--shiki-dark:#D4D4D4;--shiki-light-bg:#FFFFFF;--shiki-dark-bg:#1E1E1E\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line command\">\u003Cspan style=\"--shiki-light:#695221;--shiki-dark:#DCDCAA\">npx\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#A31515;--shiki-dark:#CE9178\"> clay\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#A31515;--shiki-dark:#CE9178\"> build\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#0000FF;--shiki-dark:#569CD6\"> --strict\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Cbutton type=\"button\" class=\"copy-code btn btn-sm btn-square btn-ghost\" title=\"Copy code\" aria-label=\"Copy code\">\u003Ci class=\"fa-solid fa-copy\">\u003C\u002Fi>\u003C\u002Fbutton>\u003C\u002Fdiv>\n\u003Cp>With \u003Ccode>--strict\u003C\u002Fcode>, warnings fail the build. Use it in CI: a typo in a link then stops the deployment instead of reaching your readers.\u003C\u002Fp>\n\u003Cdiv class=\"code-block\">\u003Cpre class=\"shiki shiki-themes light-plus dark-plus\" style=\"--shiki-light:#000000;--shiki-dark:#D4D4D4;--shiki-light-bg:#FFFFFF;--shiki-dark-bg:#1E1E1E\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan>✖  Loading docs\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan>│  ▲ Broken link in guides\u002Fsetup.md: \"instal.md\" points to a missing page (\u002Fguides\u002Finstal)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan>│  clay build --strict: 1 problem(s) found, see the warnings above\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan>│\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan>└  Build failed after 290ms. Run \"clay build --verbose\" for the full output.\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Cbutton type=\"button\" class=\"copy-code btn btn-sm btn-square btn-ghost\" title=\"Copy code\" aria-label=\"Copy code\">\u003Ci class=\"fa-solid fa-copy\">\u003C\u002Fi>\u003C\u002Fbutton>\u003C\u002Fdiv>\n\u003Cp>Missing git history is the one warning that never fails a build: it only means the pages show no dates.\u003C\u002Fp>\n\u003Ch2 id=\"when-a-build-fails\">\u003Ca class=\"heading-anchor\" href=\"#when-a-build-fails\" aria-label=\"Link to this section\" data-route=\"#when-a-build-fails\">#\u003C\u002Fa>When a build fails\u003C\u002Fh2>\n\u003Cp>Some problems stop every build, strict or not, for example a page that cannot be rendered. Clay marks the step that failed and shows the cause:\u003C\u002Fp>\n\u003Cdiv class=\"code-block\">\u003Cpre class=\"shiki shiki-themes light-plus dark-plus\" style=\"--shiki-light:#000000;--shiki-dark:#D4D4D4;--shiki-light-bg:#FFFFFF;--shiki-dark-bg:#1E1E1E\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan>✖  Prerendering pages\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan>│  ├─ \u002Fguides\u002Fold-page (3ms)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan>│  │ ├── [404] Page Not Found\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan>│  │ └── Linked from \u002Fguides\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan>│  Exiting due to prerender errors.\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Cbutton type=\"button\" class=\"copy-code btn btn-sm btn-square btn-ghost\" title=\"Copy code\" aria-label=\"Copy code\">\u003Ci class=\"fa-solid fa-copy\">\u003C\u002Fi>\u003C\u002Fbutton>\u003C\u002Fdiv>\n\u003Cp>Here a page links to an address that does not exist, in a way the link check could not see, for example in raw HTML. Fix the link and build again.\u003C\u002Fp>\n\u003Cp>For the complete output of the underlying build tools, run:\u003C\u002Fp>\n\u003Cdiv class=\"code-block is-terminal has-bar\">\u003Cdiv class=\"code-terminal\" aria-hidden=\"true\">\u003Cspan>\u003C\u002Fspan>\u003Cspan>\u003C\u002Fspan>\u003Cspan>\u003C\u002Fspan>\u003C\u002Fdiv>\u003Cpre class=\"shiki shiki-themes light-plus dark-plus\" style=\"--shiki-light:#000000;--shiki-dark:#D4D4D4;--shiki-light-bg:#FFFFFF;--shiki-dark-bg:#1E1E1E\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line command\">\u003Cspan style=\"--shiki-light:#695221;--shiki-dark:#DCDCAA\">npx\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#A31515;--shiki-dark:#CE9178\"> clay\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#A31515;--shiki-dark:#CE9178\"> build\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#0000FF;--shiki-dark:#569CD6\"> --verbose\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Cbutton type=\"button\" class=\"copy-code btn btn-sm btn-square btn-ghost\" title=\"Copy code\" aria-label=\"Copy code\">\u003Ci class=\"fa-solid fa-copy\">\u003C\u002Fi>\u003C\u002Fbutton>\u003C\u002Fdiv>\n\u003Cdiv class=\"markdown-alert markdown-alert-tip\">\n\u003Cp class=\"markdown-alert-title text-primary\">\u003Ci class=\"fa-solid fa-lightbulb mr-2\">\u003C\u002Fi>Tip\u003C\u002Fp>\n\u003Cp>Run \u003Ccode>npx clay build --strict\u003C\u002Fcode> locally before you push. It takes a few seconds and catches the same problems CI would.\u003C\u002Fp>\n\u003C\u002Fdiv>\n",[6,10,12],{"id":7,"text":8,"level":9},"what-is-checked","What is checked",2,{"id":11,"text":11,"level":9},"--strict",{"id":13,"text":14,"level":9},"when-a-build-fails","When a build fails","The problems clay build reports, how --strict turns them into errors, and what to do when a build fails.",null,false,"\u002F_clay\u002Fsocial\u002F3.x\u002Fcli\u002Fbuild-checks.png",1792666369054]