[{"data":1,"prerenderedAt":1289},["ShallowReactive",2],{"duxt-navigation-docs-docs":3,"i-lucide:rocket":837,"i-lucide:compass":842,"i-lucide:list":844,"i-lucide:ruler":846,"i-lucide:gavel":848,"i-lucide:book-open":850,"i-lucide:folder-git":852,"i-lucide:git-compare":854,"i-lucide:languages":856,"i-lucide:palette":858,"i-lucide:signpost":860,"i-lucide:cloud-upload":862,"i-lucide:thumbs-up":864,"i-lucide:badge-check":866,"i-lucide:menu":868,"i-lucide:chevron-down":870,"i-lucide:search":872,"i-simple-icons:github":874,"i-flag:us-4x3":876,"i-lucide:moon":880,"docs-en-US-\u002Fguides\u002Fbrand-your-site":882,"i-lucide:copy":1267,"i-lucide:thumbs-down":1269,"i-lucide:star":1271,"i-lucide:circle-alert":1273,"i-simple-icons:discord":1275,"i-lucide:book-open-text":1277,"i-lucide:arrow-up-right":1279,"i-lucide:file-code-2":1281,"duxt-code-ts-export default defineAppConfig({\n  duxt: {\n    title: 'Acme SDK'\n  }\n});\n":789,"duxt-code-ts-logo: {\n  src: '\u002Fwordmark.svg',\n  srcDark: '\u002Fwordmark-dark.svg',\n  alt: 'Acme SDK'\n}\n":789,"duxt-code-ts-app: {\n  head: {\n    link: [\n      { rel: 'icon', type: 'image\u002Fsvg+xml', href: '\u002Ffavicon.svg' },\n      { rel: 'apple-touch-icon', href: '\u002Fapple-touch-icon.png' }\n    ]\n  }\n}\n":789,"i-lucide:info":1283,"i-lucide:arrow-left":1285,"i-lucide:chevron-right":1287},[4,30,99,153,748,756,776,831],{"title":5,"path":6,"stem":7,"children":8},"Introduction","\u002Fgetting-started","1.getting-started",[9,13,19,25],{"title":5,"path":6,"stem":10,"icon":11,"description":12},"1.getting-started\u002Findex","lucide:rocket","What duxt is, and what arrives with a single line of config.",{"title":14,"path":15,"stem":16,"icon":17,"description":18},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F1.installation","lucide:download","Add the layer, extend it, write Markdown.",{"title":20,"path":21,"stem":22,"icon":23,"description":24},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F2.configuration","lucide:settings","One file configures the whole site — what belongs in it, and how it merges.",{"title":26,"path":27,"stem":28,"icon":11,"description":29},"Start from the starter","\u002Fgetting-started\u002Ffrom-starter","1.getting-started\u002F3.from-starter","Create a ready-to-run duxt documentation site with Nuxi.",{"title":31,"path":32,"stem":33,"children":34},"Concepts","\u002Fconcepts","2.concepts",[35,39,45,51,57,63,69,75,81,87,93],{"title":31,"path":32,"stem":36,"icon":37,"description":38},"2.concepts\u002Findex","lucide:compass","How the layer works — the sources model, the URL scheme, the collections and the checks.",{"title":40,"path":41,"stem":42,"icon":43,"description":44},"Layers and overriding","\u002Fconcepts\u002Flayers","2.concepts\u002F1.layers","lucide:layers","What a Nuxt layer gives you, what it takes away, and which paths do not resolve the way they read.",{"title":46,"path":47,"stem":48,"icon":49,"description":50},"Theming","\u002Fconcepts\u002Ftheming","2.concepts\u002F10.theming","lucide:palette","How the theme is put together — owned components, one token layer, and a dark mode that switches on a class.",{"title":52,"path":53,"stem":54,"icon":55,"description":56},"Sources","\u002Fconcepts\u002Fsources","2.concepts\u002F2.sources","lucide:git-branch","One list of sources becomes every collection, prefix and version the site serves.",{"title":58,"path":59,"stem":60,"icon":61,"description":62},"URLs and versions","\u002Fconcepts\u002Furls-and-versions","2.concepts\u002F3.urls-and-versions","lucide:git-compare","How the repository and version segments appear, and what a reader in an old version is told.",{"title":64,"path":65,"stem":66,"icon":67,"description":68},"Collections","\u002Fconcepts\u002Fcollections","2.concepts\u002F4.collections","lucide:database","What Content builds from the sources, and the four things the schema adds.",{"title":70,"path":71,"stem":72,"icon":73,"description":74},"Generated sections","\u002Fconcepts\u002Fgenerated-sections","2.concepts\u002F5.generated-sections","lucide:file-cog","An artefact plus a type, published as pages — what the registry is, and the two policies a type answers.",{"title":76,"path":77,"stem":78,"icon":79,"description":80},"What the build checks","\u002Fconcepts\u002Fbuild-checks","2.concepts\u002F6.build-checks","lucide:shield-check","The silent failures this layer had, turned into messages.",{"title":82,"path":83,"stem":84,"icon":85,"description":86},"Machine readers","\u002Fconcepts\u002Fmachine-readers","2.concepts\u002F7.machine-readers","lucide:bot","What a model gets — llms.txt, the raw Markdown of any page, and a real MCP server.",{"title":88,"path":89,"stem":90,"icon":91,"description":92},"SEO","\u002Fconcepts\u002Fseo","2.concepts\u002F8.seo","lucide:search","What every page emits for crawlers and social cards, which module writes it, and the one value the layer cannot guess.",{"title":94,"path":95,"stem":96,"icon":97,"description":98},"Localisation","\u002Fconcepts\u002Flocalisation","2.concepts\u002F9.localisation","lucide:languages","Seven locales ship with the layer, and every configured string takes three forms.",{"title":100,"path":101,"stem":102,"children":103},"Guides","\u002Fguides","3.guides",[104,108,114,119,124,129,135,141,147],{"title":100,"path":101,"stem":105,"icon":106,"description":107},"3.guides\u002Findex","lucide:book-open","One task per page, start to finish — several repositories, several versions, several languages, and a deploy.",{"title":109,"path":110,"stem":111,"icon":112,"description":113},"Several repositories","\u002Fguides\u002Fseveral-repositories","3.guides\u002F1.several-repositories","lucide:folder-git","Serve the documentation of several projects from one site.",{"title":115,"path":116,"stem":117,"icon":61,"description":118},"Several versions","\u002Fguides\u002Fseveral-versions","3.guides\u002F2.several-versions","Serve the same documentation at several refs, with a switcher and a banner.",{"title":120,"path":121,"stem":122,"icon":97,"description":123},"Several languages","\u002Fguides\u002Fseveral-languages","3.guides\u002F3.several-languages","Serve the interface in several languages, and translate the pages themselves.",{"title":125,"path":126,"stem":127,"icon":49,"description":128},"Override the theme","\u002Fguides\u002Foverride-the-theme","3.guides\u002F4.override-the-theme","Change a colour, replace a component, add a shadcn-vue primitive.",{"title":130,"path":131,"stem":132,"icon":133,"description":134},"Move a page","\u002Fguides\u002Fmove-a-page","3.guides\u002F5.move-a-page","lucide:signpost","redirectFrom in the frontmatter, turned into route rules under every prefix.",{"title":136,"path":137,"stem":138,"icon":139,"description":140},"Deploy a site","\u002Fguides\u002Fdeploy-a-site","3.guides\u002F6.deploy-a-site","lucide:cloud-upload","Where a duxt site can run, what it needs there, and why content is not refreshed at runtime.",{"title":142,"path":143,"stem":144,"icon":145,"description":146},"Collect page feedback","\u002Fguides\u002Fcollect-page-feedback","3.guides\u002F7.collect-page-feedback","lucide:thumbs-up","Wrap DuxtPageFeedback, keep the answer where your analytics already live.",{"title":148,"path":149,"stem":150,"icon":151,"description":152},"Brand your site","\u002Fguides\u002Fbrand-your-site","3.guides\u002F8.brand-your-site","lucide:badge-check","Set the name, the wordmark and the icons, so the site reads as yours rather than as the layer's.",{"title":154,"path":155,"stem":156,"children":157},"Reference","\u002Freference","4.reference",[158,162,166,198,202,208,348,495,616,661,721],{"title":154,"path":155,"stem":159,"icon":160,"description":161},"4.reference\u002Findex","lucide:list","The layer's public surface — config keys, frontmatter, components, composables and endpoints.",{"title":20,"path":163,"stem":164,"icon":23,"description":165},"\u002Freference\u002Fconfiguration","4.reference\u002F1.configuration","Every key under duxt in app.config.ts — what it controls, and when it is read.",{"title":167,"path":168,"stem":169,"children":170,"icon":172,"description":173},"Changelog","\u002Freference\u002Fchangelog","4.reference\u002F10.changelog\u002Findex",[171,174,180,186,192],{"title":167,"path":168,"stem":169,"icon":172,"description":173},"lucide:tag","A release log, published as pages — a timeline, a page per release, and a feed.",{"title":175,"path":176,"stem":177,"icon":178,"description":179},"Declaring the section","\u002Freference\u002Fchangelog\u002Fsection","4.reference\u002F10.changelog\u002F1.section","lucide:file-clock","The `changelog` section type — where the file lives, and the two policies it answers.",{"title":181,"path":182,"stem":183,"icon":184,"description":185},"Granularity","\u002Freference\u002Fchangelog\u002Fgranularity","4.reference\u002F10.changelog\u002F2.granularity","lucide:split","A page per release, or the file as the one page it was written as.",{"title":187,"path":188,"stem":189,"icon":190,"description":191},"What is read","\u002Freference\u002Fchangelog\u002Fwhat-is-read","4.reference\u002F10.changelog\u002F3.what-is-read","lucide:scan-text","Which headings become releases, which become groups, and what happens to the rest.",{"title":193,"path":194,"stem":195,"icon":196,"description":197},"Layout and components","\u002Freference\u002Fchangelog\u002Fcomponents","4.reference\u002F10.changelog\u002F4.components","lucide:box","The layout a split history renders in, and the two MDC components its pages are made of.",{"title":52,"path":199,"stem":200,"icon":55,"description":201},"\u002Freference\u002Fsources","4.reference\u002F2.sources","The fields of a source entry, its refs, and the options that shape the URLs.",{"title":203,"path":204,"stem":205,"icon":206,"description":207},"Frontmatter","\u002Freference\u002Ffrontmatter","4.reference\u002F3.frontmatter","lucide:file-code","The fields a page may carry beyond title and description, and the two the build fills in.",{"title":209,"path":210,"stem":211,"children":212,"icon":214,"description":215},"MDC components","\u002Freference\u002Fmdc-components","4.reference\u002F4.mdc-components\u002Findex",[213,216,222,228,234,240,246,252,258,264,302,308,313,319,325,331,337,343],{"title":209,"path":210,"stem":211,"icon":214,"description":215},"lucide:blocks","The blocks a Markdown page can call, one page each, with their props.",{"title":217,"path":218,"stem":219,"icon":220,"description":221},"Callout","\u002Freference\u002Fmdc-components\u002Fcallout","4.reference\u002F4.mdc-components\u002F1.callout","lucide:message-square-warning","An aside the reader is meant to stop at — a tip, a warning, a danger.",{"title":223,"path":224,"stem":225,"icon":226,"description":227},"Package managers","\u002Freference\u002Fmdc-components\u002Fpackage-managers","4.reference\u002F4.mdc-components\u002F10.package-managers","lucide:package","One command, one tab per package manager, remembered across pages.",{"title":229,"path":230,"stem":231,"icon":232,"description":233},"File tree","\u002Freference\u002Fmdc-components\u002Ffile-tree","4.reference\u002F4.mdc-components\u002F11.file-tree","lucide:folder-tree","A folder structure, with icons per file type.",{"title":235,"path":236,"stem":237,"icon":238,"description":239},"Preview","\u002Freference\u002Fmdc-components\u002Fpreview","4.reference\u002F4.mdc-components\u002F12.preview","lucide:eye","A component rendered as the page renders it, with its source beside it.",{"title":241,"path":242,"stem":243,"icon":244,"description":245},"Page cards","\u002Freference\u002Fmdc-components\u002Fpage-cards","4.reference\u002F4.mdc-components\u002F13.page-cards","lucide:layout-grid","A section's children, as cards.",{"title":247,"path":248,"stem":249,"icon":250,"description":251},"Partial","\u002Freference\u002Fmdc-components\u002Fpartial","4.reference\u002F4.mdc-components\u002F14.partial","lucide:puzzle","A block written once and rendered in every source that needs it.",{"title":253,"path":254,"stem":255,"icon":256,"description":257},"Since","\u002Freference\u002Fmdc-components\u002Fsince","4.reference\u002F4.mdc-components\u002F15.since","lucide:milestone","The version something arrived in, beside a heading.",{"title":259,"path":260,"stem":261,"icon":262,"description":263},"Mermaid","\u002Freference\u002Fmdc-components\u002Fmermaid","4.reference\u002F4.mdc-components\u002F16.mermaid","lucide:workflow","A diagram from a fence or a prop.",{"title":265,"path":266,"stem":267,"children":268,"icon":270,"description":271},"Prose overrides","\u002Freference\u002Fmdc-components\u002Fprose","4.reference\u002F4.mdc-components\u002F17.prose\u002Findex",[269,272,278,284,290,296],{"title":265,"path":266,"stem":267,"icon":270,"description":271},"lucide:type","What the layer changes about plain Markdown — links, headings, images, code and tables.",{"title":273,"path":274,"stem":275,"icon":276,"description":277},"ProseA","\u002Freference\u002Fmdc-components\u002Fprose\u002Fprose-a","4.reference\u002F4.mdc-components\u002F17.prose\u002F1.prose-a","lucide:link","A link, resolved against the source it was written in.",{"title":279,"path":280,"stem":281,"icon":282,"description":283},"ProseH2, ProseH3, ProseH4","\u002Freference\u002Fmdc-components\u002Fprose\u002Fprose-headings","4.reference\u002F4.mdc-components\u002F17.prose\u002F2.prose-headings","lucide:heading","Headings, each with a permalink anchor.",{"title":285,"path":286,"stem":287,"icon":288,"description":289},"ProseImg","\u002Freference\u002Fmdc-components\u002Fprose\u002Fprose-img","4.reference\u002F4.mdc-components\u002F17.prose\u002F3.prose-img","lucide:image","An image: theme-aware, and zoomable.",{"title":291,"path":292,"stem":293,"icon":294,"description":295},"ProsePre","\u002Freference\u002Fmdc-components\u002Fprose\u002Fprose-pre","4.reference\u002F4.mdc-components\u002F17.prose\u002F4.prose-pre","lucide:terminal","The code block: filename, language icon, copy button.",{"title":297,"path":298,"stem":299,"icon":300,"description":301},"ProseTable","\u002Freference\u002Fmdc-components\u002Fprose\u002Fprose-table","4.reference\u002F4.mdc-components\u002F17.prose\u002F5.prose-table","lucide:table","A table that scrolls instead of the page.",{"title":303,"path":304,"stem":305,"icon":306,"description":307},"Steps","\u002Freference\u002Fmdc-components\u002Fsteps","4.reference\u002F4.mdc-components\u002F2.steps","lucide:list-ordered","An ordered list drawn as numbered steps on a rail.",{"title":309,"path":310,"stem":311,"icon":206,"description":312},"Code group","\u002Freference\u002Fmdc-components\u002Fcode-group","4.reference\u002F4.mdc-components\u002F3.code-group","Several fences as one tabbed block, labelled by filename.",{"title":314,"path":315,"stem":316,"icon":317,"description":318},"Tab group","\u002Freference\u002Fmdc-components\u002Ftab-group","4.reference\u002F4.mdc-components\u002F4.tab-group","lucide:panels-top-left","Tabs for anything that is not code.",{"title":320,"path":321,"stem":322,"icon":323,"description":324},"Tab","\u002Freference\u002Fmdc-components\u002Ftab","4.reference\u002F4.mdc-components\u002F5.tab","lucide:square","One panel of a tab group.",{"title":326,"path":327,"stem":328,"icon":329,"description":330},"Accordion","\u002Freference\u002Fmdc-components\u002Faccordion","4.reference\u002F4.mdc-components\u002F6.accordion","lucide:chevrons-up-down","Collapsible sections — a FAQ, or answers a reader picks from.",{"title":332,"path":333,"stem":334,"icon":335,"description":336},"Accordion item","\u002Freference\u002Fmdc-components\u002Faccordion-item","4.reference\u002F4.mdc-components\u002F7.accordion-item","lucide:chevron-down","One collapsible section.",{"title":338,"path":339,"stem":340,"icon":341,"description":342},"Field group","\u002Freference\u002Fmdc-components\u002Ffield-group","4.reference\u002F4.mdc-components\u002F8.field-group","lucide:list-tree","A list of fields as one block.",{"title":344,"path":345,"stem":346,"icon":172,"description":347},"Field","\u002Freference\u002Fmdc-components\u002Ffield","4.reference\u002F4.mdc-components\u002F9.field","One parameter, property or option, with its type and default.",{"title":349,"path":350,"stem":351,"children":352,"icon":354,"description":355},"Components","\u002Freference\u002Fcomponents","4.reference\u002F5.components\u002Findex",[353,356,376,417,464],{"title":349,"path":350,"stem":351,"icon":354,"description":355},"lucide:component","The layer's own components, one page each — what each is for, and what it takes.",{"title":357,"path":358,"stem":359,"children":360,"icon":362,"description":363},"Layout","\u002Freference\u002Fcomponents\u002Flayout","4.reference\u002F5.components\u002F1.layout\u002Findex",[361,364,370],{"title":357,"path":358,"stem":359,"icon":362,"description":363},"lucide:layout-panel-top","The two components that frame a page — the navbar and the footer.",{"title":365,"path":366,"stem":367,"icon":368,"description":369},"DuxtHeader","\u002Freference\u002Fcomponents\u002Flayout\u002Fduxt-header","4.reference\u002F5.components\u002F1.layout\u002F1.duxt-header","lucide:panel-top","The navbar: title, navigation, search, and the icon links.",{"title":371,"path":372,"stem":373,"icon":374,"description":375},"DuxtFooter","\u002Freference\u002Fcomponents\u002Flayout\u002Fduxt-footer","4.reference\u002F5.components\u002F1.layout\u002F2.duxt-footer","lucide:panel-bottom","The footer: the site's name, its legal links, and the layer's own line.",{"title":377,"path":378,"stem":379,"children":380,"icon":37,"description":382},"Navigation","\u002Freference\u002Fcomponents\u002Fnavigation","4.reference\u002F5.components\u002F2.navigation\u002Findex",[381,383,389,394,400,406,411],{"title":377,"path":378,"stem":379,"icon":37,"description":382},"Getting around — the section row, the sidebar, the trail, the contents and prev\u002Fnext.",{"title":384,"path":385,"stem":386,"icon":387,"description":388},"DuxtSections","\u002Freference\u002Fcomponents\u002Fnavigation\u002Fduxt-sections","4.reference\u002F5.components\u002F2.navigation\u002F1.duxt-sections","lucide:rows-3","The second navbar row — the top-level parts of the documentation.",{"title":390,"path":391,"stem":392,"icon":341,"description":393},"DuxtNavigation","\u002Freference\u002Fcomponents\u002Fnavigation\u002Fduxt-navigation","4.reference\u002F5.components\u002F2.navigation\u002F2.duxt-navigation","The sidebar tree.",{"title":395,"path":396,"stem":397,"icon":398,"description":399},"DuxtNavigationLink","\u002Freference\u002Fcomponents\u002Fnavigation\u002Fduxt-navigation-link","4.reference\u002F5.components\u002F2.navigation\u002F3.duxt-navigation-link","lucide:link-2","One entry of the sidebar.",{"title":401,"path":402,"stem":403,"icon":404,"description":405},"DuxtBreadcrumb","\u002Freference\u002Fcomponents\u002Fnavigation\u002Fduxt-breadcrumb","4.reference\u002F5.components\u002F2.navigation\u002F4.duxt-breadcrumb","lucide:chevrons-right","The trail above the page title.",{"title":407,"path":408,"stem":409,"icon":160,"description":410},"DuxtToc","\u002Freference\u002Fcomponents\u002Fnavigation\u002Fduxt-toc","4.reference\u002F5.components\u002F2.navigation\u002F5.duxt-toc","The table of contents, and the aside under it.",{"title":412,"path":413,"stem":414,"icon":415,"description":416},"DuxtPageNav","\u002Freference\u002Fcomponents\u002Fnavigation\u002Fduxt-page-nav","4.reference\u002F5.components\u002F2.navigation\u002F6.duxt-page-nav","lucide:arrow-left-right","Previous and next, bounded by the section.",{"title":418,"path":419,"stem":420,"children":421,"icon":423,"description":424},"Controls","\u002Freference\u002Fcomponents\u002Fcontrols","4.reference\u002F5.components\u002F3.controls\u002Findex",[422,425,430,435,441,446,452,458],{"title":418,"path":419,"stem":420,"icon":423,"description":424},"lucide:sliders-horizontal","What a reader operates — search, the switchers, the shortcut sheet, and two indicators.",{"title":426,"path":427,"stem":428,"icon":91,"description":429},"DuxtSearch","\u002Freference\u002Fcomponents\u002Fcontrols\u002Fduxt-search","4.reference\u002F5.components\u002F3.controls\u002F1.duxt-search","Search across every source, ranked together.",{"title":431,"path":432,"stem":433,"icon":43,"description":434},"DuxtVersion","\u002Freference\u002Fcomponents\u002Fcontrols\u002Fduxt-version","4.reference\u002F5.components\u002F3.controls\u002F2.duxt-version","The version badge, and the switcher when there is more than one.",{"title":436,"path":437,"stem":438,"icon":439,"description":440},"DuxtVersionBanner","\u002Freference\u002Fcomponents\u002Fcontrols\u002Fduxt-version-banner","4.reference\u002F5.components\u002F3.controls\u002F3.duxt-version-banner","lucide:triangle-alert","The bar telling a reader this version is not the current one.",{"title":442,"path":443,"stem":444,"icon":97,"description":445},"DuxtLocale","\u002Freference\u002Fcomponents\u002Fcontrols\u002Fduxt-locale","4.reference\u002F5.components\u002F3.controls\u002F4.duxt-locale","The language switcher.",{"title":447,"path":448,"stem":449,"icon":450,"description":451},"DuxtProgress","\u002Freference\u002Fcomponents\u002Fcontrols\u002Fduxt-progress","4.reference\u002F5.components\u002F3.controls\u002F5.duxt-progress","lucide:loader","How far down the page the reader is.",{"title":453,"path":454,"stem":455,"icon":456,"description":457},"DuxtShortcuts","\u002Freference\u002Fcomponents\u002Fcontrols\u002Fduxt-shortcuts","4.reference\u002F5.components\u002F3.controls\u002F6.duxt-shortcuts","lucide:keyboard","The keyboard shortcut sheet, on ?.",{"title":459,"path":460,"stem":461,"icon":462,"description":463},"DuxtSkipLink","\u002Freference\u002Fcomponents\u002Fcontrols\u002Fduxt-skip-link","4.reference\u002F5.components\u002F3.controls\u002F7.duxt-skip-link","lucide:skip-forward","The first focusable element on the page.",{"title":465,"path":466,"stem":467,"children":468,"icon":470,"description":471},"Page","\u002Freference\u002Fcomponents\u002Fpage","4.reference\u002F5.components\u002F4.page\u002Findex",[469,472,478,484,489],{"title":465,"path":466,"stem":467,"icon":470,"description":471},"lucide:file-text","The components that belong to the page itself.",{"title":473,"path":474,"stem":475,"icon":476,"description":477},"DuxtPageInfo","\u002Freference\u002Fcomponents\u002Fpage\u002Fduxt-page-info","4.reference\u002F5.components\u002F4.page\u002F1.duxt-page-info","lucide:git-commit-horizontal","Where the page came from: edit link, last updated, contributors.",{"title":479,"path":480,"stem":481,"icon":482,"description":483},"DuxtCopyPage","\u002Freference\u002Fcomponents\u002Fpage\u002Fduxt-copy-page","4.reference\u002F5.components\u002F4.page\u002F2.duxt-copy-page","lucide:clipboard-copy","Hand this page to a model, or read its source.",{"title":485,"path":486,"stem":487,"icon":145,"description":488},"DuxtPageFeedback","\u002Freference\u002Fcomponents\u002Fpage\u002Fduxt-page-feedback","4.reference\u002F5.components\u002F4.page\u002F3.duxt-page-feedback","Was this page helpful?",{"title":490,"path":491,"stem":492,"icon":493,"description":494},"DuxtCodeBlock","\u002Freference\u002Fcomponents\u002Fpage\u002Fduxt-code-block","4.reference\u002F5.components\u002F4.page\u002F4.duxt-code-block","lucide:code","The card around a code block.",{"title":496,"path":497,"stem":498,"children":499,"icon":501,"description":502},"Composables","\u002Freference\u002Fcomposables","4.reference\u002F6.composables\u002Findex",[500,503,537,566],{"title":496,"path":497,"stem":498,"icon":501,"description":502},"lucide:function-square","The functions the layer exposes to your own components, one page each.",{"title":504,"path":505,"stem":506,"children":507,"icon":67,"description":509},"Config and content","\u002Freference\u002Fcomposables\u002Fconfig-and-content","4.reference\u002F6.composables\u002F1.config-and-content\u002Findex",[508,510,515,521,526,532],{"title":504,"path":505,"stem":506,"icon":67,"description":509},"The merged config, and which collection serves the page being read.",{"title":511,"path":512,"stem":513,"icon":23,"description":514},"useDuxtConfig()","\u002Freference\u002Fcomposables\u002Fconfig-and-content\u002Fuse-duxt-config","4.reference\u002F6.composables\u002F1.config-and-content\u002F1.use-duxt-config","The merged config, every text field already resolved.",{"title":516,"path":517,"stem":518,"icon":519,"description":520},"useDuxtCollection()","\u002Freference\u002Fcomposables\u002Fconfig-and-content\u002Fuse-duxt-collection","4.reference\u002F6.composables\u002F1.config-and-content\u002F2.use-duxt-collection","lucide:library","Which collection serves this route.",{"title":522,"path":523,"stem":524,"icon":341,"description":525},"useDuxtNavigation()","\u002Freference\u002Fcomposables\u002Fconfig-and-content\u002Fuse-duxt-navigation","4.reference\u002F6.composables\u002F1.config-and-content\u002F3.use-duxt-navigation","The navigation tree for the collection serving this route.",{"title":527,"path":528,"stem":529,"icon":530,"description":531},"useDuxtSection()","\u002Freference\u002Fcomposables\u002Fconfig-and-content\u002Fuse-duxt-section","4.reference\u002F6.composables\u002F1.config-and-content\u002F4.use-duxt-section","lucide:folder-open","The part of the documentation this page is in.",{"title":533,"path":534,"stem":535,"icon":404,"description":536},"useDuxtBreadcrumb()","\u002Freference\u002Fcomposables\u002Fconfig-and-content\u002Fuse-duxt-breadcrumb","4.reference\u002F6.composables\u002F1.config-and-content\u002F5.use-duxt-breadcrumb","The trail from the section down to a page.",{"title":538,"path":539,"stem":540,"children":541,"icon":543,"description":544},"Paths and versions","\u002Freference\u002Fcomposables\u002Fpaths-and-versions","4.reference\u002F6.composables\u002F2.paths-and-versions\u002Findex",[542,545,550,555,560],{"title":538,"path":539,"stem":540,"icon":543,"description":544},"lucide:route","Reading a URL, writing one back out, and knowing which version is being read.",{"title":546,"path":547,"stem":548,"icon":256,"description":549},"useDuxtPath()","\u002Freference\u002Fcomposables\u002Fpaths-and-versions\u002Fuse-duxt-path","4.reference\u002F6.composables\u002F2.paths-and-versions\u002F1.use-duxt-path","The path the documentation is at, locale stripped.",{"title":551,"path":552,"stem":553,"icon":276,"description":554},"useDuxtLink()","\u002Freference\u002Fcomposables\u002Fpaths-and-versions\u002Fuse-duxt-link","4.reference\u002F6.composables\u002F2.paths-and-versions\u002F2.use-duxt-link","A documentation path, written back out as a link.",{"title":556,"path":557,"stem":558,"icon":43,"description":559},"useDuxtVersion()","\u002Freference\u002Fcomposables\u002Fpaths-and-versions\u002Fuse-duxt-version","4.reference\u002F6.composables\u002F2.paths-and-versions\u002F3.use-duxt-version","What the switcher shows, what the banner says, whether to index.",{"title":561,"path":562,"stem":563,"icon":564,"description":565},"useDuxtSiteUrl()","\u002Freference\u002Fcomposables\u002Fpaths-and-versions\u002Fuse-duxt-site-url","4.reference\u002F6.composables\u002F2.paths-and-versions\u002F4.use-duxt-site-url","lucide:globe","The configured origin, and paths made absolute.",{"title":567,"path":568,"stem":569,"children":570,"icon":106,"description":572},"Reading experience","\u002Freference\u002Fcomposables\u002Freading","4.reference\u002F6.composables\u002F3.reading\u002Findex",[571,573,577,583,588,594,600,605,611],{"title":567,"path":568,"stem":569,"icon":106,"description":572},"Search, headings, focus, history, and the choices a reader makes.",{"title":574,"path":575,"stem":576,"icon":91,"description":429},"useDuxtSearch()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-duxt-search","4.reference\u002F6.composables\u002F3.reading\u002F1.use-duxt-search",{"title":578,"path":579,"stem":580,"icon":581,"description":582},"useFuzzySearch()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-fuzzy-search","4.reference\u002F6.composables\u002F3.reading\u002F2.use-fuzzy-search","lucide:spell-check","Typo tolerance beside the exact index.",{"title":584,"path":585,"stem":586,"icon":282,"description":587},"useActiveHeading()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-active-heading","4.reference\u002F6.composables\u002F3.reading\u002F3.use-active-heading","The heading currently in view.",{"title":589,"path":590,"stem":591,"icon":592,"description":593},"useDuxtPageFocus()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-duxt-page-focus","4.reference\u002F6.composables\u002F3.reading\u002F4.use-duxt-page-focus","lucide:focus","Moves focus to the heading after a client-side navigation.",{"title":595,"path":596,"stem":597,"icon":598,"description":599},"useRecentPages()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-recent-pages","4.reference\u002F6.composables\u002F3.reading\u002F5.use-recent-pages","lucide:history","The last five pages this reader opened.",{"title":601,"path":602,"stem":603,"icon":226,"description":604},"usePackageManager()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-package-manager","4.reference\u002F6.composables\u002F3.reading\u002F6.use-package-manager","The package manager a reader picked.",{"title":606,"path":607,"stem":608,"icon":609,"description":610},"useDuxtToast()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-duxt-toast","4.reference\u002F6.composables\u002F3.reading\u002F7.use-duxt-toast","lucide:bell","Notifications, wrapped so no component imports the library.",{"title":612,"path":613,"stem":614,"icon":456,"description":615},"useDuxtShortcuts()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-duxt-shortcuts","4.reference\u002F6.composables\u002F3.reading\u002F8.use-duxt-shortcuts","The keys the theme listens to.",{"title":617,"path":618,"stem":619,"children":620,"icon":543,"description":622},"Endpoints","\u002Freference\u002Fendpoints","4.reference\u002F7.endpoints\u002Findex",[621,623,628,634,639,644,649,655],{"title":617,"path":618,"stem":619,"icon":543,"description":622},"Everything the site serves besides pages, one page each.",{"title":624,"path":625,"stem":626,"icon":470,"description":627},"\u002Fllms.txt","\u002Freference\u002Fendpoints\u002Fllms-txt","4.reference\u002F7.endpoints\u002F1.llms-txt","The documentation as a Markdown index, per llmstxt.org.",{"title":629,"path":630,"stem":631,"icon":632,"description":633},"\u002Fllms-full.txt","\u002Freference\u002Fendpoints\u002Fllms-full-txt","4.reference\u002F7.endpoints\u002F2.llms-full-txt","lucide:file-stack","The same pages, whole, in one Markdown file.",{"title":635,"path":636,"stem":637,"icon":206,"description":638},"\u003Cpage>.md","\u002Freference\u002Fendpoints\u002Fpage-markdown","4.reference\u002F7.endpoints\u002F3.page-markdown","Any page source, at its own URL plus .md.",{"title":640,"path":641,"stem":642,"icon":85,"description":643},"\u002Fmcp","\u002Freference\u002Fendpoints\u002Fmcp","4.reference\u002F7.endpoints\u002F4.mcp","An MCP server over the same content.",{"title":645,"path":646,"stem":647,"icon":91,"description":648},"\u002Fsitemap.xml and \u002Frobots.txt","\u002Freference\u002Fendpoints\u002Fsitemap-and-robots","4.reference\u002F7.endpoints\u002F5.sitemap-and-robots","What a crawler is pointed at, and what it is kept out of.",{"title":650,"path":651,"stem":652,"icon":653,"description":654},"\u002Frss.xml","\u002Freference\u002Fendpoints\u002Frss-xml","4.reference\u002F7.endpoints\u002F6.rss-xml","lucide:rss","The feed, once a section is named.",{"title":656,"path":657,"stem":658,"icon":659,"description":660},"\u002F_duxt\u002Fdevtools","\u002Freference\u002Fendpoints\u002Fdevtools","4.reference\u002F7.endpoints\u002F7.devtools","lucide:wrench","The route the Nuxt Devtools panel is served from. Dev only.",{"title":662,"path":663,"stem":664,"children":665,"icon":659,"description":667},"Devtools","\u002Freference\u002Fdevtools","4.reference\u002F8.devtools\u002Findex",[666,668,672,677,682,688,694,700,705,710,715],{"title":662,"path":663,"stem":664,"icon":659,"description":667},"Ten panels that show what your sources became. Dev only.",{"title":52,"path":669,"stem":670,"icon":519,"description":671},"\u002Freference\u002Fdevtools\u002Fsources","4.reference\u002F8.devtools\u002F1.sources","What `duxt.sources` became — one collection per source, version and language.",{"title":673,"path":674,"stem":675,"icon":133,"description":676},"Redirects","\u002Freference\u002Fdevtools\u002Fredirects","4.reference\u002F8.devtools\u002F10.redirects","Every redirect the server ships, and which of them the layer wrote.",{"title":678,"path":679,"stem":680,"icon":543,"description":681},"Paths","\u002Freference\u002Fdevtools\u002Fpaths","4.reference\u002F8.devtools\u002F2.paths","Paste a URL, see which source claims it and what it finds there.",{"title":683,"path":684,"stem":685,"icon":686,"description":687},"Pages","\u002Freference\u002Fdevtools\u002Fpages","4.reference\u002F8.devtools\u002F3.pages","lucide:files","Every page of every collection, with its frontmatter and git metadata.",{"title":689,"path":690,"stem":691,"icon":692,"description":693},"Versions","\u002Freference\u002Fdevtools\u002Fversions","4.reference\u002F8.devtools\u002F4.versions","lucide:columns-3","Which version — and which language — carries which page.",{"title":695,"path":696,"stem":697,"icon":698,"description":699},"Checks","\u002Freference\u002Fdevtools\u002Fchecks","4.reference\u002F8.devtools\u002F5.checks","lucide:check-check","The build validator, run against what the site is serving now.",{"title":701,"path":702,"stem":703,"icon":91,"description":704},"Search","\u002Freference\u002Fdevtools\u002Fsearch","4.reference\u002F8.devtools\u002F6.search","What the search index holds, through the same query the dialog runs.",{"title":706,"path":707,"stem":708,"icon":423,"description":709},"Config","\u002Freference\u002Fdevtools\u002Fconfig","4.reference\u002F8.devtools\u002F7.config","The merged `duxt` config, and which side of the merge each value came from.",{"title":711,"path":712,"stem":713,"icon":97,"description":714},"i18n","\u002Freference\u002Fdevtools\u002Fi18n","4.reference\u002F8.devtools\u002F8.i18n","Message keys per locale, against the base language.",{"title":716,"path":717,"stem":718,"icon":719,"description":720},"Cache","\u002Freference\u002Fdevtools\u002Fcache","4.reference\u002F8.devtools\u002F9.cache","lucide:hard-drive","Content's download cache, and a way to drop one entry.",{"title":722,"path":723,"stem":724,"children":725,"icon":727,"description":728},"API reference","\u002Freference\u002Fopenapi","4.reference\u002F9.openapi\u002Findex",[726,729,733,737,743],{"title":722,"path":723,"stem":724,"icon":727,"description":728},"lucide:plug","An OpenAPI document, published as reference pages with a client that sends real requests.",{"title":175,"path":730,"stem":731,"icon":206,"description":732},"\u002Freference\u002Fopenapi\u002Fsection","4.reference\u002F9.openapi\u002F1.section","The `openapi` section type — where the document lives, and what it becomes.",{"title":349,"path":734,"stem":735,"icon":196,"description":736},"\u002Freference\u002Fopenapi\u002Fcomponents","4.reference\u002F9.openapi\u002F2.components","The three MDC components a generated reference page is made of.",{"title":738,"path":739,"stem":740,"icon":741,"description":742},"The try-it client","\u002Freference\u002Fopenapi\u002Ftry-it","4.reference\u002F9.openapi\u002F3.try-it","lucide:send","A real request, sent by the reader's own browser.",{"title":744,"path":745,"stem":746,"icon":493,"description":747},"Request samples","\u002Freference\u002Fopenapi\u002Frequest-samples","4.reference\u002F9.openapi\u002F4.request-samples","The same request in twelve clients, and how to add your own.",{"title":749,"path":750,"stem":751,"children":752,"icon":754,"description":755},"Credits","\u002Fcredits","5.credits\u002Findex",[753],{"title":749,"path":750,"stem":751,"icon":754,"description":755},"lucide:heart","What duxt is built on, and what it was built after.",{"title":757,"path":758,"stem":759,"children":760},"Conventions","\u002Fconventions","6.conventions",[761,765,771],{"title":757,"path":758,"stem":762,"icon":763,"description":764},"6.conventions\u002Findex","lucide:ruler","Project-specific rules — the ones a reader could not infer from the code.",{"title":766,"path":767,"stem":768,"icon":769,"description":770},"Branding","\u002Fconventions\u002Fbranding","6.conventions\u002F1.branding","lucide:shapes","The [d]uxt mark — where each asset is used, why the icon's brackets are redrawn, and the colours that are fixed.",{"title":772,"path":773,"stem":774,"icon":288,"description":775},"Icons","\u002Fconventions\u002Ficons","6.conventions\u002F2.icons","Four icon sets, and the one question that decides which of them draws a given mark.",{"title":777,"path":778,"stem":779,"children":780},"Architecture decisions","\u002Fadr","99.adr",[781,785,791,796,801,806,811,816,821,826],{"title":777,"path":778,"stem":782,"icon":783,"description":784},"99.adr\u002Findex","lucide:gavel","The decision log — every architecture decision recorded for duxt.",{"title":786,"path":787,"stem":788,"icon":789,"description":790},"Build duxt as a layer carrying a module","\u002Fadr\u002F0001-build-duxt-as-a-layer-carrying-a-module","99.adr\u002F0001-build-duxt-as-a-layer-carrying-a-module",null,"Distribute the theme as a Nuxt layer whose root is the package, rather than as a starter template.",{"title":792,"path":793,"stem":794,"icon":789,"description":795},"Generate the collections from one source list","\u002Fadr\u002F0002-generate-the-collections-from-one-source-list","99.adr\u002F0002-generate-the-collections-from-one-source-list","Compute Content collections from a compact sources list at config load time instead of having consumers declare them.",{"title":797,"path":798,"stem":799,"icon":789,"description":800},"Decide the URL prefixes at build time","\u002Fadr\u002F0003-decide-the-url-prefixes-at-build-time","99.adr\u002F0003-decide-the-url-prefixes-at-build-time","Whether a repository or version segment appears is settled by the source list before the first request, never per request.",{"title":802,"path":803,"stem":804,"icon":789,"description":805},"Render Markdown components with MDC","\u002Fadr\u002F0004-render-markdown-components-with-mdc","99.adr\u002F0004-render-markdown-components-with-mdc","Use Content's own MDC syntax for components inside Markdown rather than adopting MDX.",{"title":807,"path":808,"stem":809,"icon":789,"description":810},"Ship the layer without owner-specific links","\u002Fadr\u002F0005-ship-the-layer-without-owner-specific-links","99.adr\u002F0005-ship-the-layer-without-owner-specific-links","Every default that would name a specific project — repository, issue tracker, community, imprint — ships empty.",{"title":812,"path":813,"stem":814,"icon":789,"description":815},"Rebuild on a schedule rather than refresh at runtime","\u002Fadr\u002F0006-rebuild-on-a-schedule-rather-than-refresh-at-runtime","99.adr\u002F0006-rebuild-on-a-schedule-rather-than-refresh-at-runtime","A site reading another repository picks up its changes when it builds, and no runtime refresh is offered.",{"title":817,"path":818,"stem":819,"icon":789,"description":820},"Serve translations as collections of their own","\u002Fadr\u002F0007-serve-translations-as-collections-of-their-own","99.adr\u002F0007-serve-translations-as-collections-of-their-own","Add a locale dimension to a source rather than a locale segment to the content path.",{"title":822,"path":823,"stem":824,"icon":789,"description":825},"Build the theme on owned shadcn-vue components","\u002Fadr\u002F0008-build-the-theme-on-owned-shadcn-vue-components","99.adr\u002F0008-build-the-theme-on-owned-shadcn-vue-components","The layer holds the source of its interface components rather than importing them from a component library or a ready-made documentation theme.",{"title":827,"path":828,"stem":829,"icon":789,"description":830},"Take the SEO stack from the Nuxt SEO bundle","\u002Fadr\u002F0009-take-the-seo-stack-from-the-nuxt-seo-bundle","99.adr\u002F0009-take-the-seo-stack-from-the-nuxt-seo-bundle","The layer installs @nuxtjs\u002Fseo and hands it the head tags and structured data it used to write by hand, keeping only the rules that depend on versions and translations.",{"title":832,"path":833,"stem":834,"icon":835,"description":836},"Documentation","\u002F","index","lucide:book-open-text","A Nuxt layer that turns a repository's docs folder into a versioned, multi-repo documentation site.",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":841},0,24,false,"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09\"\u002F>\u003Cpath d=\"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z\"\u002F>\u003Cpath d=\"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05\"\u002F>\u003C\u002Fg>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":843},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"m16.24 7.76l-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z\"\u002F>\u003C\u002Fg>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":845},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 5h.01M3 12h.01M3 19h.01M8 5h13M8 12h13M8 19h13\"\u002F>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":847},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Zm-6.8-2.8l2-2m-5-1l2-2m-5-1l2-2m7 11l2-2\"\u002F>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":849},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m14 13l-8.381 8.38a1 1 0 0 1-3.001-3l8.384-8.381M16 16l6-6m-.5.5l-8-8M8 8l6-6M8.5 7.5l8 8\"\u002F>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":851},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 5v16m8.001-2A2 2 0 0 0 22 17V5a2 2 0 0 0-1.999-2L16 3.002A5 5 0 0 0 12 5a5 5 0 0 0-4-2H4a2 2 0 0 0-2 2v12a2 2 0 0 0 1.999 2H8a5 5 0 0 1 4 2a5 5 0 0 1 4-2z\"\u002F>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":853},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"13\" r=\"2\"\u002F>\u003Cpath d=\"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Zm-6-7h3M7 13h3\"\u002F>\u003C\u002Fg>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":855},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"18\" cy=\"18\" r=\"3\"\u002F>\u003Ccircle cx=\"6\" cy=\"6\" r=\"3\"\u002F>\u003Cpath d=\"M13 6h3a2 2 0 0 1 2 2v7m-7 3H8a2 2 0 0 1-2-2V9\"\u002F>\u003C\u002Fg>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":857},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m5 8l6 6m-7 0l6-6l2-3M2 5h12M7 2h1m14 20l-5-10l-5 10m2-4h6\"\u002F>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":859},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M12 22a1 1 0 0 1 0-20a10 9 0 0 1 10 9a5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z\"\u002F>\u003Ccircle cx=\"13.5\" cy=\"6.5\" r=\".5\" fill=\"currentColor\"\u002F>\u003Ccircle cx=\"17.5\" cy=\"10.5\" r=\".5\" fill=\"currentColor\"\u002F>\u003Ccircle cx=\"6.5\" cy=\"12.5\" r=\".5\" fill=\"currentColor\"\u002F>\u003Ccircle cx=\"8.5\" cy=\"7.5\" r=\".5\" fill=\"currentColor\"\u002F>\u003C\u002Fg>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":861},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 13v8m0-18v3m-9.646 4.354a1.207 1.207 0 0 1 0-1.708l2.06-2.06A2 2 0 0 1 5.828 6h12.344a2 2 0 0 1 1.414.586l2.06 2.06a1.207 1.207 0 0 1 0 1.708l-2.06 2.06a2 2 0 0 1-1.414.586H5.828a2 2 0 0 1-1.414-.586z\"\u002F>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":863},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M12 13v8m-8-6.101A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242\"\u002F>\u003Cpath d=\"m8 17l4-4l4 4\"\u002F>\u003C\u002Fg>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":865},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 5.88L14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88M7 10v12\"\u002F>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":867},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M3.85 8.62a4 4 0 0 1 4.78-4.77a4 4 0 0 1 6.74 0a4 4 0 0 1 4.78 4.78a4 4 0 0 1 0 6.74a4 4 0 0 1-4.77 4.78a4 4 0 0 1-6.75 0a4 4 0 0 1-4.78-4.77a4 4 0 0 1 0-6.76\"\u002F>\u003Cpath d=\"m16 9l-5.5 5.5L8 12\"\u002F>\u003C\u002Fg>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":869},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":871},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m6 9l6 6l6-6\"\u002F>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":873},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m21 21l-4.34-4.34\"\u002F>\u003Ccircle cx=\"11\" cy=\"11\" r=\"8\"\u002F>\u003C\u002Fg>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":875},"\u003Cpath fill=\"currentColor\" d=\"M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"\u002F>",{"left":838,"top":838,"width":877,"height":878,"rotate":838,"vFlip":840,"hFlip":840,"body":879},640,480,"\u003Cpath fill=\"#bd3d44\" d=\"M0 0h640v480H0\"\u002F>\u003Cpath stroke=\"#fff\" stroke-width=\"37\" d=\"M0 55.3h640M0 129h640M0 203h640M0 277h640M0 351h640M0 425h640\"\u002F>\u003Cpath fill=\"#192f5d\" d=\"M0 0h364.8v258.5H0\"\u002F>\u003Cmarker id=\"SVGEq3dreKJ\" markerHeight=\"30\" markerWidth=\"30\">\u003Cpath fill=\"#fff\" d=\"m14 0l9 27L0 10h28L5 27z\"\u002F>\u003C\u002Fmarker>\u003Cpath fill=\"none\" marker-mid=\"url(#SVGEq3dreKJ)\" d=\"m0 0l16 11h61h61h61h61h60L47 37h61h61h60h61L16 63h61h61h61h61h60L47 89h61h61h60h61L16 115h61h61h61h61h60L47 141h61h61h60h61L16 166h61h61h61h61h60L47 192h61h61h60h61L16 218h61h61h61h61h60z\"\u002F>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":881},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\"\u002F>",{"page":883,"from":1265,"asked":1266},{"id":884,"title":148,"body":885,"compare":789,"contributors":789,"date":789,"description":152,"extension":1259,"icon":151,"lastUpdated":789,"layout":789,"meta":1260,"navigation":840,"path":149,"rawbody":1261,"redirectFrom":789,"release":789,"seo":1262,"sitemap":1263,"stem":150,"__hash__":1264},"docs\u002F3.guides\u002F8.brand-your-site.md",{"type":886,"value":887,"toc":1254},"minimark",[888,892,896,1180,1184,1190,1194,1250],[889,890,891],"p",{},"The layer ships unbranded on purpose: no name, no mark, no icons. A site that\nextended it and showed duxt's identity would be advertising somebody else's\nproject, so every one of these is yours to set — and until you do, the header\nfalls back to a generic book icon.",[893,894,303],"h2",{"id":895},"steps",[895,897,898,1063,1071,1079,1161,1168],{},[899,900,901,984],"ol",{},[902,903,904,908,909,913,914,917,918,976,979,980,983],"li",{},[905,906,907],"strong",{},"The name."," ",[910,911,912],"code",{},"title"," is the word in the navbar, the SEO title template, the\n404, the RSS channel and the ",[910,915,916],{},"llms.txt"," heading. One value, seven readers.",[919,920,926],"pre",{"className":921,"code":922,"filename":923,"language":924,"meta":925,"style":925},"language-ts shiki shiki-themes github-light github-dark","export default defineAppConfig({\n  duxt: {\n    title: 'Acme SDK'\n  }\n});\n","app\u002Fapp.config.ts","ts","",[910,927,928,948,954,964,970],{"__ignoreMap":925},[929,930,933,937,940,944],"span",{"class":931,"line":932},"line",1,[929,934,936],{"class":935},"szBVR","export",[929,938,939],{"class":935}," default",[929,941,943],{"class":942},"sScJk"," defineAppConfig",[929,945,947],{"class":946},"sVt8B","({\n",[929,949,951],{"class":931,"line":950},2,[929,952,953],{"class":946},"  duxt: {\n",[929,955,957,960],{"class":931,"line":956},3,[929,958,959],{"class":946},"    title: ",[929,961,963],{"class":962},"sZZnC","'Acme SDK'\n",[929,965,967],{"class":931,"line":966},4,[929,968,969],{"class":946},"  }\n",[929,971,973],{"class":931,"line":972},5,[929,974,975],{"class":946},"});\n",[977,978],"br",{},"Same in every language, so a plain string is right. Where it is not, the\nrecord form works here as it does anywhere else — see\n",[981,982,120],"a",{"href":121},".",[902,985,986,908,989,992,993,996,997,1000,1001,1054,1056,1059,1060,1062],{},[905,987,988],{},"The wordmark, if you have one.",[910,990,991],{},"logo.src"," replaces the icon-and-name pair\nwith an image. ",[910,994,995],{},"srcDark"," is swapped in by CSS under the ",[910,998,999],{},"dark"," class, not by\nscript — a scripted choice renders the light mark into the server HTML and\nflips it after hydration, which is a visible blink.",[919,1002,1004],{"className":921,"code":1003,"filename":923,"language":924,"meta":925,"style":925},"logo: {\n  src: '\u002Fwordmark.svg',\n  srcDark: '\u002Fwordmark-dark.svg',\n  alt: 'Acme SDK'\n}\n",[910,1005,1006,1014,1028,1040,1049],{"__ignoreMap":925},[929,1007,1008,1011],{"class":931,"line":932},[929,1009,1010],{"class":942},"logo",[929,1012,1013],{"class":946},": {\n",[929,1015,1016,1019,1022,1025],{"class":931,"line":950},[929,1017,1018],{"class":942},"  src",[929,1020,1021],{"class":946},": ",[929,1023,1024],{"class":962},"'\u002Fwordmark.svg'",[929,1026,1027],{"class":946},",\n",[929,1029,1030,1033,1035,1038],{"class":931,"line":956},[929,1031,1032],{"class":942},"  srcDark",[929,1034,1021],{"class":946},[929,1036,1037],{"class":962},"'\u002Fwordmark-dark.svg'",[929,1039,1027],{"class":946},[929,1041,1042,1045,1047],{"class":931,"line":966},[929,1043,1044],{"class":942},"  alt",[929,1046,1021],{"class":946},[929,1048,963],{"class":962},[929,1050,1051],{"class":931,"line":972},[929,1052,1053],{"class":946},"}\n",[977,1055],{},[910,1057,1058],{},"alt"," falls back to ",[910,1061,912],{},", so set it only where the mark says something the\nname does not.",[1064,1065,1068],"callout",{"title":1066,"type":1067},"Height is fixed, width follows","info",[889,1069,1070],{},"Every wordmark has its own ratio, so the component sets the height and lets\nthe width follow. A mark shaped for a square box will look starved; one much\nwider than tall will not be squashed.",[899,1072,1073],{"start":956},[902,1074,1075,1078],{},[905,1076,1077],{},"The browser icons."," These are not duxt config — they are ordinary Nuxt\nhead entries, because a favicon is a site's, never a theme's.",[919,1080,1083],{"className":921,"code":1081,"filename":1082,"language":924,"meta":925,"style":925},"app: {\n  head: {\n    link: [\n      { rel: 'icon', type: 'image\u002Fsvg+xml', href: '\u002Ffavicon.svg' },\n      { rel: 'apple-touch-icon', href: '\u002Fapple-touch-icon.png' }\n    ]\n  }\n}\n","nuxt.config.ts",[910,1084,1085,1092,1099,1107,1130,1145,1151,1156],{"__ignoreMap":925},[929,1086,1087,1090],{"class":931,"line":932},[929,1088,1089],{"class":942},"app",[929,1091,1013],{"class":946},[929,1093,1094,1097],{"class":931,"line":950},[929,1095,1096],{"class":942},"  head",[929,1098,1013],{"class":946},[929,1100,1101,1104],{"class":931,"line":956},[929,1102,1103],{"class":942},"    link",[929,1105,1106],{"class":946},": [\n",[929,1108,1109,1112,1115,1118,1121,1124,1127],{"class":931,"line":966},[929,1110,1111],{"class":946},"      { rel: ",[929,1113,1114],{"class":962},"'icon'",[929,1116,1117],{"class":946},", type: ",[929,1119,1120],{"class":962},"'image\u002Fsvg+xml'",[929,1122,1123],{"class":946},", href: ",[929,1125,1126],{"class":962},"'\u002Ffavicon.svg'",[929,1128,1129],{"class":946}," },\n",[929,1131,1132,1134,1137,1139,1142],{"class":931,"line":972},[929,1133,1111],{"class":946},[929,1135,1136],{"class":962},"'apple-touch-icon'",[929,1138,1123],{"class":946},[929,1140,1141],{"class":962},"'\u002Fapple-touch-icon.png'",[929,1143,1144],{"class":946}," }\n",[929,1146,1148],{"class":931,"line":1147},6,[929,1149,1150],{"class":946},"    ]\n",[929,1152,1154],{"class":931,"line":1153},7,[929,1155,969],{"class":946},[929,1157,1159],{"class":931,"line":1158},8,[929,1160,1053],{"class":946},[889,1162,1163,1164,1167],{},"An SVG icon can carry its own ",[910,1165,1166],{},"prefers-color-scheme"," rule, so one file covers\na light and a dark tab strip. The PNG (180×180) exists only because iOS\nignores SVG icons.",[899,1169,1170],{"start":966},[902,1171,1172,1175,1176,1179],{},[905,1173,1174],{},"The attribution line, if you want it gone."," The footer carries a \"Powered\nby duxt\" line with the layer's version. ",[910,1177,1178],{},"poweredBy: false"," drops it — a layer\nthat cannot be told to stop naming itself is adware.",[893,1181,1183],{"id":1182},"what-stays-the-layers","What stays the layer's",[889,1185,1186,1187,1189],{},"Colours, spacing and components are a separate question, and a separate page:\n",[981,1188,125],{"href":126},". Identity is what this page\ncovers — the name and the mark. The two are worth keeping apart, because a brand\ncolour usually turns out to be one token, not a fork of the theme.",[893,1191,1193],{"id":1192},"checklist","Checklist",[1195,1196,1199,1211,1220,1229,1241],"ul",{"className":1197},[1198],"contains-task-list",[902,1200,1203,908,1208,1210],{"className":1201},[1202],"task-list-item",[1204,1205],"input",{"disabled":1206,"type":1207},true,"checkbox",[910,1209,912],{}," is set, and nothing in the header still reads \"Documentation\"",[902,1212,1214,908,1216,1219],{"className":1213},[1202],[1204,1215],{"disabled":1206,"type":1207},[910,1217,1218],{},"logo.srcDark"," is set, or the mark is legible on both backgrounds",[902,1221,1223,1225,1226],{"className":1222},[1202],[1204,1224],{"disabled":1206,"type":1207}," The favicon and the apple-touch-icon resolve — both are served from ",[910,1227,1228],{},"public\u002F",[902,1230,1232,908,1234,1236,1237,1240],{"className":1231},[1202],[1204,1233],{"disabled":1206,"type":1207},[910,1235,916],{}," and ",[910,1238,1239],{},"rss.xml"," name your site, not a placeholder",[902,1242,1244,908,1246,1249],{"className":1243},[1202],[1204,1245],{"disabled":1206,"type":1207},[910,1247,1248],{},"poweredBy"," is a deliberate choice rather than a default nobody looked at",[1251,1252,1253],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}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);}",{"title":925,"searchDepth":950,"depth":950,"links":1255},[1256,1257,1258],{"id":895,"depth":950,"text":303},{"id":1182,"depth":950,"text":1183},{"id":1192,"depth":950,"text":1193},"md",{},"---\ntitle: Brand your site\ndescription: Set the name, the wordmark and the icons, so the site reads as yours rather than as the layer's.\nicon: lucide:badge-check\n---\n\nThe layer ships unbranded on purpose: no name, no mark, no icons. A site that\nextended it and showed duxt's identity would be advertising somebody else's\nproject, so every one of these is yours to set — and until you do, the header\nfalls back to a generic book icon.\n\n## Steps\n\n:::steps\n\n1. **The name.** `title` is the word in the navbar, the SEO title template, the\n   404, the RSS channel and the `llms.txt` heading. One value, seven readers.\n\n   ```ts [app\u002Fapp.config.ts]\n   export default defineAppConfig({\n     duxt: {\n       title: 'Acme SDK'\n     }\n   });\n   ```\n\n   Same in every language, so a plain string is right. Where it is not, the\n   record form works here as it does anywhere else — see\n   [Several languages](\u002Fguides\u002Fseveral-languages).\n\n2. **The wordmark, if you have one.** `logo.src` replaces the icon-and-name pair\n   with an image. `srcDark` is swapped in by CSS under the `dark` class, not by\n   script — a scripted choice renders the light mark into the server HTML and\n   flips it after hydration, which is a visible blink.\n\n   ```ts [app\u002Fapp.config.ts]\n   logo: {\n     src: '\u002Fwordmark.svg',\n     srcDark: '\u002Fwordmark-dark.svg',\n     alt: 'Acme SDK'\n   }\n   ```\n\n   `alt` falls back to `title`, so set it only where the mark says something the\n   name does not.\n\n   ::callout{type=\"info\" title=\"Height is fixed, width follows\"}\n   Every wordmark has its own ratio, so the component sets the height and lets\n   the width follow. A mark shaped for a square box will look starved; one much\n   wider than tall will not be squashed.\n   ::\n\n3. **The browser icons.** These are not duxt config — they are ordinary Nuxt\n   head entries, because a favicon is a site's, never a theme's.\n\n   ```ts [nuxt.config.ts]\n   app: {\n     head: {\n       link: [\n         { rel: 'icon', type: 'image\u002Fsvg+xml', href: '\u002Ffavicon.svg' },\n         { rel: 'apple-touch-icon', href: '\u002Fapple-touch-icon.png' }\n       ]\n     }\n   }\n   ```\n\n   An SVG icon can carry its own `prefers-color-scheme` rule, so one file covers\n   a light and a dark tab strip. The PNG (180×180) exists only because iOS\n   ignores SVG icons.\n\n4. **The attribution line, if you want it gone.** The footer carries a \"Powered\n   by duxt\" line with the layer's version. `poweredBy: false` drops it — a layer\n   that cannot be told to stop naming itself is adware.\n\n:::\n\n## What stays the layer's\n\nColours, spacing and components are a separate question, and a separate page:\n[Override the theme](\u002Fguides\u002Foverride-the-theme). Identity is what this page\ncovers — the name and the mark. The two are worth keeping apart, because a brand\ncolour usually turns out to be one token, not a fork of the theme.\n\n## Checklist\n\n- [ ] `title` is set, and nothing in the header still reads \"Documentation\"\n- [ ] `logo.srcDark` is set, or the mark is legible on both backgrounds\n- [ ] The favicon and the apple-touch-icon resolve — both are served from `public\u002F`\n- [ ] `llms.txt` and `rss.xml` name your site, not a placeholder\n- [ ] `poweredBy` is a deliberate choice rather than a default nobody looked at\n",{"title":148,"description":152},{"loc":149},"Yfvy9lH6dM-pcRsmC7OqTHdXl6VggWoTnPmAKc5JsNY","en-GB","en-US",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":1268},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\" ry=\"2\"\u002F>\u003Cpath d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"\u002F>\u003C\u002Fg>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":1270},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 18.12L10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88M17 14V2\"\u002F>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":1272},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.12 2.12 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.12 2.12 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.12 2.12 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16z\"\u002F>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":1274},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"M12 8v4m0 4h.01\"\u002F>\u003C\u002Fg>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":1276},"\u003Cpath fill=\"currentColor\" d=\"M20.317 4.37a19.8 19.8 0 0 0-4.885-1.515a.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.3 18.3 0 0 0-5.487 0a13 13 0 0 0-.617-1.25a.08.08 0 0 0-.079-.037A19.7 19.7 0 0 0 3.677 4.37a.1.1 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.08.08 0 0 0 .031.057a19.9 19.9 0 0 0 5.993 3.03a.08.08 0 0 0 .084-.028a14 14 0 0 0 1.226-1.994a.076.076 0 0 0-.041-.106a13 13 0 0 1-1.872-.892a.077.077 0 0 1-.008-.128a10 10 0 0 0 .372-.292a.07.07 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.07.07 0 0 1 .078.01q.181.149.373.292a.077.077 0 0 1-.006.127a12.3 12.3 0 0 1-1.873.892a.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.08.08 0 0 0 .084.028a19.8 19.8 0 0 0 6.002-3.03a.08.08 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.06.06 0 0 0-.031-.03M8.02 15.33c-1.182 0-2.157-1.085-2.157-2.419c0-1.333.956-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.956 2.418-2.157 2.418m7.975 0c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.955-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.946 2.418-2.157 2.418\"\u002F>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":1278},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 5v16m4-8h2m-2-4h2m2.001 10A2 2 0 0 0 22 17V5a2 2 0 0 0-1.999-2L16 3.002A5 5 0 0 0 12 5a5 5 0 0 0-4-2H4a2 2 0 0 0-2 2v12a2 2 0 0 0 1.999 2H8a5 5 0 0 1 4 2a5 5 0 0 1 4-2zM6 13h2M6 9h2\"\u002F>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":1280},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M7 7h10v10M7 17L17 7\"\u002F>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":1282,"hidden":1206},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4\"\u002F>\u003Cpath d=\"M14 2v4a2 2 0 0 0 2 2h4M5 12l-3 3l3 3m4 0l3-3l-3-3\"\u002F>\u003C\u002Fg>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":1284},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"M12 16v-4m0-4h.01\"\u002F>\u003C\u002Fg>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":1286},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m12 19l-7-7l7-7m7 7H5\"\u002F>",{"left":838,"top":838,"width":839,"height":839,"rotate":838,"vFlip":840,"hFlip":840,"body":1288},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m9 18l6-6l-6-6\"\u002F>",1789087256826]