Aller au contenu

Tape un mot pour chercher dans les pages.

↑↓ Choisir↵ OuvrirÉchap Fermer

Référence

Tous les champs du fichier de configuration d'un site Docs, leurs règles de validation et leurs messages d'erreur.

docs.json vit à la racine du dossier de la doc. Il reprend le format de Mintlify : les champs que Docs ne gère pas sont acceptés et ignorés, jamais refusés.

Pour l’autocomplétion dans ton éditeur, ajoute la ligne :

{ "$schema": "https://docs.hgdc.ch/docs.schema.json" }

Champs

ChampTypeObligatoireRègle et rôle
$schematextenonAdresse du schéma, pour l’autocomplétion.
nametexteouiNom de la doc, en tête du site et dans llms.txt. 1 à 80 caractères.
descriptiontextenonPrésentation d’une phrase. 300 caractères au plus.
projectidentifiantnonIdentifiant du projet dans la console. Il active l’assistant et permet l’indexation. 8 à 64 caractères, lettres minuscules et chiffres.
languagefr, en, de ou itnonLangue du site. Défaut : fr.
basecheminnonSous-chemin où la doc est servie, par exemple /docs. Un ou plusieurs segments, sans / final. Le site est alors écrit dans dist/docs/.
colors.primarycouleuroui, si colors est présentCouleur des liens et des éléments actifs, au format #rrggbb ou #rgb.
colors.darkcouleurnonLa même couleur, en mode sombre.
logochemin, ou objetnonUn chemin, ou { "light": "…", "dark": "…" }. light est obligatoire dans l’objet.
faviconcheminnonIcône de l’onglet. Défaut : /favicon.svg.
navigationobjetouiVoir Navigation.
footer.socialsobjetnonLiens vers tes réseaux. Clés acceptées : github, gitlab, linkedin, x.com, mastodon, discord, youtube, instagram, bluesky. Les autres clés sont ignorées.
assistant.enabledbooléennonfalse retire le bouton de l’assistant du site. Défaut : true.
assistant.endpointadresse https://nonAdresse de l’API de l’assistant. Par défaut, celle de Docs : ne la change que sur indication de HGDC.

Accepté mais sans effet pour l’instant : colors.light, logo.href, navbar.

Les chemins de logo et favicon partent de la racine de la doc, comme les liens. Le fichier déclaré ici est publié, même hors d’un dossier d’images.

navigation accepte une seule des quatre formes suivantes. En écrire deux fait échouer le build.

FormeContenu
pagesUne liste de pages, sans groupe.
groupsUne liste de groupes.
tabsUne liste d’onglets, chacun avec groups ou pages.
versionsUne liste de versions, chacune avec tabs, groups ou pages.

Détail des éléments :

ÉlémentChampsRègle
Groupegroup, pages, expandedgroup non vide. pages contient au moins une entrée : une page ou un groupe imbriqué. expanded vaut true par défaut ; false replie le groupe.
Onglettab, groups ou pagestab non vide.
Versionversion, default, tabs, groups ou pagesversion de 1 à 32 caractères. Une seule version porte default: true. Sans drapeau, la première est la version par défaut. Deux versions ne peuvent pas avoir le même nom.
PagecheminSans extension, sans / au début, sans ... Lettres, chiffres, tirets, tirets bas et /. Exemple : guides/publier.

Erreurs

Un docs.json invalide fait échouer le build, avec la liste des problèmes et leur chemin :

docs.json n'est pas un JSON valide : …
colors.primary : couleur attendue au format #rrggbb
navigation : utiliser une seule forme parmi versions, tabs, groups ou pages
navigation.versions : une seule version par défaut
navigation.versions : deux versions ont le même nom
docs.json cite des pages absentes du dossier :
- guides/facturer.mdx

Un identifiant project qui ne correspond pas au projet de la console produit un message du type : project : docs.json porte …. Recopie l’identifiant du projet visé depuis la console.

Voir aussi