Bonjour le monde
Un article d'exemple qui garde la collection typée et la compilation honnête. Remplacez-le par la première chose que vous voulez vraiment dire.
Chaque collection conserve une entrée d'exemple par langue, afin que son schéma reste vérifié et que le site compile sur un dépôt neuf. Supprimez ce fichier dès que vous avez de vrais articles à publier.
Le frontmatter est validé
Les schémas vivent dans velite.config.ts. title, date, slug et excerpt
sont obligatoires ; la compilation échoue bruyamment sur un champ manquant ou mal
formé — c'est précisément le but.
Champs optionnels
liveUrl, liveLabel, repo et pypiUrl attachent des liens à un article. draft: true masque une entrée sans la supprimer.
Le code est coloré à la compilation
Shiki s'exécute dans le pipeline de contenu : un extrait arrive donc déjà coloré, sans qu'aucun moteur de coloration n'atteigne le navigateur.
export function localeFrom(path: string): string {
const segments = path.replaceAll('\\', '/').split('/')
const index = segments.findLastIndex((segment) => COLLECTION_DIRS.has(segment))
if (index < 1) {
throw new Error(`Cannot infer a locale from ${path}`)
}
return segments[index - 1]
}Les deux palettes sont compilées dans le balisage, et le thème choisit laquelle s'applique.