Hallo Welt
Ein Platzhalter-Beitrag, der die Sammlung typisiert und den Build ehrlich hält. Ersetze ihn durch das Erste, was du wirklich sagen willst.
Jede Sammlung behält pro Sprache einen Beispieleintrag, damit ihr Schema geprüft bleibt und die Seite in einem frischen Checkout baut. Lösche diese Datei, sobald du echte Texte veröffentlichst.
Frontmatter wird validiert
Die Schemata liegen in velite.config.ts. title, date, slug und excerpt
sind Pflicht; der Build schlägt bei einem fehlenden oder fehlerhaften Feld laut
fehl — genau darum geht es.
Optionale Felder
liveUrl, liveLabel, repo und pypiUrl hängen Links an einen Beitrag.
draft: true blendet einen Eintrag aus, ohne ihn zu löschen.
Code wird beim Build hervorgehoben
Shiki läuft in der Content-Pipeline: ein Beispiel kommt also schon farbig an, ohne dass ein Highlighter im Browser landet.
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]
}Beide Paletten stecken im Markup, und das Thema entscheidet, welche gilt.