[{"data":1,"prerenderedAt":19},["ShallowReactive",2],{"clay-page:\u002Fde\u002Fpublishing\u002Fbuild-checks":3},{"html":4,"toc":5,"description":15,"hero":16,"list":17,"socialImage":18},"\u003Ch1 id=\"build-prüfungen\">Build-Prüfungen\u003C\u002Fh1>\n\u003Cp>Jedes \u003Ccode>clay build\u003C\u002Fcode> prüft deine Dokumentation, bevor es sie rendert. Probleme erscheinen als Warnungen unter dem Schritt, der sie gefunden hat:\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\">\u003Cspan style=\"--shiki-light:#000000;--shiki-dark:#D4D4D4\">●  Loaded 12 pages from docs · 280ms\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#000000;--shiki-dark:#D4D4D4\">│  ▲ clay.yaml: unknown key \"navbar.lgo\" is ignored (typo?)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#000000;--shiki-dark:#D4D4D4\">│  ▲ 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=\"Code kopieren\" aria-label=\"Code kopieren\">\u003Ci class=\"fa-solid fa-copy\">\u003C\u002Fi>\u003C\u002Fbutton>\u003C\u002Fdiv>\n\u003Cdiv class=\"mermaid-diagram\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" viewBox=\"0 0 1145.8220000000001 246.79549999999998\" width=\"1145.8220000000001\" height=\"246.79549999999998\">\n\n\u003Cdefs>\n  \u003Cmarker id=\"diagram-1-arrowhead\" markerWidth=\"8\" markerHeight=\"5\" refX=\"7\" refY=\"2.5\" orient=\"auto\">\n    \u003Cpolygon points=\"0 0, 8 2.5, 0 5\" fill=\"var(--_arrow)\" stroke=\"var(--_arrow)\" stroke-width=\"0.75\" stroke-linejoin=\"round\">\u003C\u002Fpolygon>\n  \u003C\u002Fmarker>\n  \u003Cmarker id=\"diagram-1-arrowhead-start\" markerWidth=\"8\" markerHeight=\"5\" refX=\"1\" refY=\"2.5\" orient=\"auto-start-reverse\">\n    \u003Cpolygon points=\"8 0, 0 2.5, 8 5\" fill=\"var(--_arrow)\" stroke=\"var(--_arrow)\" stroke-width=\"0.75\" stroke-linejoin=\"round\">\u003C\u002Fpolygon>\n  \u003C\u002Fmarker>\n\u003C\u002Fdefs>\n\u003Cpolyline class=\"edge\" data-from=\"A\" data-to=\"B\" data-style=\"solid\" data-arrow-start=\"false\" data-arrow-end=\"true\" points=\"202.73300000000003,104.838 250.73300000000003,104.838\" fill=\"none\" stroke=\"var(--_line)\" stroke-width=\"1\" marker-end=\"url(#diagram-1-arrowhead)\">\u003C\u002Fpolyline>\n\u003Cpolyline class=\"edge\" data-from=\"B\" data-to=\"D\" data-style=\"solid\" data-arrow-start=\"false\" data-arrow-end=\"true\" data-label=\"keine\" points=\"358.79633333333334,83.22533333333334 681.771,83.22533333333334 681.771,58.085499999999996 765.557,58.085499999999996 765.557,78.51383333333332 771.617,78.51383333333332\" fill=\"none\" stroke=\"var(--_line)\" stroke-width=\"1\" marker-end=\"url(#diagram-1-arrowhead)\">\u003C\u002Fpolyline>\n\u003Cpolyline class=\"edge\" data-from=\"B\" data-to=\"C\" data-style=\"solid\" data-arrow-start=\"false\" data-arrow-end=\"true\" data-label=\"Warnungen\" points=\"358.79633333333334,126.45066666666665 416.409,126.45066666666665 416.409,151.5905 541.301,151.5905\" fill=\"none\" stroke=\"var(--_line)\" stroke-width=\"1\" marker-end=\"url(#diagram-1-arrowhead)\">\u003C\u002Fpolyline>\n\u003Cpolyline class=\"edge\" data-from=\"C\" data-to=\"D\" data-style=\"solid\" data-arrow-start=\"false\" data-arrow-end=\"true\" data-label=\"nein\" points=\"633.3093333333334,133.18883333333332 687.711,133.18883333333332 687.711,122.21549999999999 765.557,122.21549999999999 765.557,90.81383333333332 771.617,90.81383333333332\" fill=\"none\" stroke=\"var(--_line)\" stroke-width=\"1\" marker-end=\"url(#diagram-1-arrowhead)\">\u003C\u002Fpolyline>\n\u003Cpolyline class=\"edge\" data-from=\"C\" data-to=\"E\" data-style=\"solid\" data-arrow-start=\"false\" data-arrow-end=\"true\" data-label=\"ja\" points=\"633.3093333333334,169.99216666666666 771.617,169.99216666666666\" fill=\"none\" stroke=\"var(--_line)\" stroke-width=\"1\" marker-end=\"url(#diagram-1-arrowhead)\">\u003C\u002Fpolyline>\n\u003Cpolyline class=\"edge\" data-from=\"D\" data-to=\"F\" data-style=\"solid\" data-arrow-start=\"false\" data-arrow-end=\"true\" points=\"927.681,84.66383333333332 981.6210000000001,84.66383333333332\" fill=\"none\" stroke=\"var(--_line)\" stroke-width=\"1\" marker-end=\"url(#diagram-1-arrowhead)\">\u003C\u002Fpolyline>\n\u003Cg class=\"edge-label\" data-from=\"B\" data-to=\"D\" data-label=\"keine\">\n  \u003Crect x=\"689.771\" y=\"42.085499999999996\" width=\"43.786\" height=\"30.3\" rx=\"2\" ry=\"2\" fill=\"var(--bg)\" stroke=\"var(--_inner-stroke)\" stroke-width=\"1\">\u003C\u002Frect>\n  \u003Ctext x=\"711.664\" y=\"57.235499999999995\" text-anchor=\"middle\" font-size=\"11\" font-weight=\"400\" fill=\"var(--_text-sec)\" dy=\"3.8499999999999996\">keine\u003C\u002Ftext>\n\u003C\u002Fg>\n\u003Cg class=\"edge-label\" data-from=\"B\" data-to=\"C\" data-label=\"Warnungen\">\n  \u003Crect x=\"424.409\" y=\"135.5905\" width=\"72.89200000000001\" height=\"30.3\" rx=\"2\" ry=\"2\" fill=\"var(--bg)\" stroke=\"var(--_inner-stroke)\" stroke-width=\"1\">\u003C\u002Frect>\n  \u003Ctext x=\"460.855\" y=\"150.7405\" text-anchor=\"middle\" font-size=\"11\" font-weight=\"400\" fill=\"var(--_text-sec)\" dy=\"3.8499999999999996\">Warnungen\u003C\u002Ftext>\n\u003C\u002Fg>\n\u003Cg class=\"edge-label\" data-from=\"C\" data-to=\"D\" data-label=\"nein\">\n  \u003Crect x=\"695.711\" y=\"106.21549999999999\" width=\"37.846000000000004\" height=\"30.3\" rx=\"2\" ry=\"2\" fill=\"var(--bg)\" stroke=\"var(--_inner-stroke)\" stroke-width=\"1\">\u003C\u002Frect>\n  \u003Ctext x=\"714.634\" y=\"121.3655\" text-anchor=\"middle\" font-size=\"11\" font-weight=\"400\" fill=\"var(--_text-sec)\" dy=\"3.8499999999999996\">nein\u003C\u002Ftext>\n\u003C\u002Fg>\n\u003Cg class=\"edge-label\" data-from=\"C\" data-to=\"E\" data-label=\"ja\">\n  \u003Crect x=\"695.711\" y=\"153.99216666666666\" width=\"25.966\" height=\"30.3\" rx=\"2\" ry=\"2\" fill=\"var(--bg)\" stroke=\"var(--_inner-stroke)\" stroke-width=\"1\">\u003C\u002Frect>\n  \u003Ctext x=\"708.694\" y=\"169.14216666666667\" text-anchor=\"middle\" font-size=\"11\" font-weight=\"400\" fill=\"var(--_text-sec)\" dy=\"3.8499999999999996\">ja\u003C\u002Ftext>\n\u003C\u002Fg>\n\u003Cg class=\"node\" data-id=\"A\" data-label=\"Dokumentation laden\" data-shape=\"rectangle\">\n  \u003Crect x=\"40\" y=\"86.38799999999999\" width=\"162.73300000000003\" height=\"36.900000000000006\" rx=\"0\" ry=\"0\" fill=\"var(--_node-fill)\" stroke=\"var(--_node-stroke)\" stroke-width=\"0.75\">\u003C\u002Frect>\n  \u003Ctext x=\"121.36650000000002\" y=\"104.838\" text-anchor=\"middle\" font-size=\"13\" font-weight=\"500\" fill=\"var(--_text)\" dy=\"4.55\">Dokumentation laden\u003C\u002Ftext>\n\u003C\u002Fg>\n\u003Cg class=\"node\" data-id=\"B\" data-label=\"Probleme?\" data-shape=\"diamond\">\n  \u003Cpolygon points=\"315.571,40 380.409,104.838 315.571,169.676 250.73300000000003,104.838\" fill=\"var(--_node-fill)\" stroke=\"var(--_node-stroke)\" stroke-width=\"0.75\">\u003C\u002Fpolygon>\n  \u003Ctext x=\"315.571\" y=\"104.838\" text-anchor=\"middle\" font-size=\"13\" font-weight=\"500\" fill=\"var(--_text)\" dy=\"4.55\">Probleme?\u003C\u002Ftext>\n\u003C\u002Fg>\n\u003Cg class=\"node\" data-id=\"D\" data-label=\"Jede Seite rendern\" data-shape=\"rectangle\">\n  \u003Crect x=\"771.617\" y=\"66.21383333333333\" width=\"156.06400000000002\" height=\"36.900000000000006\" rx=\"0\" ry=\"0\" fill=\"var(--_node-fill)\" stroke=\"var(--_node-stroke)\" stroke-width=\"0.75\">\u003C\u002Frect>\n  \u003Ctext x=\"849.649\" y=\"84.66383333333333\" text-anchor=\"middle\" font-size=\"13\" font-weight=\"500\" fill=\"var(--_text)\" dy=\"4.55\">Jede Seite rendern\u003C\u002Ftext>\n\u003C\u002Fg>\n\u003Cg class=\"node\" data-id=\"C\" data-label=\"--strict?\" data-shape=\"diamond\">\n  \u003Cpolygon points=\"596.5060000000001,96.38550000000002 651.7110000000001,151.59050000000002 596.5060000000001,206.7955 541.301,151.59050000000002\" fill=\"var(--_node-fill)\" stroke=\"var(--_node-stroke)\" stroke-width=\"0.75\">\u003C\u002Fpolygon>\n  \u003Ctext x=\"596.5060000000001\" y=\"151.59050000000002\" text-anchor=\"middle\" font-size=\"13\" font-weight=\"500\" fill=\"var(--_text)\" dy=\"4.55\">--strict?\u003C\u002Ftext>\n\u003C\u002Fg>\n\u003Cg class=\"node\" data-id=\"E\" data-label=\"Build scheitert\" data-shape=\"rectangle\">\n  \u003Crect x=\"771.617\" y=\"151.54216666666667\" width=\"125.68300000000002\" height=\"36.900000000000006\" rx=\"0\" ry=\"0\" fill=\"var(--_node-fill)\" stroke=\"var(--_node-stroke)\" stroke-width=\"0.75\">\u003C\u002Frect>\n  \u003Ctext x=\"834.4585\" y=\"169.99216666666666\" text-anchor=\"middle\" font-size=\"13\" font-weight=\"500\" fill=\"var(--_text)\" dy=\"4.55\">Build scheitert\u003C\u002Ftext>\n\u003C\u002Fg>\n\u003Cg class=\"node\" data-id=\"F\" data-label=\"publish\u002Fpublic\" data-shape=\"rectangle\">\n  \u003Crect x=\"981.6210000000001\" y=\"66.21383333333333\" width=\"124.20100000000001\" height=\"36.900000000000006\" rx=\"0\" ry=\"0\" fill=\"var(--_node-fill)\" stroke=\"var(--_node-stroke)\" stroke-width=\"0.75\">\u003C\u002Frect>\n  \u003Ctext x=\"1043.7215\" y=\"84.66383333333333\" text-anchor=\"middle\" font-size=\"13\" font-weight=\"500\" fill=\"var(--_text)\" dy=\"4.55\">publish\u002Fpublic\u003C\u002Ftext>\n\u003C\u002Fg>\n\u003C\u002Fsvg>\u003C\u002Fdiv>\n\u003Cp>Die Meldungen selbst sind englisch.\u003C\u002Fp>\n\u003Ch2 id=\"was-geprüft-wird\">\u003Ca class=\"heading-anchor\" href=\"#was-geprüft-wird\" aria-label=\"Link zu diesem Abschnitt\" data-route=\"#was-geprüft-wird\">#\u003C\u002Fa>Was geprüft wird\u003C\u002Fh2>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Prüfung\u003C\u002Fth>\n\u003Cth>Beispiel\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>Links auf Seiten, die es nicht gibt\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>Links auf Abschnitte, die es nicht gibt\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>Broken link in index.md: \"guides\u002Fsetup.md#instal\" points to a missing section (#instal on \u002Fguides\u002Fsetup)\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Bilder und Dateien, die es nicht gibt\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>\u003Ca href=\"\u002Fclay-example-repo\u002Fde\u002Fwriting\u002Fsnippets-and-variables\" data-route=\"\u002Fde\u002Fwriting\u002Fsnippets-and-variables\">Snippets\u003C\u002Fa>, die sich nicht einbinden lassen\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>docs\u002Fguides\u002Fsetup.md: includes \"..\u002F_snippets\u002Fgone.md\", which does not exist; it is left out\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Unbekannte Einstellungen in der \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>Front Matter aus Clay 3\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>guides\u002Findex.md: \"cards\" is no longer read since Clay 4; it is called \"list\"\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Dateien und Einstellungen aus 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>Ein fehlender Titel\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>clay.yaml: \"title\" is not set\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Einstellungen aus 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>Übersetzungen ohne 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>Unbrauchbare Sprachcodes\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>Unbrauchbare oder kollidierende Versionen\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>docs\u002F1.x: docs\u002Flatest\u002F1.x has the same URL as this version; rename one of them\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Fehlende Git-Historie\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, Bilder und Videos in HTML (\u003Ccode>&lt;a href&gt;\u003C\u002Fcode>, \u003Ccode>&lt;img src&gt;\u003C\u002Fcode>, \u003Ccode>&lt;video src&gt;\u003C\u002Fcode>) werden wie solche in Markdown geprüft. Links zu anderen Websites werden nicht geprüft.\u003C\u002Fp>\n\u003Ch2 id=\"--strict\">\u003Ca class=\"heading-anchor\" href=\"#--strict\" aria-label=\"Link zu diesem Abschnitt\" 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=\"Code kopieren\" aria-label=\"Code kopieren\">\u003Ci class=\"fa-solid fa-copy\">\u003C\u002Fi>\u003C\u002Fbutton>\u003C\u002Fdiv>\n\u003Cp>Mit \u003Ccode>--strict\u003C\u002Fcode> lassen Warnungen den Build scheitern. Nutze es in der CI: Ein Tippfehler in einem Link stoppt dann die Veröffentlichung, statt deine Leser zu erreichen.\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\">\u003Cspan style=\"--shiki-light:#000000;--shiki-dark:#D4D4D4\">✖  Loading docs\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#000000;--shiki-dark:#D4D4D4\">│  ▲ Broken link in guides\u002Fsetup.md: \"instal.md\" points to a missing page (\u002Fguides\u002Finstal)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#000000;--shiki-dark:#D4D4D4\">│  clay build --strict: 1 problem found, see the warnings above\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#000000;--shiki-dark:#D4D4D4\">│\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#000000;--shiki-dark:#D4D4D4\">└  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=\"Code kopieren\" aria-label=\"Code kopieren\">\u003Ci class=\"fa-solid fa-copy\">\u003C\u002Fi>\u003C\u002Fbutton>\u003C\u002Fdiv>\n\u003Cp>Fehlende Git-Historie ist die einzige Warnung, die einen Build nie scheitern lässt: Sie bedeutet nur, dass die Seiten keine Daten zeigen.\u003C\u002Fp>\n\u003Cp>Damit Probleme gar nicht erst gemergt werden, lass dieselbe Prüfung bei jedem Pull Request laufen:\u003C\u002Fp>\n\u003Cdiv class=\"clay-prompt-aura aura not-prose\">\u003Cdiv class=\"clay-prompt code-block\">\u003Cdiv class=\"clay-prompt-title\">\u003Ci class=\"fa-solid fa-wand-magic-sparkles\" aria-hidden=\"true\">\u003C\u002Fi>\u003Cspan>Vorgeschlagener Prompt\u003C\u002Fspan>\u003C\u002Fdiv>\u003Cpre class=\"clay-prompt-text\">Leg einen GitHub-Actions-Workflow an, .github\u002Fworkflows\u002Fdocs-check.yaml, der\n`npx clay build --strict` bei jedem Pull Request ausführt, der docs\u002F,\noder clay.yaml ändert. Richte Node.js ein wie der Deploy-Workflow\nin https:\u002F\u002Fclay-doc.github.io\u002Fclay-example-repo\u002Fde\u002Fpublishing\u002Fgithub-pages.md,\nchecke die ganze Historie aus und veröffentliche nichts.\u003C\u002Fpre>\u003Cbutton type=\"button\" class=\"copy-code btn btn-sm btn-square btn-ghost\" title=\"Prompt kopieren\" aria-label=\"Prompt kopieren\">\u003Ci class=\"fa-solid fa-copy\">\u003C\u002Fi>\u003C\u002Fbutton>\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Ch2 id=\"wenn-ein-build-scheitert\">\u003Ca class=\"heading-anchor\" href=\"#wenn-ein-build-scheitert\" aria-label=\"Link zu diesem Abschnitt\" data-route=\"#wenn-ein-build-scheitert\">#\u003C\u002Fa>Wenn ein Build scheitert\u003C\u002Fh2>\n\u003Cp>Manche Probleme stoppen jeden Build, ob streng oder nicht, etwa eine Seite, die sich nicht rendern lässt. Clay markiert den gescheiterten Schritt und zeigt die Ursache:\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\">\u003Cspan style=\"--shiki-light:#000000;--shiki-dark:#D4D4D4\">✖  Prerendering pages\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#000000;--shiki-dark:#D4D4D4\">│  404 Page Not Found on 1 page: \u002Fguides\u002Fold-page\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#000000;--shiki-dark:#D4D4D4\">│  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=\"Code kopieren\" aria-label=\"Code kopieren\">\u003Ci class=\"fa-solid fa-copy\">\u003C\u002Fi>\u003C\u002Fbutton>\u003C\u002Fdiv>\n\u003Cp>Hier verlinkt eine Seite auf eine Adresse, die es nicht gibt, und zwar so, dass die Link-Prüfung es nicht sehen konnte, etwa in rohem HTML. Korrigiere den Link und baue neu. Lässt sich eine Seite selbst nicht rendern, nennt die Zeile darüber die Ursache und die Seite, etwa \u003Ccode>Cannot read properties of undefined (rendering \u002Fguides\u002Fsetup)\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Für die vollständige Ausgabe der zugrunde liegenden Werkzeuge:\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=\"Code kopieren\" aria-label=\"Code kopieren\">\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>Tipp\u003C\u002Fp>\n\u003Cp>Führe \u003Ccode>npx clay build --strict\u003C\u002Fcode> vor dem Pushen lokal aus. Es dauert ein paar Sekunden und findet dieselben Probleme wie die CI.\u003C\u002Fp>\n\u003C\u002Fdiv>\n",[6,10,12],{"id":7,"text":8,"level":9},"was-geprüft-wird","Was geprüft wird",2,{"id":11,"text":11,"level":9},"--strict",{"id":13,"text":14,"level":9},"wenn-ein-build-scheitert","Wenn ein Build scheitert","Die Probleme, die clay build meldet, wie --strict daraus Fehler macht und was zu tun ist, wenn ein Build scheitert.",null,false,"\u002F_clay\u002Fsocial\u002Fde\u002Fpublishing\u002Fbuild-checks.png",1792666371795]