[{"data":1,"prerenderedAt":20},["ShallowReactive",2],{"clay-page:\u002F4.x\u002Fgetting-started\u002Fproject-structure":3},{"html":4,"toc":5,"description":16,"hero":17,"list":18,"socialImage":19},"\u003Ch1 id=\"project-structure\">Project Structure\u003C\u002Fh1>\n\u003Cp>A Clay project has a fixed layout. Clay looks for its files in the project folder: the folder you run \u003Ccode>clay\u003C\u002Fcode> in, or the one you pass with \u003Ccode>--root\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cdiv class=\"file-tree not-prose\">\u003Cul>\u003Cli>\u003Cdetails open=\"\">\u003Csummary class=\"file-tree-entry file-tree-folder\">\u003Ci class=\"fa-solid fa-chevron-right file-tree-chevron\" aria-hidden=\"true\">\u003C\u002Fi>\u003Ci class=\"fa-solid fa-folder-open file-tree-open\" aria-hidden=\"true\">\u003C\u002Fi>\u003Ci class=\"fa-solid fa-folder file-tree-closed\" aria-hidden=\"true\">\u003C\u002Fi>\u003Cspan class=\"file-tree-name\">my-project\u003C\u002Fspan>\u003C\u002Fsummary>\u003Cul>\u003Cli>\u003Cspan class=\"file-tree-entry\">\u003Cspan class=\"file-tree-chevron\" aria-hidden=\"true\">\u003C\u002Fspan>\u003Ci class=\"fa-regular fa-file-code\" aria-hidden=\"true\">\u003C\u002Fi>\u003Cspan class=\"file-tree-name\">clay.yaml\u003C\u002Fspan>\u003Cspan class=\"file-tree-comment\">required: site settings\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fli>\u003Cli>\u003Cspan class=\"file-tree-entry\">\u003Cspan class=\"file-tree-chevron\" aria-hidden=\"true\">\u003C\u002Fspan>\u003Ci class=\"fa-regular fa-file-image\" aria-hidden=\"true\">\u003C\u002Fi>\u003Cspan class=\"file-tree-name\">logo.svg\u003C\u002Fspan>\u003Cspan class=\"file-tree-comment\">optional: logo and favicon, named in clay.yaml\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fli>\u003Cli>\u003Cdetails open=\"\">\u003Csummary class=\"file-tree-entry file-tree-folder\">\u003Ci class=\"fa-solid fa-chevron-right file-tree-chevron\" aria-hidden=\"true\">\u003C\u002Fi>\u003Ci class=\"fa-solid fa-folder-open file-tree-open\" aria-hidden=\"true\">\u003C\u002Fi>\u003Ci class=\"fa-solid fa-folder file-tree-closed\" aria-hidden=\"true\">\u003C\u002Fi>\u003Cspan class=\"file-tree-name\">docs\u003C\u002Fspan>\u003Cspan class=\"file-tree-comment\">required: the pages of the current version\u003C\u002Fspan>\u003C\u002Fsummary>\u003Cul>\u003Cli>\u003Cspan class=\"file-tree-entry\">\u003Cspan class=\"file-tree-chevron\" aria-hidden=\"true\">\u003C\u002Fspan>\u003Ci class=\"fa-brands fa-markdown\" aria-hidden=\"true\">\u003C\u002Fi>\u003Cspan class=\"file-tree-name\">index.md\u003C\u002Fspan>\u003Cspan class=\"file-tree-comment\">optional: the start page\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fli>\u003Cli>\u003Cspan class=\"file-tree-entry\">\u003Cspan class=\"file-tree-chevron\" aria-hidden=\"true\">\u003C\u002Fspan>\u003Ci class=\"fa-brands fa-markdown\" aria-hidden=\"true\">\u003C\u002Fi>\u003Cspan class=\"file-tree-name\">introduction.md\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fli>\u003Cli>\u003Cspan class=\"file-tree-entry\">\u003Cspan class=\"file-tree-chevron\" aria-hidden=\"true\">\u003C\u002Fspan>\u003Ci class=\"fa-brands fa-markdown\" aria-hidden=\"true\">\u003C\u002Fi>\u003Cspan class=\"file-tree-name\">introduction.de.md\u003C\u002Fspan>\u003Cspan class=\"file-tree-comment\">optional: a translation\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fli>\u003Cli>\u003Cdetails open=\"\">\u003Csummary class=\"file-tree-entry file-tree-folder\">\u003Ci class=\"fa-solid fa-chevron-right file-tree-chevron\" aria-hidden=\"true\">\u003C\u002Fi>\u003Ci class=\"fa-solid fa-folder-open file-tree-open\" aria-hidden=\"true\">\u003C\u002Fi>\u003Ci class=\"fa-solid fa-folder file-tree-closed\" aria-hidden=\"true\">\u003C\u002Fi>\u003Cspan class=\"file-tree-name\">guides\u003C\u002Fspan>\u003C\u002Fsummary>\u003Cul>\u003Cli>\u003Cspan class=\"file-tree-entry\">\u003Cspan class=\"file-tree-chevron\" aria-hidden=\"true\">\u003C\u002Fspan>\u003Ci class=\"fa-brands fa-markdown\" aria-hidden=\"true\">\u003C\u002Fi>\u003Cspan class=\"file-tree-name\">index.md\u003C\u002Fspan>\u003Cspan class=\"file-tree-comment\">optional: the folder's title, icon, order and page\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fli>\u003Cli>\u003Cspan class=\"file-tree-entry\">\u003Cspan class=\"file-tree-chevron\" aria-hidden=\"true\">\u003C\u002Fspan>\u003Ci class=\"fa-brands fa-markdown\" aria-hidden=\"true\">\u003C\u002Fi>\u003Cspan class=\"file-tree-name\">setup.md\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fli>\u003Cli>\u003Cdetails open=\"\">\u003Csummary class=\"file-tree-entry file-tree-folder\">\u003Ci class=\"fa-solid fa-chevron-right file-tree-chevron\" aria-hidden=\"true\">\u003C\u002Fi>\u003Ci class=\"fa-solid fa-folder-open file-tree-open\" aria-hidden=\"true\">\u003C\u002Fi>\u003Ci class=\"fa-solid fa-folder file-tree-closed\" aria-hidden=\"true\">\u003C\u002Fi>\u003Cspan class=\"file-tree-name\">img\u003C\u002Fspan>\u003C\u002Fsummary>\u003Cul>\u003Cli>\u003Cspan class=\"file-tree-entry\">\u003Cspan class=\"file-tree-chevron\" aria-hidden=\"true\">\u003C\u002Fspan>\u003Ci class=\"fa-regular fa-file-image\" aria-hidden=\"true\">\u003C\u002Fi>\u003Cspan class=\"file-tree-name\">screen.png\u003C\u002Fspan>\u003Cspan class=\"file-tree-comment\">images and files are published as they are\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fli>\u003C\u002Ful>\u003C\u002Fdetails>\u003C\u002Fli>\u003C\u002Ful>\u003C\u002Fdetails>\u003C\u002Fli>\u003C\u002Ful>\u003C\u002Fdetails>\u003C\u002Fli>\u003Cli>\u003Cspan class=\"file-tree-entry\">\u003Cspan class=\"file-tree-chevron\" aria-hidden=\"true\">\u003C\u002Fspan>\u003Ci class=\"fa-regular fa-file-code\" aria-hidden=\"true\">\u003C\u002Fi>\u003Cspan class=\"file-tree-name\">package.json\u003C\u002Fspan>\u003Cspan class=\"file-tree-comment\">optional: Clay as a dev dependency\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fli>\u003Cli>\u003Cspan class=\"file-tree-entry file-tree-folder\">\u003Cspan class=\"file-tree-chevron\" aria-hidden=\"true\">\u003C\u002Fspan>\u003Ci class=\"fa-solid fa-folder\" aria-hidden=\"true\">\u003C\u002Fi>\u003Cspan class=\"file-tree-name\">publish\u003C\u002Fspan>\u003Cspan class=\"file-tree-comment\">created by clay build; do not commit\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fli>\u003C\u002Ful>\u003C\u002Fdetails>\u003C\u002Fli>\u003C\u002Ful>\u003C\u002Fdiv>\n\u003Ch2 id=\"what-each-part-does\">\u003Ca class=\"heading-anchor\" href=\"#what-each-part-does\" aria-label=\"Link to this section\" data-route=\"#what-each-part-does\">#\u003C\u002Fa>What each part does\u003C\u002Fh2>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Path\u003C\u002Fth>\n\u003Cth>Purpose\u003C\u002Fth>\n\u003Cth>Read more\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Ccode>clay.yaml\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Title, base URL, navbar links, languages\u003C\u002Ftd>\n\u003Ctd>\u003Ca href=\"\u002Fclay-example-repo\u002F4.x\u002Fconfiguration\u002Fclay-yaml\" data-route=\"\u002F4.x\u002Fconfiguration\u002Fclay-yaml\">clay.yaml\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>docs\u002F\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Every \u003Ccode>.md\u003C\u002Fcode> file is a page; other files are published as they are\u003C\u002Ftd>\n\u003Ctd>\u003Ca href=\"\u002Fclay-example-repo\u002F4.x\u002Fwriting\u002Fpages\" data-route=\"\u002F4.x\u002Fwriting\u002Fpages\">pages\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>index.md\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>The start page (\u003Ccode>docs\u002Findex.md\u003C\u002Fcode>), and a folder’s title, icon, order and page\u003C\u002Ftd>\n\u003Ctd>\u003Ca href=\"\u002Fclay-example-repo\u002F4.x\u002Forganizing\u002Findex-pages\" data-route=\"\u002F4.x\u002Forganizing\u002Findex-pages\">index pages\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>*.de.md\u003C\u002Fcode> and similar\u003C\u002Ftd>\n\u003Ctd>Translations of the page next to them\u003C\u002Ftd>\n\u003Ctd>\u003Ca href=\"\u002Fclay-example-repo\u002F4.x\u002Forganizing\u002Ftranslations\" data-route=\"\u002F4.x\u002Forganizing\u002Ftranslations\">translations\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>docs\u002Flatest\u002F\u003C\u002Fcode>, \u003Ccode>docs\u002F&lt;name&gt;\u002F\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>With versions: the latest docs, and a saved copy for each older release\u003C\u002Ftd>\n\u003Ctd>\u003Ca href=\"\u002Fclay-example-repo\u002F4.x\u002Forganizing\u002Fversions\" data-route=\"\u002F4.x\u002Forganizing\u002Fversions\">versions\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>publish\u002Fpublic\u002F\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>The finished website\u003C\u002Ftd>\n\u003Ctd>\u003Ca href=\"\u002Fclay-example-repo\u002F4.x\u002Fpublishing\u002Fcommands\" data-route=\"\u002F4.x\u002Fpublishing\u002Fcommands\">commands\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Ch2 id=\"rules-for-the-docs-folder\">\u003Ca class=\"heading-anchor\" href=\"#rules-for-the-docs-folder\" aria-label=\"Link to this section\" data-route=\"#rules-for-the-docs-folder\">#\u003C\u002Fa>Rules for the docs folder\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>Every Markdown file becomes a page.\u003C\u002Fstrong> Its path is its URL: \u003Ccode>docs\u002Fguides\u002Fsetup.md\u003C\u002Fcode> is served at \u003Ccode>\u002Fguides\u002Fsetup\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Folders become sections\u003C\u002Fstrong> of the navigation. A folder only appears when it contains at least one page, at any depth.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Every other file\u003C\u002Fstrong>, like images, PDFs or downloads, is copied into the site as it is, so pages can link to it.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Names starting with a dot\u003C\u002Fstrong> (\u003Ccode>.DS_Store\u003C\u002Fcode>, \u003Ccode>.git\u003C\u002Fcode>) are ignored.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"what-belongs-in-git\">\u003Ca class=\"heading-anchor\" href=\"#what-belongs-in-git\" aria-label=\"Link to this section\" data-route=\"#what-belongs-in-git\">#\u003C\u002Fa>What belongs in git\u003C\u002Fh2>\n\u003Cp>Commit \u003Ccode>clay.yaml\u003C\u002Fcode>, \u003Ccode>docs\u002F\u003C\u002Fcode>, your logo, and \u003Ccode>package.json\u003C\u002Fcode> with its lockfile. Leave out the build output and the dependencies:\u003C\u002Fp>\n\u003Cdiv class=\"code-block has-title\">\u003Cdiv class=\"code-title\">\u003Ci class=\"fa-regular fa-file-lines\" aria-hidden=\"true\">\u003C\u002Fi>\u003Cspan>.gitignore\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>node_modules\u002F\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan>publish\u002F\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>Clay shows when each page was last changed, taken from git. Keep the docs in a git repository, and check out the full history in CI, to get those dates. See \u003Ca href=\"\u002Fclay-example-repo\u002F4.x\u002Ffeatures\u002Fpage-details\" data-route=\"\u002F4.x\u002Ffeatures\u002Fpage-details\">page details\u003C\u002Fa>.\u003C\u002Fp>\n\u003C\u002Fdiv>\n",[6,10,13],{"id":7,"text":8,"level":9},"what-each-part-does","What each part does",2,{"id":11,"text":12,"level":9},"rules-for-the-docs-folder","Rules for the docs folder",{"id":14,"text":15,"level":9},"what-belongs-in-git","What belongs in git","The files of a Clay project, what each one does and what belongs in git.",null,false,"\u002F_clay\u002Fsocial\u002F4.x\u002Fgetting-started\u002Fproject-structure.png",1792666369270]