Structure de sortie
Chaque build produit une simple arborescence de répertoires de fichiers. Cette page décrit ce qui vit où, pour que vous sachiez exactement ce qui part en ligne.
Racines par langue
Dans le mode d'URL par chemin par défaut, chaque langue active reçoit sa propre sous-arborescence :
output/
en/
es/
pt/ Sans segments de langue (mode unilingue), le contenu se trouve directement dans output/. En mode sous-domaine, les mêmes répertoires par langue portent le contenu, et votre serveur web route chaque sous-domaine de langue vers son répertoire.
La promotion remplace l'arborescence live via un symlink ou un renommage de répertoire ; les visiteurs ne voient jamais qu'une arborescence entièrement construite.
Fichiers de pages et de billets
- Les pages vivent à leur propre chemin imbriqué :
output/en/about/philosophy/index.htmlpour une page enfant sous son parent. - Les billets vivent sous le préfixe blog à l'intérieur de l'arborescence de langue :
output/en/blog/my-post/index.html(le préfixe est par défautbloget peut être remplacé par langue). - Les archives de catégories se trouvent également dans le préfixe blog :
/blog/category/<slug>/.
Les catégories et les pages s'imbriquent depuis la structure de contenu de l'administration ; les règles de base des URL viennent des réglages d'URL de chaque langue.
Fichiers partagés par langue
Chaque répertoire de langue porte aussi ses fichiers de détection et d'index générés :
sitemap.xmlrobots.txtfeed.xml: seulement quand cette langue a au moins un billet publiésearch-index.json: l'index qui alimente la recherche du site404.html: la page introuvable construite.well-known/security.txt: quand un contact de sécurité est configuré- Extras PWA quand activés :
manifest.json,sw.js,offline.html
Au niveau racine : une page de redirection (ou une vraie page) occupe output/{lang}/index.html selon l'endroit où la racine du domaine doit pointer.
Les assets sont synchronisés par langue
Les grands répertoires partagés sont copiés dans chaque langue à chaque build :
media/: les envois de l'écran média de l'administration, reflétés dans chaque arborescence de langue ; seuls les fichiers modifiés sont réécrits, si bien que les assets synchronisés traversent les builds inchangés.fonts/: les fichiers de police du site.- Les fichiers favicon à la racine de la langue (favicon.ico, favicon-96x96.png, apple-touch-icon.png) quand l'un est configuré.
Un fichier de logo doit être présent dans le dossier d'assets du site ; les builds avertissent « not found in assets/, skipping » si le réglage en nomme un qui n'y est pas. Le journal de build marque chaque synchronisation d'une ligne « media synced » par répertoire de langue.
Redirections
Les redirections sont rendues de deux manières dans l'arborescence :
- des pages de redirection HTML aux anciens chemins (avec liens canoniques), par langue ;
- des extraits de configuration serveur générés à la racine de sortie (
_redirects.caddy), et pour les configurations à la netlify un fichier_redirectségalement ; les redirections par motif n'existent que comme pages HTML.
En dehors de l'arborescence de sortie
Le build écrit aussi un manifeste signé en dehors de la sortie : un répertoire private/ à côté contient build-manifest.json et sa signature. C'est la revendication d'intégrité de ce qui est parti en ligne, et en cas de promotion ratée, le manifeste précédent est restauré, pas écrasé.