[{"data":1,"prerenderedAt":1867},["ShallowReactive",2],{"duxt-navigation-docs-docs_fr":3,"i-lucide:rocket":833,"i-lucide:compass":838,"i-lucide:book-open":840,"i-lucide:ruler":842,"i-lucide:gavel":844,"i-lucide:list":846,"i-lucide:settings":848,"i-lucide:tag":850,"i-lucide:git-branch":852,"i-lucide:file-code":854,"i-lucide:blocks":856,"i-lucide:component":858,"i-lucide:function-square":860,"i-lucide:route":862,"i-lucide:wrench":864,"i-lucide:plug":866,"i-lucide:chevron-right":868,"i-lucide:menu":870,"i-lucide:chevron-down":872,"i-lucide:search":874,"i-simple-icons:github":876,"i-flag:fr-4x3":878,"i-lucide:moon":882,"docs-fr-FR-\u002Freference\u002Fsources":884,"i-lucide:copy":1845,"i-lucide:thumbs-up":1847,"i-lucide:thumbs-down":1849,"i-lucide:star":1851,"i-lucide:circle-alert":1853,"i-simple-icons:discord":1855,"i-lucide:book-open-text":1857,"i-lucide:arrow-up-right":1859,"i-lucide:pencil":1861,"duxt-code-ts-refs: [\n  'main',                                     \u002F\u002F une branche\n  { branch: 'next', status: 'upcoming' },     \u002F\u002F la même, avec un cycle de vie\n  { tag: 'v2.0.0', label: 'v2' },             \u002F\u002F un tag\n  'latest'                                    \u002F\u002F le tag semver le plus récent, résolu à la compilation\n]\n":785,"duxt-code-ts-locales: [\n  'en-GB',                                              \u002F\u002F la valeur par défaut : docs\u002F lui-même\n  'de',                                                 \u002F\u002F docs\u002Fde\u002F\n  { locale: 'fr', path: 'translations\u002Ffr' },            \u002F\u002F ailleurs dans ce dépôt\n  { locale: 'es', repo: 'acme\u002Fdocs-es', path: 'docs' }  \u002F\u002F un autre dépôt\n]\n":785,"duxt-code-ts-refs: [\n  { tag: 'v2.0.0' },                     \u002F\u002F hérite des locales de la source\n  { tag: 'v1.0.0', locales: ['en-GB'] }  \u002F\u002F l’original seulement\n]\n":785,"i-lucide:arrow-left":1863,"i-lucide:arrow-right":1865},[4,25,94,148,744,752,772,827],{"title":5,"path":6,"stem":7,"children":8,"description":12},"Introduction","\u002Fgetting-started","1.getting-started",[9,13,19],{"title":5,"path":6,"stem":10,"icon":11,"description":12},"1.getting-started\u002Findex","lucide:rocket","Ce qu’est duxt, et ce qui arrive avec une seule ligne de configuration.",{"title":14,"path":15,"stem":16,"icon":17,"description":18},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F1.installation","lucide:download","Ajoutez la couche, étendez-la, écrivez du Markdown.",{"title":20,"path":21,"stem":22,"icon":23,"description":24},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F2.configuration","lucide:settings","Un fichier configure tout le site — ce qu’il contient, et comment il fusionne.",{"title":26,"path":27,"stem":28,"children":29,"description":33},"Concepts","\u002Fconcepts","2.concepts",[30,34,40,46,52,58,64,70,76,82,88],{"title":26,"path":27,"stem":31,"icon":32,"description":33},"2.concepts\u002Findex","lucide:compass","Comment fonctionne la couche — le modèle de sources, le schéma d’URL, les collections et les vérifications.",{"title":35,"path":36,"stem":37,"icon":38,"description":39},"Couches et surcharge","\u002Fconcepts\u002Flayers","2.concepts\u002F1.layers","lucide:layers","Ce qu’une couche Nuxt vous donne, ce qu’elle vous retire, et quels chemins ne se résolvent pas comme ils se lisent.",{"title":41,"path":42,"stem":43,"icon":44,"description":45},"Thématisation","\u002Fconcepts\u002Ftheming","2.concepts\u002F10.theming","lucide:palette","Comment le thème est construit — des composants possédés, une couche de jetons et un mode sombre qui bascule sur une classe.",{"title":47,"path":48,"stem":49,"icon":50,"description":51},"Sources","\u002Fconcepts\u002Fsources","2.concepts\u002F2.sources","lucide:git-branch","Une liste de sources devient chaque collection, préfixe et version que le site sert.",{"title":53,"path":54,"stem":55,"icon":56,"description":57},"URL et versions","\u002Fconcepts\u002Furls-and-versions","2.concepts\u002F3.urls-and-versions","lucide:git-compare","Comment apparaissent les segments de dépôt et de version, et ce qu’on dit à un lecteur dans une ancienne version.",{"title":59,"path":60,"stem":61,"icon":62,"description":63},"Collections","\u002Fconcepts\u002Fcollections","2.concepts\u002F4.collections","lucide:database","Ce que Content construit à partir des sources, et les quatre choses qu’ajoute le schéma.",{"title":65,"path":66,"stem":67,"icon":68,"description":69},"Sections générées","\u002Fconcepts\u002Fgenerated-sections","2.concepts\u002F5.generated-sections","lucide:file-cog","Un artefact plus un type, publiés en pages — ce qu’est le registre, et les deux politiques auxquelles un type répond.",{"title":71,"path":72,"stem":73,"icon":74,"description":75},"Ce que la compilation vérifie","\u002Fconcepts\u002Fbuild-checks","2.concepts\u002F6.build-checks","lucide:shield-check","Les échecs silencieux qu’a connus cette couche, transformés en messages.",{"title":77,"path":78,"stem":79,"icon":80,"description":81},"Lecteurs machines","\u002Fconcepts\u002Fmachine-readers","2.concepts\u002F7.machine-readers","lucide:bot","Ce qu’obtient un modèle — llms.txt, le Markdown brut de n’importe quelle page et un vrai serveur MCP.",{"title":83,"path":84,"stem":85,"icon":86,"description":87},"SEO","\u002Fconcepts\u002Fseo","2.concepts\u002F8.seo","lucide:search","Ce que chaque page émet pour les robots et les cartes sociales, quel module l'écrit, et la seule valeur que la couche ne peut pas deviner.",{"title":89,"path":90,"stem":91,"icon":92,"description":93},"Localisation","\u002Fconcepts\u002Flocalisation","2.concepts\u002F9.localisation","lucide:languages","La couche fournit sept locales, et chaque chaîne configurée prend trois formes.",{"title":95,"path":96,"stem":97,"children":98,"description":102},"Guides","\u002Fguides","3.guides",[99,103,109,114,119,124,130,136,142],{"title":95,"path":96,"stem":100,"icon":101,"description":102},"3.guides\u002Findex","lucide:book-open","Une tâche par page, du début à la fin — plusieurs dépôts, plusieurs versions, plusieurs langues et un déploiement.",{"title":104,"path":105,"stem":106,"icon":107,"description":108},"Plusieurs dépôts","\u002Fguides\u002Fseveral-repositories","3.guides\u002F1.several-repositories","lucide:folder-git","Servir la documentation de plusieurs projets depuis un seul site.",{"title":110,"path":111,"stem":112,"icon":56,"description":113},"Plusieurs versions","\u002Fguides\u002Fseveral-versions","3.guides\u002F2.several-versions","Servir la même documentation sur plusieurs refs, avec un sélecteur et un bandeau.",{"title":115,"path":116,"stem":117,"icon":92,"description":118},"Plusieurs langues","\u002Fguides\u002Fseveral-languages","3.guides\u002F3.several-languages","Servir l’interface en plusieurs langues, et traduire les pages elles-mêmes.",{"title":120,"path":121,"stem":122,"icon":44,"description":123},"Surcharger le thème","\u002Fguides\u002Foverride-the-theme","3.guides\u002F4.override-the-theme","Changer une couleur, remplacer un composant, ajouter une primitive shadcn-vue.",{"title":125,"path":126,"stem":127,"icon":128,"description":129},"Déplacer une page","\u002Fguides\u002Fmove-a-page","3.guides\u002F5.move-a-page","lucide:signpost","redirectFrom dans le frontmatter, transformé en règles de route sous chaque préfixe.",{"title":131,"path":132,"stem":133,"icon":134,"description":135},"Déployer un site","\u002Fguides\u002Fdeploy-a-site","3.guides\u002F6.deploy-a-site","lucide:cloud-upload","Où un site duxt peut tourner, ce qu’il lui faut là-bas, et pourquoi le contenu n’est pas rafraîchi à l’exécution.",{"title":137,"path":138,"stem":139,"icon":140,"description":141},"Recueillir des retours","\u002Fguides\u002Fcollect-page-feedback","3.guides\u002F7.collect-page-feedback","lucide:thumbs-up","Enveloppez DuxtPageFeedback et gardez la réponse là où vit déjà votre analytique.",{"title":143,"path":144,"stem":145,"icon":146,"description":147},"Donner son identité à votre site","\u002Fguides\u002Fbrand-your-site","3.guides\u002F8.brand-your-site","lucide:badge-check","Définir le nom, le logo et les icônes, pour que le site se lise comme le vôtre et non comme celui de la couche.",{"title":149,"path":150,"stem":151,"children":152,"description":156},"Référence","\u002Freference","4.reference",[153,157,161,193,197,203,343,490,612,657,717],{"title":149,"path":150,"stem":154,"icon":155,"description":156},"4.reference\u002Findex","lucide:list","La surface publique de la couche — clés de configuration, frontmatter, composants, composables et points de terminaison.",{"title":20,"path":158,"stem":159,"icon":23,"description":160},"\u002Freference\u002Fconfiguration","4.reference\u002F1.configuration","Chaque clé sous duxt dans app.config.ts — ce qu’elle contrôle, et quand elle est lue.",{"title":162,"path":163,"stem":164,"children":165,"icon":167,"description":168},"Journal des versions","\u002Freference\u002Fchangelog","4.reference\u002F10.changelog\u002Findex",[166,169,175,181,187],{"title":162,"path":163,"stem":164,"icon":167,"description":168},"lucide:tag","Un journal de releases, publié en pages — une chronologie, une page par version, et un flux.",{"title":170,"path":171,"stem":172,"icon":173,"description":174},"Déclarer la section","\u002Freference\u002Fchangelog\u002Fsection","4.reference\u002F10.changelog\u002F1.section","lucide:file-clock","Le type de section `changelog` — où vit le fichier, et les deux politiques auxquelles il répond.",{"title":176,"path":177,"stem":178,"icon":179,"description":180},"Granularité","\u002Freference\u002Fchangelog\u002Fgranularity","4.reference\u002F10.changelog\u002F2.granularity","lucide:split","Une page par version, ou le fichier comme l’unique page qu’il a été écrit.",{"title":182,"path":183,"stem":184,"icon":185,"description":186},"Ce qui est lu","\u002Freference\u002Fchangelog\u002Fwhat-is-read","4.reference\u002F10.changelog\u002F3.what-is-read","lucide:scan-text","Quels titres deviennent des versions, lesquels des groupes, et ce qu’il advient du reste.",{"title":188,"path":189,"stem":190,"icon":191,"description":192},"Mise en page et composants","\u002Freference\u002Fchangelog\u002Fcomponents","4.reference\u002F10.changelog\u002F4.components","lucide:box","La mise en page dans laquelle se rend un historique éclaté, et les deux composants MDC dont ses pages sont faites.",{"title":47,"path":194,"stem":195,"icon":50,"description":196},"\u002Freference\u002Fsources","4.reference\u002F2.sources","Les champs d’une entrée de source, ses refs, et les options qui façonnent les URL.",{"title":198,"path":199,"stem":200,"icon":201,"description":202},"Frontmatter","\u002Freference\u002Ffrontmatter","4.reference\u002F3.frontmatter","lucide:file-code","Les champs qu’une page peut porter au-delà du titre et de la description, et les deux que la compilation remplit.",{"title":204,"path":205,"stem":206,"children":207,"icon":209,"description":210},"Composants MDC","\u002Freference\u002Fmdc-components","4.reference\u002F4.mdc-components\u002Findex",[208,211,217,223,229,235,241,247,253,259,297,303,308,314,320,326,332,338],{"title":204,"path":205,"stem":206,"icon":209,"description":210},"lucide:blocks","Les blocs qu’une page Markdown peut appeler, une page chacun, avec leurs props.",{"title":212,"path":213,"stem":214,"icon":215,"description":216},"Callout","\u002Freference\u002Fmdc-components\u002Fcallout","4.reference\u002F4.mdc-components\u002F1.callout","lucide:message-square-warning","Un encadré où le lecteur est censé s’arrêter — une astuce, un avertissement, un danger.",{"title":218,"path":219,"stem":220,"icon":221,"description":222},"Gestionnaires de paquets","\u002Freference\u002Fmdc-components\u002Fpackage-managers","4.reference\u002F4.mdc-components\u002F10.package-managers","lucide:package","Une commande, un onglet par gestionnaire de paquets, mémorisé d’une page à l’autre.",{"title":224,"path":225,"stem":226,"icon":227,"description":228},"Arborescence de fichiers","\u002Freference\u002Fmdc-components\u002Ffile-tree","4.reference\u002F4.mdc-components\u002F11.file-tree","lucide:folder-tree","Une structure de dossiers, avec une icône par type de fichier.",{"title":230,"path":231,"stem":232,"icon":233,"description":234},"Aperçu","\u002Freference\u002Fmdc-components\u002Fpreview","4.reference\u002F4.mdc-components\u002F12.preview","lucide:eye","Un composant rendu tel que la page le rend, avec sa source à côté.",{"title":236,"path":237,"stem":238,"icon":239,"description":240},"Cartes de page","\u002Freference\u002Fmdc-components\u002Fpage-cards","4.reference\u002F4.mdc-components\u002F13.page-cards","lucide:layout-grid","Les enfants d’une section, en cartes.",{"title":242,"path":243,"stem":244,"icon":245,"description":246},"Partial","\u002Freference\u002Fmdc-components\u002Fpartial","4.reference\u002F4.mdc-components\u002F14.partial","lucide:puzzle","Un bloc écrit une fois et rendu dans chaque source qui en a besoin.",{"title":248,"path":249,"stem":250,"icon":251,"description":252},"Since","\u002Freference\u002Fmdc-components\u002Fsince","4.reference\u002F4.mdc-components\u002F15.since","lucide:milestone","La version dans laquelle une chose est arrivée, à côté d’un titre.",{"title":254,"path":255,"stem":256,"icon":257,"description":258},"Mermaid","\u002Freference\u002Fmdc-components\u002Fmermaid","4.reference\u002F4.mdc-components\u002F16.mermaid","lucide:workflow","Un diagramme depuis un bloc ou une prop.",{"title":260,"path":261,"stem":262,"children":263,"icon":265,"description":266},"Surcharges de prose","\u002Freference\u002Fmdc-components\u002Fprose","4.reference\u002F4.mdc-components\u002F17.prose\u002Findex",[264,267,273,279,285,291],{"title":260,"path":261,"stem":262,"icon":265,"description":266},"lucide:type","Ce que la couche change au Markdown ordinaire — liens, titres, images, code et tableaux.",{"title":268,"path":269,"stem":270,"icon":271,"description":272},"ProseA","\u002Freference\u002Fmdc-components\u002Fprose\u002Fprose-a","4.reference\u002F4.mdc-components\u002F17.prose\u002F1.prose-a","lucide:link","Un lien, résolu selon la source dans laquelle il a été écrit.",{"title":274,"path":275,"stem":276,"icon":277,"description":278},"ProseH2, ProseH3, ProseH4","\u002Freference\u002Fmdc-components\u002Fprose\u002Fprose-headings","4.reference\u002F4.mdc-components\u002F17.prose\u002F2.prose-headings","lucide:heading","Des titres, chacun avec une ancre de permalien.",{"title":280,"path":281,"stem":282,"icon":283,"description":284},"ProseImg","\u002Freference\u002Fmdc-components\u002Fprose\u002Fprose-img","4.reference\u002F4.mdc-components\u002F17.prose\u002F3.prose-img","lucide:image","Une image : qui suit le thème, et zoomable.",{"title":286,"path":287,"stem":288,"icon":289,"description":290},"ProsePre","\u002Freference\u002Fmdc-components\u002Fprose\u002Fprose-pre","4.reference\u002F4.mdc-components\u002F17.prose\u002F4.prose-pre","lucide:terminal","Le bloc de code : nom de fichier, icône de langage, bouton de copie.",{"title":292,"path":293,"stem":294,"icon":295,"description":296},"ProseTable","\u002Freference\u002Fmdc-components\u002Fprose\u002Fprose-table","4.reference\u002F4.mdc-components\u002F17.prose\u002F5.prose-table","lucide:table","Un tableau qui défile à la place de la page.",{"title":298,"path":299,"stem":300,"icon":301,"description":302},"Étapes","\u002Freference\u002Fmdc-components\u002Fsteps","4.reference\u002F4.mdc-components\u002F2.steps","lucide:list-ordered","Une liste ordonnée dessinée en étapes numérotées sur un rail.",{"title":304,"path":305,"stem":306,"icon":201,"description":307},"Groupe de code","\u002Freference\u002Fmdc-components\u002Fcode-group","4.reference\u002F4.mdc-components\u002F3.code-group","Plusieurs blocs de code en un seul bloc à onglets, étiquetés par nom de fichier.",{"title":309,"path":310,"stem":311,"icon":312,"description":313},"Groupe d'onglets","\u002Freference\u002Fmdc-components\u002Ftab-group","4.reference\u002F4.mdc-components\u002F4.tab-group","lucide:panels-top-left","Des onglets pour tout ce qui n’est pas du code.",{"title":315,"path":316,"stem":317,"icon":318,"description":319},"Tab","\u002Freference\u002Fmdc-components\u002Ftab","4.reference\u002F4.mdc-components\u002F5.tab","lucide:square","Un panneau d’un groupe d’onglets.",{"title":321,"path":322,"stem":323,"icon":324,"description":325},"Accordion","\u002Freference\u002Fmdc-components\u002Faccordion","4.reference\u002F4.mdc-components\u002F6.accordion","lucide:chevrons-up-down","Des sections repliables — une FAQ, ou des réponses parmi lesquelles le lecteur choisit.",{"title":327,"path":328,"stem":329,"icon":330,"description":331},"Élément d'accordéon","\u002Freference\u002Fmdc-components\u002Faccordion-item","4.reference\u002F4.mdc-components\u002F7.accordion-item","lucide:chevron-down","Une section repliable.",{"title":333,"path":334,"stem":335,"icon":336,"description":337},"Groupe de champs","\u002Freference\u002Fmdc-components\u002Ffield-group","4.reference\u002F4.mdc-components\u002F8.field-group","lucide:list-tree","Une liste de champs, en un seul bloc.",{"title":339,"path":340,"stem":341,"icon":167,"description":342},"Champ","\u002Freference\u002Fmdc-components\u002Ffield","4.reference\u002F4.mdc-components\u002F9.field","Un paramètre, une propriété ou une option, avec son type et sa valeur par défaut.",{"title":344,"path":345,"stem":346,"children":347,"icon":349,"description":350},"Composants","\u002Freference\u002Fcomponents","4.reference\u002F5.components\u002Findex",[348,351,371,412,459],{"title":344,"path":345,"stem":346,"icon":349,"description":350},"lucide:component","Les composants propres à la couche, une page chacun — à quoi sert chacun, et ce qu’il prend.",{"title":352,"path":353,"stem":354,"children":355,"icon":357,"description":358},"Mise en page","\u002Freference\u002Fcomponents\u002Flayout","4.reference\u002F5.components\u002F1.layout\u002Findex",[356,359,365],{"title":352,"path":353,"stem":354,"icon":357,"description":358},"lucide:layout-panel-top","Les deux composants qui encadrent une page — la barre de navigation et le pied de page.",{"title":360,"path":361,"stem":362,"icon":363,"description":364},"DuxtHeader","\u002Freference\u002Fcomponents\u002Flayout\u002Fduxt-header","4.reference\u002F5.components\u002F1.layout\u002F1.duxt-header","lucide:panel-top","La barre de navigation : titre, navigation, recherche et liens en icônes.",{"title":366,"path":367,"stem":368,"icon":369,"description":370},"DuxtFooter","\u002Freference\u002Fcomponents\u002Flayout\u002Fduxt-footer","4.reference\u002F5.components\u002F1.layout\u002F2.duxt-footer","lucide:panel-bottom","Le pied de page : le nom du site, ses liens légaux, et la ligne propre à la couche.",{"title":372,"path":373,"stem":374,"children":375,"icon":32,"description":377},"Navigation","\u002Freference\u002Fcomponents\u002Fnavigation","4.reference\u002F5.components\u002F2.navigation\u002Findex",[376,378,384,389,395,401,406],{"title":372,"path":373,"stem":374,"icon":32,"description":377},"Se déplacer — la rangée des sections, la barre latérale, le fil d’Ariane, le sommaire et précédent\u002Fsuivant.",{"title":379,"path":380,"stem":381,"icon":382,"description":383},"DuxtSections","\u002Freference\u002Fcomponents\u002Fnavigation\u002Fduxt-sections","4.reference\u002F5.components\u002F2.navigation\u002F1.duxt-sections","lucide:rows-3","La deuxième rangée de la barre de navigation — les parties de premier niveau de la documentation.",{"title":385,"path":386,"stem":387,"icon":336,"description":388},"DuxtNavigation","\u002Freference\u002Fcomponents\u002Fnavigation\u002Fduxt-navigation","4.reference\u002F5.components\u002F2.navigation\u002F2.duxt-navigation","L’arbre de la barre latérale.",{"title":390,"path":391,"stem":392,"icon":393,"description":394},"DuxtNavigationLink","\u002Freference\u002Fcomponents\u002Fnavigation\u002Fduxt-navigation-link","4.reference\u002F5.components\u002F2.navigation\u002F3.duxt-navigation-link","lucide:link-2","Une entrée de la barre latérale.",{"title":396,"path":397,"stem":398,"icon":399,"description":400},"DuxtBreadcrumb","\u002Freference\u002Fcomponents\u002Fnavigation\u002Fduxt-breadcrumb","4.reference\u002F5.components\u002F2.navigation\u002F4.duxt-breadcrumb","lucide:chevrons-right","Le fil au-dessus du titre de page.",{"title":402,"path":403,"stem":404,"icon":155,"description":405},"DuxtToc","\u002Freference\u002Fcomponents\u002Fnavigation\u002Fduxt-toc","4.reference\u002F5.components\u002F2.navigation\u002F5.duxt-toc","Le sommaire, et l’encart en dessous.",{"title":407,"path":408,"stem":409,"icon":410,"description":411},"DuxtPageNav","\u002Freference\u002Fcomponents\u002Fnavigation\u002Fduxt-page-nav","4.reference\u002F5.components\u002F2.navigation\u002F6.duxt-page-nav","lucide:arrow-left-right","Précédent et suivant, bornés par la section.",{"title":413,"path":414,"stem":415,"children":416,"icon":418,"description":419},"Contrôles","\u002Freference\u002Fcomponents\u002Fcontrols","4.reference\u002F5.components\u002F3.controls\u002Findex",[417,420,425,430,436,441,447,453],{"title":413,"path":414,"stem":415,"icon":418,"description":419},"lucide:sliders-horizontal","Ce qu’actionne un lecteur — la recherche, les sélecteurs, la fiche des raccourcis et deux indicateurs.",{"title":421,"path":422,"stem":423,"icon":86,"description":424},"DuxtSearch","\u002Freference\u002Fcomponents\u002Fcontrols\u002Fduxt-search","4.reference\u002F5.components\u002F3.controls\u002F1.duxt-search","La recherche sur toutes les sources, avec des résultats classés ensemble.",{"title":426,"path":427,"stem":428,"icon":38,"description":429},"DuxtVersion","\u002Freference\u002Fcomponents\u002Fcontrols\u002Fduxt-version","4.reference\u002F5.components\u002F3.controls\u002F2.duxt-version","Le badge de version, et le sélecteur quand il y en a plusieurs.",{"title":431,"path":432,"stem":433,"icon":434,"description":435},"DuxtVersionBanner","\u002Freference\u002Fcomponents\u002Fcontrols\u002Fduxt-version-banner","4.reference\u002F5.components\u002F3.controls\u002F3.duxt-version-banner","lucide:triangle-alert","Le bandeau qui dit au lecteur que cette version n’est pas la version courante.",{"title":437,"path":438,"stem":439,"icon":92,"description":440},"DuxtLocale","\u002Freference\u002Fcomponents\u002Fcontrols\u002Fduxt-locale","4.reference\u002F5.components\u002F3.controls\u002F4.duxt-locale","Le sélecteur de langue.",{"title":442,"path":443,"stem":444,"icon":445,"description":446},"DuxtProgress","\u002Freference\u002Fcomponents\u002Fcontrols\u002Fduxt-progress","4.reference\u002F5.components\u002F3.controls\u002F5.duxt-progress","lucide:loader","Jusqu’où le lecteur est descendu dans la page.",{"title":448,"path":449,"stem":450,"icon":451,"description":452},"DuxtShortcuts","\u002Freference\u002Fcomponents\u002Fcontrols\u002Fduxt-shortcuts","4.reference\u002F5.components\u002F3.controls\u002F6.duxt-shortcuts","lucide:keyboard","La fiche des raccourcis clavier, sur ?.",{"title":454,"path":455,"stem":456,"icon":457,"description":458},"DuxtSkipLink","\u002Freference\u002Fcomponents\u002Fcontrols\u002Fduxt-skip-link","4.reference\u002F5.components\u002F3.controls\u002F7.duxt-skip-link","lucide:skip-forward","Le premier élément focalisable de la page.",{"title":460,"path":461,"stem":462,"children":463,"icon":465,"description":466},"Page","\u002Freference\u002Fcomponents\u002Fpage","4.reference\u002F5.components\u002F4.page\u002Findex",[464,467,473,479,484],{"title":460,"path":461,"stem":462,"icon":465,"description":466},"lucide:file-text","Les composants qui appartiennent à la page elle-même.",{"title":468,"path":469,"stem":470,"icon":471,"description":472},"DuxtPageInfo","\u002Freference\u002Fcomponents\u002Fpage\u002Fduxt-page-info","4.reference\u002F5.components\u002F4.page\u002F1.duxt-page-info","lucide:git-commit-horizontal","D’où vient la page : lien d’édition, dernière mise à jour, contributeurs.",{"title":474,"path":475,"stem":476,"icon":477,"description":478},"DuxtCopyPage","\u002Freference\u002Fcomponents\u002Fpage\u002Fduxt-copy-page","4.reference\u002F5.components\u002F4.page\u002F2.duxt-copy-page","lucide:clipboard-copy","Donnez cette page à un modèle, ou lisez sa source.",{"title":480,"path":481,"stem":482,"icon":140,"description":483},"DuxtPageFeedback","\u002Freference\u002Fcomponents\u002Fpage\u002Fduxt-page-feedback","4.reference\u002F5.components\u002F4.page\u002F3.duxt-page-feedback","« Cette page vous a-t-elle été utile ? » — un événement, et pas de backend.",{"title":485,"path":486,"stem":487,"icon":488,"description":489},"DuxtCodeBlock","\u002Freference\u002Fcomponents\u002Fpage\u002Fduxt-code-block","4.reference\u002F5.components\u002F4.page\u002F4.duxt-code-block","lucide:code","La carte autour d’un bloc de code.",{"title":491,"path":492,"stem":493,"children":494,"icon":496,"description":497},"Composables","\u002Freference\u002Fcomposables","4.reference\u002F6.composables\u002Findex",[495,498,532,561],{"title":491,"path":492,"stem":493,"icon":496,"description":497},"lucide:function-square","Les fonctions que la couche expose à vos propres composants, une page chacune.",{"title":499,"path":500,"stem":501,"children":502,"icon":62,"description":504},"Configuration et contenu","\u002Freference\u002Fcomposables\u002Fconfig-and-content","4.reference\u002F6.composables\u002F1.config-and-content\u002Findex",[503,505,510,516,521,527],{"title":499,"path":500,"stem":501,"icon":62,"description":504},"La configuration fusionnée, et quelle collection sert la page en cours de lecture.",{"title":506,"path":507,"stem":508,"icon":23,"description":509},"useDuxtConfig()","\u002Freference\u002Fcomposables\u002Fconfig-and-content\u002Fuse-duxt-config","4.reference\u002F6.composables\u002F1.config-and-content\u002F1.use-duxt-config","La configuration fusionnée, chaque champ de texte déjà résolu.",{"title":511,"path":512,"stem":513,"icon":514,"description":515},"useDuxtCollection()","\u002Freference\u002Fcomposables\u002Fconfig-and-content\u002Fuse-duxt-collection","4.reference\u002F6.composables\u002F1.config-and-content\u002F2.use-duxt-collection","lucide:library","Quelle collection sert cette route.",{"title":517,"path":518,"stem":519,"icon":336,"description":520},"useDuxtNavigation()","\u002Freference\u002Fcomposables\u002Fconfig-and-content\u002Fuse-duxt-navigation","4.reference\u002F6.composables\u002F1.config-and-content\u002F3.use-duxt-navigation","L’arbre de navigation de la collection qui sert cette route.",{"title":522,"path":523,"stem":524,"icon":525,"description":526},"useDuxtSection()","\u002Freference\u002Fcomposables\u002Fconfig-and-content\u002Fuse-duxt-section","4.reference\u002F6.composables\u002F1.config-and-content\u002F4.use-duxt-section","lucide:folder-open","La partie de la documentation dans laquelle se trouve cette page.",{"title":528,"path":529,"stem":530,"icon":399,"description":531},"useDuxtBreadcrumb()","\u002Freference\u002Fcomposables\u002Fconfig-and-content\u002Fuse-duxt-breadcrumb","4.reference\u002F6.composables\u002F1.config-and-content\u002F5.use-duxt-breadcrumb","Le fil qui descend de la section jusqu’à une page.",{"title":533,"path":534,"stem":535,"children":536,"icon":538,"description":539},"Chemins et versions","\u002Freference\u002Fcomposables\u002Fpaths-and-versions","4.reference\u002F6.composables\u002F2.paths-and-versions\u002Findex",[537,540,545,550,555],{"title":533,"path":534,"stem":535,"icon":538,"description":539},"lucide:route","Lire une URL, en écrire une en retour, et savoir quelle version est lue.",{"title":541,"path":542,"stem":543,"icon":251,"description":544},"useDuxtPath()","\u002Freference\u002Fcomposables\u002Fpaths-and-versions\u002Fuse-duxt-path","4.reference\u002F6.composables\u002F2.paths-and-versions\u002F1.use-duxt-path","Le chemin où se trouve la documentation, locale retirée.",{"title":546,"path":547,"stem":548,"icon":271,"description":549},"useDuxtLink()","\u002Freference\u002Fcomposables\u002Fpaths-and-versions\u002Fuse-duxt-link","4.reference\u002F6.composables\u002F2.paths-and-versions\u002F2.use-duxt-link","Un chemin de documentation, réécrit en lien.",{"title":551,"path":552,"stem":553,"icon":38,"description":554},"useDuxtVersion()","\u002Freference\u002Fcomposables\u002Fpaths-and-versions\u002Fuse-duxt-version","4.reference\u002F6.composables\u002F2.paths-and-versions\u002F3.use-duxt-version","Ce que montre le sélecteur, ce que dit la bannière, s’il faut indexer.",{"title":556,"path":557,"stem":558,"icon":559,"description":560},"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","L’origine configurée, et les chemins rendus absolus.",{"title":562,"path":563,"stem":564,"children":565,"icon":101,"description":567},"Expérience de lecture","\u002Freference\u002Fcomposables\u002Freading","4.reference\u002F6.composables\u002F3.reading\u002Findex",[566,568,573,579,584,590,596,601,607],{"title":562,"path":563,"stem":564,"icon":101,"description":567},"La recherche, les titres, le focus, l’historique, et les choix que fait un lecteur.",{"title":569,"path":570,"stem":571,"icon":86,"description":572},"useDuxtSearch()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-duxt-search","4.reference\u002F6.composables\u002F3.reading\u002F1.use-duxt-search","La recherche sur toutes les sources, classées ensemble.",{"title":574,"path":575,"stem":576,"icon":577,"description":578},"useFuzzySearch()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-fuzzy-search","4.reference\u002F6.composables\u002F3.reading\u002F2.use-fuzzy-search","lucide:spell-check","La tolérance aux fautes de frappe, à côté de l’index exact.",{"title":580,"path":581,"stem":582,"icon":277,"description":583},"useActiveHeading()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-active-heading","4.reference\u002F6.composables\u002F3.reading\u002F3.use-active-heading","Le titre actuellement en vue.",{"title":585,"path":586,"stem":587,"icon":588,"description":589},"useDuxtPageFocus()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-duxt-page-focus","4.reference\u002F6.composables\u002F3.reading\u002F4.use-duxt-page-focus","lucide:focus","Déplace le focus vers le titre après une navigation côté client.",{"title":591,"path":592,"stem":593,"icon":594,"description":595},"useRecentPages()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-recent-pages","4.reference\u002F6.composables\u002F3.reading\u002F5.use-recent-pages","lucide:history","Les cinq dernières pages que ce lecteur a ouvertes.",{"title":597,"path":598,"stem":599,"icon":221,"description":600},"usePackageManager()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-package-manager","4.reference\u002F6.composables\u002F3.reading\u002F6.use-package-manager","Le gestionnaire de paquets qu’un lecteur a choisi.",{"title":602,"path":603,"stem":604,"icon":605,"description":606},"useDuxtToast()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-duxt-toast","4.reference\u002F6.composables\u002F3.reading\u002F7.use-duxt-toast","lucide:bell","Les notifications, enveloppées pour qu’aucun composant n’importe la bibliothèque.",{"title":608,"path":609,"stem":610,"icon":451,"description":611},"useDuxtShortcuts()","\u002Freference\u002Fcomposables\u002Freading\u002Fuse-duxt-shortcuts","4.reference\u002F6.composables\u002F3.reading\u002F8.use-duxt-shortcuts","Les touches que le thème écoute.",{"title":613,"path":614,"stem":615,"children":616,"icon":538,"description":618},"Points de terminaison","\u002Freference\u002Fendpoints","4.reference\u002F7.endpoints\u002Findex",[617,619,624,630,635,640,645,651],{"title":613,"path":614,"stem":615,"icon":538,"description":618},"Tout ce que le site sert en dehors des pages, une page pour chacun.",{"title":620,"path":621,"stem":622,"icon":465,"description":623},"\u002Fllms.txt","\u002Freference\u002Fendpoints\u002Fllms-txt","4.reference\u002F7.endpoints\u002F1.llms-txt","La documentation en index Markdown, selon llmstxt.org.",{"title":625,"path":626,"stem":627,"icon":628,"description":629},"\u002Fllms-full.txt","\u002Freference\u002Fendpoints\u002Fllms-full-txt","4.reference\u002F7.endpoints\u002F2.llms-full-txt","lucide:file-stack","Les mêmes pages, entières, en un seul fichier Markdown.",{"title":631,"path":632,"stem":633,"icon":201,"description":634},"\u003Cpage>.md","\u002Freference\u002Fendpoints\u002Fpage-markdown","4.reference\u002F7.endpoints\u002F3.page-markdown","La source de n’importe quelle page, à son URL suivie de .md.",{"title":636,"path":637,"stem":638,"icon":80,"description":639},"\u002Fmcp","\u002Freference\u002Fendpoints\u002Fmcp","4.reference\u002F7.endpoints\u002F4.mcp","Un serveur MCP sur le même contenu.",{"title":641,"path":642,"stem":643,"icon":86,"description":644},"\u002Fsitemap.xml et \u002Frobots.txt","\u002Freference\u002Fendpoints\u002Fsitemap-and-robots","4.reference\u002F7.endpoints\u002F5.sitemap-and-robots","Ce vers quoi un robot est dirigé, et ce dont on le tient à l’écart.",{"title":646,"path":647,"stem":648,"icon":649,"description":650},"\u002Frss.xml","\u002Freference\u002Fendpoints\u002Frss-xml","4.reference\u002F7.endpoints\u002F6.rss-xml","lucide:rss","Le flux, une fois qu’une section est nommée.",{"title":652,"path":653,"stem":654,"icon":655,"description":656},"\u002F_duxt\u002Fdevtools","\u002Freference\u002Fendpoints\u002Fdevtools","4.reference\u002F7.endpoints\u002F7.devtools","lucide:wrench","La route depuis laquelle le panneau Nuxt Devtools est servi. En développement seulement.",{"title":658,"path":659,"stem":660,"children":661,"icon":655,"description":663},"Devtools","\u002Freference\u002Fdevtools","4.reference\u002F8.devtools\u002Findex",[662,664,668,673,678,684,690,696,701,706,711],{"title":658,"path":659,"stem":660,"icon":655,"description":663},"Dix panneaux qui montrent ce que vos sources sont devenues. En développement seulement.",{"title":47,"path":665,"stem":666,"icon":514,"description":667},"\u002Freference\u002Fdevtools\u002Fsources","4.reference\u002F8.devtools\u002F1.sources","Ce que `duxt.sources` est devenu — une collection par source, version et langue.",{"title":669,"path":670,"stem":671,"icon":128,"description":672},"Redirections","\u002Freference\u002Fdevtools\u002Fredirects","4.reference\u002F8.devtools\u002F10.redirects","Chaque redirection que sert le serveur, et lesquelles la couche a écrites.",{"title":674,"path":675,"stem":676,"icon":538,"description":677},"Chemins","\u002Freference\u002Fdevtools\u002Fpaths","4.reference\u002F8.devtools\u002F2.paths","Collez une URL et voyez quelle source la revendique et ce qu’elle y trouve.",{"title":679,"path":680,"stem":681,"icon":682,"description":683},"Pages","\u002Freference\u002Fdevtools\u002Fpages","4.reference\u002F8.devtools\u002F3.pages","lucide:files","Chaque page de chaque collection, avec son frontmatter et ses métadonnées git.",{"title":685,"path":686,"stem":687,"icon":688,"description":689},"Versions","\u002Freference\u002Fdevtools\u002Fversions","4.reference\u002F8.devtools\u002F4.versions","lucide:columns-3","Quelle version — et quelle langue — porte quelle page.",{"title":691,"path":692,"stem":693,"icon":694,"description":695},"Vérifications","\u002Freference\u002Fdevtools\u002Fchecks","4.reference\u002F8.devtools\u002F5.checks","lucide:check-check","Le validateur du build, appliqué à ce que le site sert en ce moment.",{"title":697,"path":698,"stem":699,"icon":86,"description":700},"Recherche","\u002Freference\u002Fdevtools\u002Fsearch","4.reference\u002F8.devtools\u002F6.search","Ce que contient l’index de recherche, via la requête même que lance la boîte de dialogue.",{"title":702,"path":703,"stem":704,"icon":418,"description":705},"Config","\u002Freference\u002Fdevtools\u002Fconfig","4.reference\u002F8.devtools\u002F7.config","La configuration `duxt` fusionnée, et de quel côté de la fusion vient chaque valeur.",{"title":707,"path":708,"stem":709,"icon":92,"description":710},"i18n","\u002Freference\u002Fdevtools\u002Fi18n","4.reference\u002F8.devtools\u002F8.i18n","Clés de message par langue, face à la langue de base.",{"title":712,"path":713,"stem":714,"icon":715,"description":716},"Cache","\u002Freference\u002Fdevtools\u002Fcache","4.reference\u002F8.devtools\u002F9.cache","lucide:hard-drive","Le cache de téléchargement de Content, et un moyen d’en jeter une entrée.",{"title":718,"path":719,"stem":720,"children":721,"icon":723,"description":724},"Référence de l’API","\u002Freference\u002Fopenapi","4.reference\u002F9.openapi\u002Findex",[722,725,729,733,739],{"title":718,"path":719,"stem":720,"icon":723,"description":724},"lucide:plug","Un document OpenAPI, publié en pages de référence avec un client qui envoie de vraies requêtes.",{"title":170,"path":726,"stem":727,"icon":201,"description":728},"\u002Freference\u002Fopenapi\u002Fsection","4.reference\u002F9.openapi\u002F1.section","Le type de section `openapi` — où vit le document, et ce qu’il devient.",{"title":344,"path":730,"stem":731,"icon":191,"description":732},"\u002Freference\u002Fopenapi\u002Fcomponents","4.reference\u002F9.openapi\u002F2.components","Les trois composants MDC dont est faite une page de référence générée.",{"title":734,"path":735,"stem":736,"icon":737,"description":738},"Le client d’essai","\u002Freference\u002Fopenapi\u002Ftry-it","4.reference\u002F9.openapi\u002F3.try-it","lucide:send","Une vraie requête, envoyée par le navigateur du lecteur lui-même.",{"title":740,"path":741,"stem":742,"icon":488,"description":743},"Échantillons de requête","\u002Freference\u002Fopenapi\u002Frequest-samples","4.reference\u002F9.openapi\u002F4.request-samples","La même requête dans douze clients, et comment ajouter le vôtre.",{"title":745,"path":746,"stem":747,"children":748,"icon":750,"description":751},"Crédits","\u002Fcredits","5.credits\u002Findex",[749],{"title":745,"path":746,"stem":747,"icon":750,"description":751},"lucide:heart","Ce sur quoi duxt est construit, et ce d’après quoi il l’a été.",{"title":753,"path":754,"stem":755,"children":756,"description":760},"Conventions","\u002Fconventions","6.conventions",[757,761,767],{"title":753,"path":754,"stem":758,"icon":759,"description":760},"6.conventions\u002Findex","lucide:ruler","Règles propres au projet — celles qu'on ne peut pas déduire du code.",{"title":762,"path":763,"stem":764,"icon":765,"description":766},"Identité visuelle","\u002Fconventions\u002Fbranding","6.conventions\u002F1.branding","lucide:shapes","La marque [d]uxt — où sert chaque ressource, pourquoi les crochets de l'icône sont redessinés, et quelles couleurs sont fixes.",{"title":768,"path":769,"stem":770,"icon":283,"description":771},"Icônes","\u002Fconventions\u002Ficons","6.conventions\u002F2.icons","Quatre jeux d'icônes, et la seule question qui décide lequel dessine une marque.",{"title":773,"path":774,"stem":775,"children":776,"description":780},"Décisions d’architecture","\u002Fadr","99.adr",[777,781,787,792,797,802,807,812,817,822],{"title":773,"path":774,"stem":778,"icon":779,"description":780},"99.adr\u002Findex","lucide:gavel","Le journal des décisions — chaque décision d’architecture consignée pour duxt.",{"title":782,"path":783,"stem":784,"icon":785,"description":786},"Construire duxt comme une couche portant un module","\u002Fadr\u002F0001-build-duxt-as-a-layer-carrying-a-module","99.adr\u002F0001-build-duxt-as-a-layer-carrying-a-module",null,"Distribuer le thème comme une couche Nuxt dont la racine est le paquet, plutôt que comme un modèle de départ.",{"title":788,"path":789,"stem":790,"icon":785,"description":791},"Générer les collections à partir d’une seule liste de sources","\u002Fadr\u002F0002-generate-the-collections-from-one-source-list","99.adr\u002F0002-generate-the-collections-from-one-source-list","Calculer les collections Content à partir d’une liste de sources compacte au chargement de la configuration, au lieu de les faire déclarer par les consommateurs.",{"title":793,"path":794,"stem":795,"icon":785,"description":796},"Décider les préfixes d’URL à la compilation","\u002Fadr\u002F0003-decide-the-url-prefixes-at-build-time","99.adr\u002F0003-decide-the-url-prefixes-at-build-time","L’apparition d’un segment de dépôt ou de version est tranchée par la liste des sources avant la première requête, jamais par requête.",{"title":798,"path":799,"stem":800,"icon":785,"description":801},"Rendre les composants Markdown avec MDC","\u002Fadr\u002F0004-render-markdown-components-with-mdc","99.adr\u002F0004-render-markdown-components-with-mdc","Utiliser la syntaxe MDC propre à Content pour les composants dans le Markdown plutôt que d’adopter MDX.",{"title":803,"path":804,"stem":805,"icon":785,"description":806},"Livrer la couche sans liens propres à un propriétaire","\u002Fadr\u002F0005-ship-the-layer-without-owner-specific-links","99.adr\u002F0005-ship-the-layer-without-owner-specific-links","Toute valeur par défaut qui nommerait un projet précis — dépôt, gestionnaire de tickets, communauté, mentions légales — est livrée vide.",{"title":808,"path":809,"stem":810,"icon":785,"description":811},"Recompiler de façon planifiée plutôt que rafraîchir à l’exécution","\u002Fadr\u002F0006-rebuild-on-a-schedule-rather-than-refresh-at-runtime","99.adr\u002F0006-rebuild-on-a-schedule-rather-than-refresh-at-runtime","Un site qui lit un autre dépôt en récupère les changements quand il compile, et aucun rafraîchissement à l’exécution n’est proposé.",{"title":813,"path":814,"stem":815,"icon":785,"description":816},"Servir les traductions comme des collections à part","\u002Fadr\u002F0007-serve-translations-as-collections-of-their-own","99.adr\u002F0007-serve-translations-as-collections-of-their-own","Ajouter une dimension de locale à une source plutôt qu’un segment de locale au chemin de contenu.",{"title":818,"path":819,"stem":820,"icon":785,"description":821},"Bâtir le thème sur des composants shadcn-vue possédés","\u002Fadr\u002F0008-build-the-theme-on-owned-shadcn-vue-components","99.adr\u002F0008-build-the-theme-on-owned-shadcn-vue-components","La couche détient le code source de ses composants d'interface plutôt que de les importer d'une bibliothèque de composants ou d'un thème de documentation tout fait.",{"title":823,"path":824,"stem":825,"icon":785,"description":826},"Prendre le socle SEO dans le bundle Nuxt SEO","\u002Fadr\u002F0009-take-the-seo-stack-from-the-nuxt-seo-bundle","99.adr\u002F0009-take-the-seo-stack-from-the-nuxt-seo-bundle","La couche installe @nuxtjs\u002Fseo et lui confie les balises de head et les données structurées qu'elle écrivait à la main, ne gardant que les règles qui dépendent des versions et des traductions.",{"title":828,"path":829,"stem":830,"icon":831,"description":832},"Documentation","\u002F","index","lucide:book-open-text","Une couche Nuxt qui transforme le dossier docs d’un dépôt en un site de documentation versionné et multi-dépôts.",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":837},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":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":839},"\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":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":841},"\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":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":843},"\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":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":845},"\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":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":847},"\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":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":849},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M9.671 4.136a2.34 2.34 0 0 1 4.659 0a2.34 2.34 0 0 0 3.319 1.915a2.34 2.34 0 0 1 2.33 4.033a2.34 2.34 0 0 0 0 3.831a2.34 2.34 0 0 1-2.33 4.033a2.34 2.34 0 0 0-3.319 1.915a2.34 2.34 0 0 1-4.659 0a2.34 2.34 0 0 0-3.32-1.915a2.34 2.34 0 0 1-2.33-4.033a2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915\"\u002F>\u003Ccircle cx=\"12\" cy=\"12\" r=\"3\"\u002F>\u003C\u002Fg>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":851},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z\"\u002F>\u003Ccircle cx=\"7.5\" cy=\"7.5\" r=\".5\" fill=\"currentColor\"\u002F>\u003C\u002Fg>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":853},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M15 6a9 9 0 0 0-9 9V3\"\u002F>\u003Ccircle cx=\"18\" cy=\"6\" r=\"3\"\u002F>\u003Ccircle cx=\"6\" cy=\"18\" r=\"3\"\u002F>\u003C\u002Fg>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":855},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"\u002F>\u003Cpath d=\"M14 2v5a1 1 0 0 0 1 1h5m-10 4.5L8 15l2 2.5m4-5l2 2.5l-2 2.5\"\u002F>\u003C\u002Fg>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":857},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2\"\u002F>\u003Crect width=\"8\" height=\"8\" x=\"14\" y=\"2\" rx=\"1\"\u002F>\u003C\u002Fg>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":859},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0zm-13.239 0a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0zm6.619 6.619a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0zm0-13.238a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":861},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\" ry=\"2\"\u002F>\u003Cpath d=\"M9 17c2 0 2.8-1 2.8-2.8V10c0-2 1-3.3 3.2-3m-6 4.2h5.7\"\u002F>\u003C\u002Fg>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":863},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"6\" cy=\"19\" r=\"3\"\u002F>\u003Cpath d=\"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15\"\u002F>\u003Ccircle cx=\"18\" cy=\"5\" r=\"3\"\u002F>\u003C\u002Fg>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":865},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":867},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 22v-5m3-9V2m2 6a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1zM9 8V2\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":869},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m9 18l6-6l-6-6\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":871},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":873},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m6 9l6 6l6-6\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":875},"\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":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":877},"\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":834,"top":834,"width":879,"height":880,"rotate":834,"vFlip":836,"hFlip":836,"body":881},640,480,"\u003Cpath fill=\"#000091\" d=\"M0 0h213.3v480H0z\"\u002F>\u003Cpath fill=\"#fff\" d=\"M213.3 0h213.4v480H213.3z\"\u002F>\u003Cpath fill=\"#e1000f\" d=\"M426.7 0H640v480H426.7z\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":883},"\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":885,"from":1843,"asked":1844},{"id":886,"title":47,"body":887,"compare":785,"contributors":1833,"date":785,"description":196,"extension":1836,"icon":50,"lastUpdated":1837,"layout":785,"meta":1838,"navigation":836,"path":194,"rawbody":1839,"redirectFrom":785,"seo":1840,"sitemap":1841,"stem":195,"__hash__":1842},"docs_fr\u002F4.reference\u002F2.sources.md",{"type":888,"value":889,"toc":1824},"minimark",[890,906,911,1083,1086,1116,1131,1134,1148,1240,1253,1256,1259,1340,1356,1377,1386,1432,1450,1453,1517,1522,1525,1533,1676,1688,1696,1701,1705,1775,1779,1814,1820],[891,892,893,897,898,901,902,905],"p",{},[894,895,896],"code",{},"duxt.sources"," est une liste d’entrées de source ; ",[894,899,900],{},"duxt.sourceOptions"," dit\ncomment elles deviennent des URL. Les deux sont lues à la compilation. Ce\nqu’elles génèrent, et pourquoi, est dans ",[903,904,47],"a",{"href":48},".",[907,908,910],"h2",{"id":909},"une-entrée-de-source","Une entrée de source",[912,913,914,930],"table",{},[915,916,917],"thead",{},[918,919,920,924,927],"tr",{},[921,922,339],"th",{"align":923},"left",[921,925,926],{"align":923},"Type",[921,928,929],{"align":923},"Remarques",[931,932,933,949,970,983,996,1014,1027,1042,1057,1070],"tbody",{},[918,934,935,941,946],{},[936,937,938],"td",{"align":923},[894,939,940],{},"path",[936,942,943],{"align":923},[894,944,945],{},"string",[936,947,948],{"align":923},"Dossier contenant le Markdown, relatif à la racine du dépôt",[918,950,951,956,960],{},[936,952,953],{"align":923},[894,954,955],{},"repo",[936,957,958],{"align":923},[894,959,945],{},[936,961,962,965,966],{"align":923},[894,963,964],{},"owner\u002Fname"," ou une URL git. ",[967,968,969],"strong",{},"Omis signifie ce dépôt-ci",[918,971,972,977,980],{},[936,973,974],{"align":923},[894,975,976],{},"refs",[936,978,979],{"align":923},"liste de refs",[936,981,982],{"align":923},"Refs à publier comme versions. Omis signifie le checkout courant",[918,984,985,990,993],{},[936,986,987],{"align":923},[894,988,989],{},"label",[936,991,992],{"align":923},"texte",[936,994,995],{"align":923},"Affiché dans le sélecteur et utilisé dans l’URL ; par défaut la ref",[918,997,998,1003,1007],{},[936,999,1000],{"align":923},[894,1001,1002],{},"slug",[936,1004,1005],{"align":923},[894,1006,945],{},[936,1008,1009,1010,1013],{"align":923},"Le segment d’URL de cette source. ",[967,1011,1012],{},"La déclarer, c’est la réclamer"," — voir plus bas",[918,1015,1016,1021,1024],{},[936,1017,1018],{"align":923},[894,1019,1020],{},"status",[936,1022,1023],{"align":923},"statut",[936,1025,1026],{"align":923},"Cycle de vie de chaque version que cette entrée publie",[918,1028,1029,1034,1039],{},[936,1030,1031],{"align":923},[894,1032,1033],{},"origin",[936,1035,1036],{"align":923},[894,1037,1038],{},"{ repo, ref? }",[936,1040,1041],{"align":923},"Où vivent les pages lues sur le disque, pour les liens de retour",[918,1043,1044,1049,1054],{},[936,1045,1046],{"align":923},[894,1047,1048],{},"history",[936,1050,1051],{"align":923},[894,1052,1053],{},"boolean",[936,1055,1056],{"align":923},"Lire l’historique git de cette source",[918,1058,1059,1064,1067],{},[936,1060,1061],{"align":923},[894,1062,1063],{},"locales",[936,1065,1066],{"align":923},"liste de locales",[936,1068,1069],{"align":923},"Langues dans lesquelles cette source existe — voir ci-dessous",[918,1071,1072,1077,1080],{},[936,1073,1074],{"align":923},[894,1075,1076],{},"generated",[936,1078,1079],{"align":923},"liste de sections",[936,1081,1082],{"align":923},"Artefacts publiés en pages à côté du Markdown — voir plus bas",[891,1084,1085],{},"Deux champs se confondent facilement et coûtent cher quand on se trompe :",[1087,1088,1089,1104],"ul",{},[1090,1091,1092,1100,1101,1103],"li",{},[967,1093,1094,1096,1097,1099],{},[894,1095,955],{}," télécharge, ",[894,1098,1033],{}," ne fait que lier."," Nommer votre propre dépôt\ndans ",[894,1102,955],{}," fait cloner à la compilation le checkout dans lequel elle se\ntrouve déjà.",[1090,1105,1106,1111,1112,1115],{},[967,1107,1108,1110],{},[894,1109,1048],{}," coûte un clone complet."," Content clone un dépôt distant avec\n",[894,1113,1114],{},"--depth 1"," : son checkout ne contient qu’un commit et chaque fichier paraît\nécrit par la personne qui a coupé la pointe — données fausses, pas données\nmanquantes. L’activer complète le clone une fois. Une source lue sur le disque\nest déjà un checkout complet et est lue quoi qu’il arrive.",[891,1117,1118,1123,1124,1126,1127,1130],{},[967,1119,1120,1122],{},[894,1121,1002],{}," réclame un segment."," Une source n’en reçoit normalement un que lorsque\nla liste nomme plus d’un dépôt — tout ou rien, pour le site entier. Une source\nqui écrit son propre ",[894,1125,1002],{}," est servie dessous de toute façon, et celles qui n’en\nécrivent aucun ne bougent pas : c’est ce qui permet à une chose de vivre sous\n",[894,1128,1129],{},"\u002Fdemo"," à côté d’une documentation qui garde la racine.",[907,1132,1133],{"id":976},"Refs",[891,1135,1136,1137,1140,1141,1144,1145,905],{},"Une chaîne nue est une ",[967,1138,1139],{},"branche",". Un tag doit le dire : git garde les branches\net les tags dans des espaces de noms séparés, et demander un tag sous\n",[894,1142,1143],{},"refs\u002Fheads"," fait échouer la compilation avec ",[894,1146,1147],{},"Could not find refs\u002Fheads\u002F…",[1149,1150,1155],"pre",{"className":1151,"code":1152,"language":1153,"meta":1154,"style":1154},"language-ts shiki shiki-themes github-light github-dark","refs: [\n  'main',                                     \u002F\u002F une branche\n  { branch: 'next', status: 'upcoming' },     \u002F\u002F la même, avec un cycle de vie\n  { tag: 'v2.0.0', label: 'v2' },             \u002F\u002F un tag\n  'latest'                                    \u002F\u002F le tag semver le plus récent, résolu à la compilation\n]\n","ts","",[894,1156,1157,1169,1183,1204,1225,1234],{"__ignoreMap":1154},[1158,1159,1162,1165],"span",{"class":1160,"line":1161},"line",1,[1158,1163,976],{"class":1164},"sScJk",[1158,1166,1168],{"class":1167},"sVt8B",": [\n",[1158,1170,1172,1176,1179],{"class":1160,"line":1171},2,[1158,1173,1175],{"class":1174},"sZZnC","  'main'",[1158,1177,1178],{"class":1167},",                                     ",[1158,1180,1182],{"class":1181},"sJ8bj","\u002F\u002F une branche\n",[1158,1184,1186,1189,1192,1195,1198,1201],{"class":1160,"line":1185},3,[1158,1187,1188],{"class":1167},"  { branch: ",[1158,1190,1191],{"class":1174},"'next'",[1158,1193,1194],{"class":1167},", status: ",[1158,1196,1197],{"class":1174},"'upcoming'",[1158,1199,1200],{"class":1167}," },     ",[1158,1202,1203],{"class":1181},"\u002F\u002F la même, avec un cycle de vie\n",[1158,1205,1207,1210,1213,1216,1219,1222],{"class":1160,"line":1206},4,[1158,1208,1209],{"class":1167},"  { tag: ",[1158,1211,1212],{"class":1174},"'v2.0.0'",[1158,1214,1215],{"class":1167},", label: ",[1158,1217,1218],{"class":1174},"'v2'",[1158,1220,1221],{"class":1167}," },             ",[1158,1223,1224],{"class":1181},"\u002F\u002F un tag\n",[1158,1226,1228,1231],{"class":1160,"line":1227},5,[1158,1229,1230],{"class":1174},"  'latest'",[1158,1232,1233],{"class":1181},"                                    \u002F\u002F le tag semver le plus récent, résolu à la compilation\n",[1158,1235,1237],{"class":1160,"line":1236},6,[1158,1238,1239],{"class":1167},"]\n",[891,1241,1242,1245,1246,1249,1250,905],{},[894,1243,1244],{},"'latest'"," est réservé. Une branche réellement nommée ",[894,1247,1248],{},"latest"," exige la forme\n",[894,1251,1252],{},"{ branch }",[907,1254,1255],{"id":1063},"Locales",[891,1257,1258],{},"Omis, la source a une langue et une collection. Listées, chaque entrée devient\nune collection à part.",[1149,1260,1262],{"className":1151,"code":1261,"language":1153,"meta":1154,"style":1154},"locales: [\n  'en-GB',                                              \u002F\u002F la valeur par défaut : docs\u002F lui-même\n  'de',                                                 \u002F\u002F docs\u002Fde\u002F\n  { locale: 'fr', path: 'translations\u002Ffr' },            \u002F\u002F ailleurs dans ce dépôt\n  { locale: 'es', repo: 'acme\u002Fdocs-es', path: 'docs' }  \u002F\u002F un autre dépôt\n]\n",[894,1263,1264,1270,1281,1292,1312,1336],{"__ignoreMap":1154},[1158,1265,1266,1268],{"class":1160,"line":1161},[1158,1267,1063],{"class":1164},[1158,1269,1168],{"class":1167},[1158,1271,1272,1275,1278],{"class":1160,"line":1171},[1158,1273,1274],{"class":1174},"  'en-GB'",[1158,1276,1277],{"class":1167},",                                              ",[1158,1279,1280],{"class":1181},"\u002F\u002F la valeur par défaut : docs\u002F lui-même\n",[1158,1282,1283,1286,1289],{"class":1160,"line":1185},[1158,1284,1285],{"class":1174},"  'de'",[1158,1287,1288],{"class":1167},",                                                 ",[1158,1290,1291],{"class":1181},"\u002F\u002F docs\u002Fde\u002F\n",[1158,1293,1294,1297,1300,1303,1306,1309],{"class":1160,"line":1206},[1158,1295,1296],{"class":1167},"  { locale: ",[1158,1298,1299],{"class":1174},"'fr'",[1158,1301,1302],{"class":1167},", path: ",[1158,1304,1305],{"class":1174},"'translations\u002Ffr'",[1158,1307,1308],{"class":1167}," },            ",[1158,1310,1311],{"class":1181},"\u002F\u002F ailleurs dans ce dépôt\n",[1158,1313,1314,1316,1319,1322,1325,1327,1330,1333],{"class":1160,"line":1227},[1158,1315,1296],{"class":1167},[1158,1317,1318],{"class":1174},"'es'",[1158,1320,1321],{"class":1167},", repo: ",[1158,1323,1324],{"class":1174},"'acme\u002Fdocs-es'",[1158,1326,1302],{"class":1167},[1158,1328,1329],{"class":1174},"'docs'",[1158,1331,1332],{"class":1167}," }  ",[1158,1334,1335],{"class":1181},"\u002F\u002F un autre dépôt\n",[1158,1337,1338],{"class":1160,"line":1236},[1158,1339,1239],{"class":1167},[891,1341,1342,1343,1345,1346,1348,1349,1351,1352,1355],{},"Une chaîne est un dossier à l’intérieur du ",[894,1344,940],{}," de la source. La forme objet\nremplace ",[894,1347,940],{},", ",[894,1350,955],{}," et ",[894,1353,1354],{},"ref"," pour cette langue seule — et c’est ce qui\npermet à une traduction de vivre dans son propre dépôt, avec ses mainteneurs et\nson calendrier de publication.",[891,1357,1358,1364,1365,1368,1369,1372,1373,1376],{},[967,1359,1360,1361,1363],{},"La locale par défaut est l’arbre de ",[894,1362,940],{}," lui-même et ne prend aucun\ndossier."," Laquelle c’est vient de ",[894,1366,1367],{},"sourceOptions.defaultLocale",", et elle doit\nconcorder avec ",[894,1370,1371],{},"i18n.defaultLocale"," — la compilation échoue si elles diffèrent,\ncar ",[894,1374,1375],{},"content.config.ts"," résout les collections sans accès à la configuration\nNuxt.",[891,1378,1379,1380,1382,1383,1385],{},"Une ref peut porter ses propres ",[894,1381,1063],{},", remplaçant ceux de la source\nexactement comme le fait ",[894,1384,1020],{},". C’est la forme habituelle : la version\ncourante est traduite, les précédentes non.",[1149,1387,1389],{"className":1151,"code":1388,"language":1153,"meta":1154,"style":1154},"refs: [\n  { tag: 'v2.0.0' },                     \u002F\u002F hérite des locales de la source\n  { tag: 'v1.0.0', locales: ['en-GB'] }  \u002F\u002F l’original seulement\n]\n",[894,1390,1391,1397,1409,1428],{"__ignoreMap":1154},[1158,1392,1393,1395],{"class":1160,"line":1161},[1158,1394,976],{"class":1164},[1158,1396,1168],{"class":1167},[1158,1398,1399,1401,1403,1406],{"class":1160,"line":1171},[1158,1400,1209],{"class":1167},[1158,1402,1212],{"class":1174},[1158,1404,1405],{"class":1167}," },                     ",[1158,1407,1408],{"class":1181},"\u002F\u002F hérite des locales de la source\n",[1158,1410,1411,1413,1416,1419,1422,1425],{"class":1160,"line":1185},[1158,1412,1209],{"class":1167},[1158,1414,1415],{"class":1174},"'v1.0.0'",[1158,1417,1418],{"class":1167},", locales: [",[1158,1420,1421],{"class":1174},"'en-GB'",[1158,1423,1424],{"class":1167},"] }  ",[1158,1426,1427],{"class":1181},"\u002F\u002F l’original seulement\n",[1158,1429,1430],{"class":1160,"line":1206},[1158,1431,1239],{"class":1167},[891,1433,1434,1435,1438,1439,1442,1443,1351,1446,1449],{},"Nommez un dossier par ",[967,1436,1437],{},"langue"," là où la région n’ajoute rien : ",[894,1440,1441],{},"docs\u002Fpt\u002F"," sert\nà la fois ",[894,1444,1445],{},"pt-PT",[894,1447,1448],{},"pt-BR",", parce qu’une page retombe sur sa langue de base.\nLa même règle que suivent les fichiers de locale de la couche.",[907,1451,1452],{"id":1023},"Statut",[912,1454,1455,1465],{},[915,1456,1457],{},[918,1458,1459,1462],{},[921,1460,1461],{"align":923},"Valeur",[921,1463,1464],{"align":923},"Signifie",[931,1466,1467,1477,1487,1497,1507],{},[918,1468,1469,1474],{},[936,1470,1471],{"align":923},[894,1472,1473],{},"upcoming",[936,1475,1476],{"align":923},"Pas encore publiée — peut encore changer",[918,1478,1479,1484],{},[936,1480,1481],{"align":923},[894,1482,1483],{},"current",[936,1485,1486],{"align":923},"La documentation à lire",[918,1488,1489,1494],{},[936,1490,1491],{"align":923},[894,1492,1493],{},"maintained",[936,1495,1496],{"align":923},"Plus ancienne, toujours prise en charge",[918,1498,1499,1504],{},[936,1500,1501],{"align":923},[894,1502,1503],{},"deprecated",[936,1505,1506],{"align":923},"Plus ancienne, et le lecteur devrait mettre à jour",[918,1508,1509,1514],{},[936,1510,1511],{"align":923},[894,1512,1513],{},"eol",[936,1515,1516],{"align":923},"Morte — signalée, et hors du sitemap",[891,1518,1519,1520,905],{},"Ce que chacune coûte à une page est dans\n",[903,1521,53],{"href":54},[907,1523,65],{"id":1524},"sections-générées",[891,1526,1527,1529,1530,1532],{},[894,1528,1076],{}," liste les artefacts qui ne sont pas du Markdown et le type qui lit\nchacun d’eux en pages. Ce qu’est le mécanisme, et les deux politiques auxquelles\nun type répond, se trouve dans\n",[903,1531,65],{"href":66}," ; les champs ci-dessous sont\nles mêmes quel que soit le type qui les lit.",[912,1534,1535,1546],{},[915,1536,1537],{},[918,1538,1539,1541,1543],{},[921,1540,339],{"align":923},[921,1542,926],{"align":923},[921,1544,1545],{"align":923},"Notes",[931,1547,1548,1569,1582,1595,1608,1621,1639,1662],{},[918,1549,1550,1555,1559],{},[936,1551,1552],{"align":923},[894,1553,1554],{},"type",[936,1556,1557],{"align":923},[894,1558,945],{},[936,1560,1561,1562,1348,1565,1568],{"align":923},"La clé de registre du type — ",[894,1563,1564],{},"changelog",[894,1566,1567],{},"openapi",", le vôtre",[918,1570,1571,1575,1579],{},[936,1572,1573],{"align":923},[894,1574,940],{},[936,1576,1577],{"align":923},[894,1578,945],{},[936,1580,1581],{"align":923},"L’artefact, relatif à la racine propre de la source",[918,1583,1584,1588,1592],{},[936,1585,1586],{"align":923},[894,1587,989],{},[936,1589,1590],{"align":923},[894,1591,945],{},[936,1593,1594],{"align":923},"L’entrée de la barre et — slugifiée — le segment d’URL",[918,1596,1597,1601,1605],{},[936,1598,1599],{"align":923},[894,1600,1002],{},[936,1602,1603],{"align":923},[894,1604,945],{},[936,1606,1607],{"align":923},"Remplace le segment que le libellé produirait",[918,1609,1610,1615,1618],{},[936,1611,1612],{"align":923},[894,1613,1614],{},"options",[936,1616,1617],{"align":923},"objet",[936,1619,1620],{"align":923},"Les réglages qu’offre ce type ; chaque type valide les siens",[918,1622,1623,1627,1632],{},[936,1624,1625],{"align":923},[894,1626,1063],{},[936,1628,1629],{"align":923},[894,1630,1631],{},"Record\u003Cstring, string>",[936,1633,1634,1635,1638],{"align":923},"Un artefact par langue, lu par un type ",[894,1636,1637],{},"per-locale"," seulement",[918,1640,1641,1646,1649],{},[936,1642,1643],{"align":923},[894,1644,1645],{},"navigation",[936,1647,1648],{"align":923},"placement",[936,1650,1651,1654,1655,1658,1659],{"align":923},[894,1652,1653],{},"'sections'"," (par défaut), ",[894,1656,1657],{},"'navigation'"," ou ",[894,1660,1661],{},"false",[918,1663,1664,1669,1673],{},[936,1665,1666],{"align":923},[894,1667,1668],{},"icon",[936,1670,1671],{"align":923},[894,1672,945],{},[936,1674,1675],{"align":923},"Retombe sur l’icône propre du type",[891,1677,1678,1683,1684,1687],{},[967,1679,1680,1682],{},[894,1681,940],{}," est un chemin et jamais une URL."," Pour une source que Content clone, il\nest relatif à la racine de ce checkout, donc l’artefact voyage avec la version à\nlaquelle il appartient — une règle dans les deux sens. Un emplacement arbitraire\npermettrait d’aller chercher un artefact n’importe où et rouvrirait la question du\nréseau au moment du build, que ",[894,1685,1686],{},"sources"," a déjà refermée.",[891,1689,1690,1695],{},[967,1691,1692,1694],{},[894,1693,989],{}," est une chaîne simple et non un texte traduit",", pour la même raison que\nle libellé d’une version en est une : un texte traduit n’est pas une URL stable.",[891,1697,1698,1700],{},[894,1699,1614],{}," est opaque à tout sauf au type qui les lit — une granularité veut dire\nquelque chose pour un journal des versions et rien pour une référence d’API. Une\nclé que le type ne connaît pas fait échouer le build au lieu d’être ignorée, parce\nqu’une option mal orthographiée est un site qui n’obtient silencieusement pas ce\nqu’il a configuré.",[907,1702,1704],{"id":1703},"options-de-source","Options de source",[912,1706,1707,1719],{},[915,1708,1709],{},[918,1710,1711,1713,1716],{},[921,1712,339],{"align":923},[921,1714,1715],{"align":923},"Par défaut",[921,1717,1718],{"align":923},"Ce qu’il fait",[931,1720,1721,1734,1746,1759],{},[918,1722,1723,1728,1731],{},[936,1724,1725],{"align":923},[894,1726,1727],{},"showRepo",[936,1729,1730],{"align":923},"désactivé",[936,1732,1733],{"align":923},"Force un segment de dépôt avec un dépôt unique",[918,1735,1736,1741,1743],{},[936,1737,1738],{"align":923},[894,1739,1740],{},"showVersion",[936,1742,1730],{"align":923},[936,1744,1745],{"align":923},"Force un segment de version avec une version unique",[918,1747,1748,1753,1756],{},[936,1749,1750],{"align":923},[894,1751,1752],{},"defaultRef",[936,1754,1755],{"align":923},"la première ref",[936,1757,1758],{"align":923},"La ref servie sans préfixe de version",[918,1760,1761,1766,1769],{},[936,1762,1763],{"align":923},[894,1764,1765],{},"defaultLocale",[936,1767,1768],{"align":923},"la première locale",[936,1770,1771,1772,1774],{"align":923},"La locale servie depuis ",[894,1773,940],{}," lui-même, sans dossier",[907,1776,1778],{"id":1777},"le-manifeste-résolu","Le manifeste résolu",[891,1780,1781,1782,1785,1786,1788,1789,1792,1793,1348,1795,1348,1798,1348,1801,1804,1805,1348,1808,1810,1811,1813],{},"La compilation transforme la liste ci-dessus en ",[894,1783,1784],{},"duxt.resolvedSources",", et c’est\nce que lit le thème. ",[894,1787,511],{}," l’expose ; chaque entrée porte le nom\nde la collection, le ",[894,1790,1791],{},"prefix"," d’URL, ",[894,1794,955],{},[894,1796,1797],{},"version",[894,1799,1800],{},"isDefault",[894,1802,1803],{},"locale",",\n",[894,1806,1807],{},"isDefaultLocale",[894,1809,1020],{},", le dépôt et la ref d’où viennent les pages, et si\nson ",[894,1812,1048],{}," a été lu.",[891,1815,1816,1817,1819],{},"La locale est délibérément absente de ",[894,1818,1791],{}," : i18n la place déjà devant le\nchemin, si bien que toutes les langues d’une source partagent un préfixe et ne\ndiffèrent que par la collection.",[1821,1822,1823],"style",{},"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 pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}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":1154,"searchDepth":1171,"depth":1171,"links":1825},[1826,1827,1828,1829,1830,1831,1832],{"id":909,"depth":1171,"text":910},{"id":976,"depth":1171,"text":1133},{"id":1063,"depth":1171,"text":1255},{"id":1023,"depth":1171,"text":1452},{"id":1524,"depth":1171,"text":65},{"id":1703,"depth":1171,"text":1704},{"id":1777,"depth":1171,"text":1778},[1834],{"name":1835,"commits":1206},"Titus Kirch","md","2026-09-10T01:31:33+02:00",{},"---\ntitle: Sources\ndescription: Les champs d’une entrée de source, ses refs, et les options qui façonnent les URL.\nicon: lucide:git-branch\n---\n\n`duxt.sources` est une liste d’entrées de source ; `duxt.sourceOptions` dit\ncomment elles deviennent des URL. Les deux sont lues à la compilation. Ce\nqu’elles génèrent, et pourquoi, est dans [Sources](\u002Fconcepts\u002Fsources).\n\n## Une entrée de source\n\n| Champ     | Type                     | Remarques                                                        |\n| :-------- | :----------------------- | :---------------------------------------------------------------- |\n| `path`    | `string`                 | Dossier contenant le Markdown, relatif à la racine du dépôt        |\n| `repo`    | `string`                 | `owner\u002Fname` ou une URL git. **Omis signifie ce dépôt-ci**         |\n| `refs`    | liste de refs            | Refs à publier comme versions. Omis signifie le checkout courant   |\n| `label`   | texte                    | Affiché dans le sélecteur et utilisé dans l’URL ; par défaut la ref |\n| `slug`    | `string`                 | Le segment d’URL de cette source. **La déclarer, c’est la réclamer** — voir plus bas |\n| `status`  | statut                   | Cycle de vie de chaque version que cette entrée publie             |\n| `origin`  | `{ repo, ref? }`         | Où vivent les pages lues sur le disque, pour les liens de retour   |\n| `history` | `boolean`                | Lire l’historique git de cette source                              |\n| `locales` | liste de locales         | Langues dans lesquelles cette source existe — voir ci-dessous      |\n| `generated` | liste de sections       | Artefacts publiés en pages à côté du Markdown — voir plus bas    |\n\nDeux champs se confondent facilement et coûtent cher quand on se trompe :\n\n- **`repo` télécharge, `origin` ne fait que lier.** Nommer votre propre dépôt\n  dans `repo` fait cloner à la compilation le checkout dans lequel elle se\n  trouve déjà.\n- **`history` coûte un clone complet.** Content clone un dépôt distant avec\n  `--depth 1` : son checkout ne contient qu’un commit et chaque fichier paraît\n  écrit par la personne qui a coupé la pointe — données fausses, pas données\n  manquantes. L’activer complète le clone une fois. Une source lue sur le disque\n  est déjà un checkout complet et est lue quoi qu’il arrive.\n\n**`slug` réclame un segment.** Une source n’en reçoit normalement un que lorsque\nla liste nomme plus d’un dépôt — tout ou rien, pour le site entier. Une source\nqui écrit son propre `slug` est servie dessous de toute façon, et celles qui n’en\nécrivent aucun ne bougent pas : c’est ce qui permet à une chose de vivre sous\n`\u002Fdemo` à côté d’une documentation qui garde la racine.\n\n## Refs\n\nUne chaîne nue est une **branche**. Un tag doit le dire : git garde les branches\net les tags dans des espaces de noms séparés, et demander un tag sous\n`refs\u002Fheads` fait échouer la compilation avec `Could not find refs\u002Fheads\u002F…`.\n\n```ts\nrefs: [\n  'main',                                     \u002F\u002F une branche\n  { branch: 'next', status: 'upcoming' },     \u002F\u002F la même, avec un cycle de vie\n  { tag: 'v2.0.0', label: 'v2' },             \u002F\u002F un tag\n  'latest'                                    \u002F\u002F le tag semver le plus récent, résolu à la compilation\n]\n```\n\n`'latest'` est réservé. Une branche réellement nommée `latest` exige la forme\n`{ branch }`.\n\n## Locales\n\nOmis, la source a une langue et une collection. Listées, chaque entrée devient\nune collection à part.\n\n```ts\nlocales: [\n  'en-GB',                                              \u002F\u002F la valeur par défaut : docs\u002F lui-même\n  'de',                                                 \u002F\u002F docs\u002Fde\u002F\n  { locale: 'fr', path: 'translations\u002Ffr' },            \u002F\u002F ailleurs dans ce dépôt\n  { locale: 'es', repo: 'acme\u002Fdocs-es', path: 'docs' }  \u002F\u002F un autre dépôt\n]\n```\n\nUne chaîne est un dossier à l’intérieur du `path` de la source. La forme objet\nremplace `path`, `repo` et `ref` pour cette langue seule — et c’est ce qui\npermet à une traduction de vivre dans son propre dépôt, avec ses mainteneurs et\nson calendrier de publication.\n\n**La locale par défaut est l’arbre de `path` lui-même et ne prend aucun\ndossier.** Laquelle c’est vient de `sourceOptions.defaultLocale`, et elle doit\nconcorder avec `i18n.defaultLocale` — la compilation échoue si elles diffèrent,\ncar `content.config.ts` résout les collections sans accès à la configuration\nNuxt.\n\nUne ref peut porter ses propres `locales`, remplaçant ceux de la source\nexactement comme le fait `status`. C’est la forme habituelle : la version\ncourante est traduite, les précédentes non.\n\n```ts\nrefs: [\n  { tag: 'v2.0.0' },                     \u002F\u002F hérite des locales de la source\n  { tag: 'v1.0.0', locales: ['en-GB'] }  \u002F\u002F l’original seulement\n]\n```\n\nNommez un dossier par **langue** là où la région n’ajoute rien : `docs\u002Fpt\u002F` sert\nà la fois `pt-PT` et `pt-BR`, parce qu’une page retombe sur sa langue de base.\nLa même règle que suivent les fichiers de locale de la couche.\n\n## Statut\n\n| Valeur       | Signifie                                              |\n| :----------- | :---------------------------------------------------- |\n| `upcoming`   | Pas encore publiée — peut encore changer               |\n| `current`    | La documentation à lire                                |\n| `maintained` | Plus ancienne, toujours prise en charge                |\n| `deprecated` | Plus ancienne, et le lecteur devrait mettre à jour     |\n| `eol`        | Morte — signalée, et hors du sitemap                   |\n\nCe que chacune coûte à une page est dans\n[URL et versions](\u002Fconcepts\u002Furls-and-versions).\n\n## Sections générées\n\n`generated` liste les artefacts qui ne sont pas du Markdown et le type qui lit\nchacun d’eux en pages. Ce qu’est le mécanisme, et les deux politiques auxquelles\nun type répond, se trouve dans\n[Sections générées](\u002Fconcepts\u002Fgenerated-sections) ; les champs ci-dessous sont\nles mêmes quel que soit le type qui les lit.\n\n| Champ        | Type                     | Notes                                                        |\n| :----------- | :----------------------- | :------------------------------------------------------------ |\n| `type`       | `string`                 | La clé de registre du type — `changelog`, `openapi`, le vôtre  |\n| `path`       | `string`                 | L’artefact, relatif à la racine propre de la source            |\n| `label`      | `string`                 | L’entrée de la barre et — slugifiée — le segment d’URL         |\n| `slug`       | `string`                 | Remplace le segment que le libellé produirait                  |\n| `options`    | objet                    | Les réglages qu’offre ce type ; chaque type valide les siens   |\n| `locales`    | `Record\u003Cstring, string>` | Un artefact par langue, lu par un type `per-locale` seulement  |\n| `navigation` | placement                | `'sections'` (par défaut), `'navigation'` ou `false`           |\n| `icon`       | `string`                 | Retombe sur l’icône propre du type                             |\n\n**`path` est un chemin et jamais une URL.** Pour une source que Content clone, il\nest relatif à la racine de ce checkout, donc l’artefact voyage avec la version à\nlaquelle il appartient — une règle dans les deux sens. Un emplacement arbitraire\npermettrait d’aller chercher un artefact n’importe où et rouvrirait la question du\nréseau au moment du build, que `sources` a déjà refermée.\n\n**`label` est une chaîne simple et non un texte traduit**, pour la même raison que\nle libellé d’une version en est une : un texte traduit n’est pas une URL stable.\n\n`options` est opaque à tout sauf au type qui les lit — une granularité veut dire\nquelque chose pour un journal des versions et rien pour une référence d’API. Une\nclé que le type ne connaît pas fait échouer le build au lieu d’être ignorée, parce\nqu’une option mal orthographiée est un site qui n’obtient silencieusement pas ce\nqu’il a configuré.\n\n\n## Options de source\n\n| Champ           | Par défaut          | Ce qu’il fait                                              |\n| :-------------- | :------------------ | :---------------------------------------------------------- |\n| `showRepo`      | désactivé           | Force un segment de dépôt avec un dépôt unique               |\n| `showVersion`   | désactivé           | Force un segment de version avec une version unique          |\n| `defaultRef`    | la première ref     | La ref servie sans préfixe de version                        |\n| `defaultLocale` | la première locale  | La locale servie depuis `path` lui-même, sans dossier        |\n\n## Le manifeste résolu\n\nLa compilation transforme la liste ci-dessus en `duxt.resolvedSources`, et c’est\nce que lit le thème. `useDuxtCollection()` l’expose ; chaque entrée porte le nom\nde la collection, le `prefix` d’URL, `repo`, `version`, `isDefault`, `locale`,\n`isDefaultLocale`, `status`, le dépôt et la ref d’où viennent les pages, et si\nson `history` a été lu.\n\nLa locale est délibérément absente de `prefix` : i18n la place déjà devant le\nchemin, si bien que toutes les langues d’une source partagent un préfixe et ne\ndiffèrent que par la collection.\n",{"title":47,"description":196},{"loc":194},"Z9YAhNPN7zSk8jQ5I4d0LGvYqEf_H3_68D41FgU49Vg","fr","fr-FR",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":1846},"\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":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":1848},"\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":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":1850},"\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":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":1852},"\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":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":1854},"\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":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":1856},"\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":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":1858},"\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":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":1860},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M7 7h10v10M7 17L17 7\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":1862},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497zM15 5l4 4\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":1864},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m12 19l-7-7l7-7m7 7H5\"\u002F>",{"left":834,"top":834,"width":835,"height":835,"rotate":834,"vFlip":836,"hFlip":836,"body":1866},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 12h14m-7-7l7 7l-7 7\"\u002F>",1789004686251]