Skip to main content
Voir en Markdown

build()

Génère un site statique à partir d'un objet de configuration. Retourne un GenerateStaticResult décrivant ce qui a été écrit.

import { build } from 'sovrium'

const result = await build({ name: 'my-site', pages: [{ name: 'Home', path: '/' }] })

console.log(result.outputDir) // "./static"
console.log(result.files.length)

Comme start(), build() valide d'abord face à AppSchema et rejette avec Sovrium failed to build: plutôt que d'émettre un site partiel.

GenerateStaticOptions

Propriété Description
outputDir Répertoire de sortie. Par défaut : ./static.
baseUrl URL de base pour le sitemap et les liens canoniques.
basePath Préfixe de chemin pour les déploiements en sous-répertoire.
deployment Plateforme cible : github-pages ou generic.
languages Tableau des codes de langue à générer.
defaultLanguage Code de la langue par défaut.
generateSitemap Génère sitemap.xml. Par défaut : false.
generateRobotsTxt Génère robots.txt. Par défaut : false.
hydration Émet le runtime d'hydratation côté client. Par défaut : false.
generateManifest Génère manifest.json pour les PWA. Par défaut : false.
bundleOptimization Stratégie de découpage : split ou none.
publicDir Répertoire de ressources statiques à copier dans la sortie.

GenerateStaticResult

Propriété Description
outputDir Chemin du répertoire de sortie effectivement écrit.
files Chaque fichier généré pendant le build (HTML, CSS, ressources, sitemap).

Le tableau files est le manifeste de déploiement — énumérez-le plutôt que de reparcourir le répertoire, puisqu'il exclut tout ce qui s'y trouvait déjà.

Un build statique complet

import { build } from 'sovrium'
import type { GenerateStaticResult } from 'sovrium'

const result: GenerateStaticResult = await build(
  {
    name: 'my-site',
    pages: [
      {
        name: 'Home',
        path: '/',
        components: [
          { type: 'hero', content: 'Welcome' },
          { type: 'text', content: 'Built with Sovrium.' },
        ],
      },
    ],
  },
  {
    outputDir: './dist',
    baseUrl: 'https://example.com',
    deployment: 'github-pages',
    generateSitemap: true,
    generateRobotsTxt: true,
  }
)

console.log(`Wrote ${result.files.length} files to ${result.outputDir}`)

deployment: 'github-pages' ajoute les fichiers attendus par cet hébergeur — notamment un marqueur .nojekyll, sans lequel les répertoires commençant par un tiret bas seraient avalés par Jekyll au lieu d'être servis.

Recherche dans les pages

Si une page déclare un composant pageSearch, build() exécute aussi l'indexeur de recherche et écrit un répertoire sovrium-search/ dans la sortie. Les fichiers supplémentaires apparaissent dans result.files. Sans un tel composant, rien n'est émis et aucun coût d'indexation n'est payé — la fonctionnalité est conditionnée par la configuration, pas par une option.

Pages associées

Dernière mise à jour 27 juillet 2026

Cette documentation a été rédigée avec de l'IA : des erreurs ou du contenu obsolète sont donc possibles. Sovrium est en bêta — les contributions et corrections sont les bienvenues.

Construit avec Sovrium