[{"data":1,"prerenderedAt":17},["ShallowReactive",2],{"clay-page:\u002F4.x\u002Fwriting\u002Fhtml":3},{"html":4,"toc":5,"description":13,"hero":14,"list":15,"socialImage":16},"\u003Ch1 id=\"html\">HTML\u003C\u002Fh1>\n\u003Cp>Markdown and the \u003Ca href=\"\u002Fclay-example-repo\u002F4.x\u002Fwriting\u002Fcomponents\" data-route=\"\u002F4.x\u002Fwriting\u002Fcomponents\">components\u003C\u002Fa> cover most needs, but sometimes HTML does the job better. You can write HTML directly in your pages:\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>HTML\u003C\u002Fth>\n\u003Cth>Result\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Ccode>&lt;kbd&gt;Ctrl&lt;\u002Fkbd&gt; + &lt;kbd&gt;K&lt;\u002Fkbd&gt;\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>\u003Ckbd>Ctrl\u003C\u002Fkbd> + \u003Ckbd>K\u003C\u002Fkbd>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>H&lt;sub&gt;2&lt;\u002Fsub&gt;O\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>H\u003Csub>2\u003C\u002Fsub>O\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>E = mc&lt;sup&gt;2&lt;\u002Fsup&gt;\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>E = mc\u003Csup>2\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>&lt;mark&gt;marked&lt;\u002Fmark&gt;\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>\u003Cmark>marked\u003C\u002Fmark>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>&lt;abbr title=\"Static Site Generator\"&gt;SSG&lt;\u002Fabbr&gt;\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>\u003Cabbr title=\"Static Site Generator\">SSG\u003C\u002Fabbr>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\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>For folded sections, use \u003Ca href=\"\u002Fclay-example-repo\u002F4.x\u002Fwriting\u002Fcomponents\u002Fdetails\" data-route=\"\u002F4.x\u002Fwriting\u002Fcomponents\u002Fdetails\">details\u003C\u002Fa> instead of \u003Ccode>&lt;details&gt;\u003C\u002Fcode>: it is shorter, and styled like the rest of the site.\u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003Ch2 id=\"videos-and-embeds\">\u003Ca class=\"heading-anchor\" href=\"#videos-and-embeds\" aria-label=\"Link to this section\" data-route=\"#videos-and-embeds\">#\u003C\u002Fa>Videos and embeds \u003Cspan class=\"badge badge-sm badge-soft badge-success clay-badge\">New in Clay 4\u003C\u002Fspan>\u003C\u002Fh2>\n\u003Cp>Paste the embed code that YouTube, Vimeo or Figma give you, as it is:\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 style=\"--shiki-light:#800000;--shiki-dark:#808080\">&lt;\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#800000;--shiki-dark:#569CD6\">iframe\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#ae0000;--shiki-dark:#9CDCFE\"> src\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#000000;--shiki-dark:#D4D4D4\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#0000FF;--shiki-dark:#CE9178\">\"https:\u002F\u002Fwww.youtube-nocookie.com\u002Fembed\u002Faqz-KE-bpKQ\"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#ae0000;--shiki-dark:#9CDCFE\"> title\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#000000;--shiki-dark:#D4D4D4\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#0000FF;--shiki-dark:#CE9178\">\"Big Buck Bunny\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#ae0000;--shiki-dark:#9CDCFE\">  allow\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#000000;--shiki-dark:#D4D4D4\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#0000FF;--shiki-dark:#CE9178\">\"encrypted-media; picture-in-picture\"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#ae0000;--shiki-dark:#9CDCFE\"> allowfullscreen\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#800000;--shiki-dark:#808080\">&gt;&lt;\u002F\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#800000;--shiki-dark:#569CD6\">iframe\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#800000;--shiki-dark:#808080\">&gt;\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\u003Ciframe src=\"https:\u002F\u002Fwww.youtube-nocookie.com\u002Fembed\u002Faqz-KE-bpKQ\" title=\"Big Buck Bunny\" allow=\"encrypted-media; picture-in-picture\" allowfullscreen=\"\" loading=\"lazy\" referrerpolicy=\"strict-origin-when-cross-origin\">\u003C\u002Fiframe>\u003Cp>Embeds fill the width of the page in the shape of a video, also on phones, and load only when readers scroll to them. These services can be embedded:\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Service\u003C\u002Fth>\n\u003Cth>Embed address starts with\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>YouTube\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>https:\u002F\u002Fwww.youtube.com\u002Fembed\u002F\u003C\u002Fcode>, \u003Ccode>https:\u002F\u002Fwww.youtube-nocookie.com\u002Fembed\u002F\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Vimeo\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>https:\u002F\u002Fplayer.vimeo.com\u002Fvideo\u002F\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Loom\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>https:\u002F\u002Fwww.loom.com\u002Fembed\u002F\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Figma\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>https:\u002F\u002Fwww.figma.com\u002Fembed\u003C\u002Fcode>, \u003Ccode>https:\u002F\u002Fembed.figma.com\u002F\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>CodePen, CodeSandbox, StackBlitz\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>https:\u002F\u002Fcodepen.io\u002F\u003C\u002Fcode>, \u003Ccode>https:\u002F\u002Fcodesandbox.io\u002F\u003C\u002Fcode>, \u003Ccode>https:\u002F\u002Fstackblitz.com\u002F\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Google Maps\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>https:\u002F\u002Fwww.google.com\u002Fmaps\u002Fembed\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Cp>Frames of any other site are removed: they could show a fake login form inside your docs.\u003C\u002Fp>\n\u003Cp>Your own videos go next to the page, like images, and play with \u003Ccode>&lt;video&gt;\u003C\u002Fcode>:\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 style=\"--shiki-light:#800000;--shiki-dark:#808080\">&lt;\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#800000;--shiki-dark:#569CD6\">video\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#ae0000;--shiki-dark:#9CDCFE\"> src\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#000000;--shiki-dark:#D4D4D4\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#0000FF;--shiki-dark:#CE9178\">\"img\u002Fdemo.mp4\"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#ae0000;--shiki-dark:#9CDCFE\"> poster\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#000000;--shiki-dark:#D4D4D4\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#0000FF;--shiki-dark:#CE9178\">\"img\u002Fdemo.png\"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#ae0000;--shiki-dark:#9CDCFE\"> controls\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#ae0000;--shiki-dark:#9CDCFE\"> muted\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#ae0000;--shiki-dark:#9CDCFE\"> playsinline\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#800000;--shiki-dark:#808080\">&gt;&lt;\u002F\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#800000;--shiki-dark:#569CD6\">video\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#800000;--shiki-dark:#808080\">&gt;\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>\u003Ccode>youtube-nocookie.com\u003C\u002Fcode> plays the same videos, without YouTube setting cookies before readers press play.\u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003Ch2 id=\"what-clay-removes\">\u003Ca class=\"heading-anchor\" href=\"#what-clay-removes\" aria-label=\"Link to this section\" data-route=\"#what-clay-removes\">#\u003C\u002Fa>What Clay removes\u003C\u002Fh2>\n\u003Cp>Docs are often written by many people, including outside contributors. To keep a page from harming its readers, Clay cleans the HTML of every page with \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcure53\u002FDOMPurify\" target=\"_blank\" rel=\"noopener noreferrer\">\u003Ci class=\"fa-solid fa-arrow-up-right-from-square clay-external-icon\" aria-hidden=\"true\">\u003C\u002Fi>DOMPurify\u003C\u002Fa> when it builds the site. It removes:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>&lt;script&gt;\u003C\u002Fcode> elements and event handlers like \u003Ccode>onclick\u003C\u002Fcode> or \u003Ccode>onerror\u003C\u002Fcode>,\u003C\u002Fli>\n\u003Cli>\u003Ccode>javascript:\u003C\u002Fcode> links,\u003C\u002Fli>\n\u003Cli>forms and their fields (\u003Ccode>&lt;form&gt;\u003C\u002Fcode>, \u003Ccode>&lt;input&gt;\u003C\u002Fcode>, \u003Ccode>&lt;textarea&gt;\u003C\u002Fcode>, \u003Ccode>&lt;select&gt;\u003C\u002Fcode>), which could be used for phishing,\u003C\u002Fli>\n\u003Cli>\u003Ccode>&lt;style&gt;\u003C\u002Fcode> elements and \u003Ccode>style\u003C\u002Fcode> attributes, which could lay content over the page,\u003C\u002Fli>\n\u003Cli>frames (\u003Ccode>&lt;iframe&gt;\u003C\u002Fcode>) of sites other than the \u003Ca href=\"#videos-and-embeds\" data-route=\"#videos-and-embeds\">embeds\u003C\u002Fa> above.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Everything else, including tables, images, \u003Ccode>&lt;details&gt;\u003C\u002Fcode> and inline formatting, stays as you wrote it.\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 style=\"--shiki-light:#800000;--shiki-dark:#808080\">&lt;\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#800000;--shiki-dark:#569CD6\">p\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#ae0000;--shiki-dark:#9CDCFE\"> onclick\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#000000;--shiki-dark:#D4D4D4\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#0000FF;--shiki-dark:#CE9178\">\"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#695221;--shiki-dark:#DCDCAA\">steal\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#0000FF;--shiki-dark:#CE9178\">()\"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#800000;--shiki-dark:#808080\">&gt;\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#000000;--shiki-dark:#D4D4D4\">Text\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#800000;--shiki-dark:#808080\">&lt;\u002F\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#800000;--shiki-dark:#569CD6\">p\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#800000;--shiki-dark:#808080\">&gt;\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#006400;--shiki-dark:#6A9955\">   &lt;!-- becomes &lt;p&gt;Text&lt;\u002Fp&gt; --&gt;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#800000;--shiki-dark:#808080\">&lt;\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#800000;--shiki-dark:#569CD6\">script\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#800000;--shiki-dark:#808080\">&gt;\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#695221;--shiki-dark:#DCDCAA\">alert\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#000000FF;--shiki-dark:#D4D4D4\">(\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#076240;--shiki-dark:#B5CEA8\">1\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#000000FF;--shiki-dark:#D4D4D4\">)\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#800000;--shiki-dark:#808080\">&lt;\u002F\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#800000;--shiki-dark:#569CD6\">script\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#800000;--shiki-dark:#808080\">&gt;\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#006400;--shiki-dark:#6A9955\">       &lt;!-- removed --&gt;\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-note\">\n\u003Cp class=\"markdown-alert-title text-base-content\">\u003Ci class=\"fa-solid fa-sticky-note mr-2\">\u003C\u002Fi>Note\u003C\u002Fp>\n\u003Cp>Highlighted code, math and components keep their look: Clay adds their styles itself, after your HTML has been cleaned.\u003C\u002Fp>\n\u003C\u002Fdiv>\n",[6,10],{"id":7,"text":8,"level":9},"videos-and-embeds","Videos and embeds New in Clay 4",2,{"id":11,"text":12,"level":9},"what-clay-removes","What Clay removes","Using HTML inside Markdown, videos and embeds, and what Clay removes to keep your site safe.",null,false,"\u002F_clay\u002Fsocial\u002F4.x\u002Fwriting\u002Fhtml.png",1792666369342]