build-all-langs.sh 51 lignes · 1418 octets
#!/usr/bin/env bash
# Construit le site mdBook pour toutes les langues supportées.
# Sortie : book/{fr,en,de,es,pt,it}/
#
# Usage : ./scripts/build-all-langs.sh
#
# Pré-requis : mdbook, mdbook-mermaid, mdbook-i18n-helpers installés (voir CONTRIBUTING.md §3.1).

set -euo pipefail

LANGS=(fr en de es pt it)
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$ROOT"

rm -rf book
mkdir -p book

for lang in "${LANGS[@]}"; do
  echo "→ Build $lang"
  MDBOOK_BOOK__LANGUAGE="$lang" mdbook build -d "book/$lang"
done

# Page d'accueil qui redirige selon Accept-Language (fallback FR)
cat > book/index.html <<'HTML'
<!DOCTYPE html>
<html lang="fr">
<head>
  <meta charset="utf-8">
  <title>Documentation gitrust</title>
  <script>
    const langs = ["fr", "en", "de", "es", "pt", "it"];
    const preferred = (navigator.language || "fr").slice(0, 2).toLowerCase();
    const target = langs.includes(preferred) ? preferred : "fr";
    location.replace(target + "/index.html");
  </script>
  <meta http-equiv="refresh" content="0;url=fr/index.html">
</head>
<body>
  <p>Redirection vers <a href="fr/index.html">la documentation</a>…</p>
</body>
</html>
HTML

echo ""
echo "✓ Builds mdBook terminés :"
du -sh book/*/

# Post-traitement SEO : robots.txt, llms.txt, sitemaps par langue + sitemap index.
echo ""
echo "→ Post-traitement SEO"
"$ROOT/scripts/seo-postbuild.sh" "${SITE_BASE_URL:-https://demo.gitrust.eu/docs}"