#!/bin/bash

# Définir les répertoires
SRC_DIR="src"
ASSETS_DIR="assets"
TEMPLATES_DIR="templates"
PUBLIC_DIR="public"

# 1. Nettoyer et recréer le répertoire de sortie
echo "Nettoyage du répertoire public..."
rm -rf "${PUBLIC_DIR}"
mkdir -p "${PUBLIC_DIR}"

# 2. Copier les ressources statiques (CSS, images, etc.)
echo "Copie des ressources..."
cp -r "${ASSETS_DIR}"/* "${PUBLIC_DIR}/"

# 3. Définir les options communes de Pandoc pour la cohérence
PANDOC_OPTS=(
  --standalone
  --from markdown+yaml_metadata_block
  --to html5
  --template "${TEMPLATES_DIR}/default.html"
  --css "style.css" # Chemin relatif au fichier HTML final
  --toc # Activer la table des matières
  --toc-depth=3 # Profondeur de la table des matières (h1, h2, h3)
  --include-after-body "${TEMPLATES_DIR}/footer.html"
  --highlight-style tango
)

# 4. Convertir chaque fichier Markdown
echo "Conversion des fichiers Markdown..."
for file in "${SRC_DIR}"/*.md; do
  # Extraire le nom de base du fichier (ex: 'index')
  base_name=$(basename "${file}" .md)
  output_file="${PUBLIC_DIR}/${base_name}.html"

  # Créer une navigation temporaire avec aria-current pour la page active
  temp_nav=$(mktemp)
  sed "s|href=\"${base_name}.html\"|href=\"${base_name}.html\" aria-current=\"page\"|" "${TEMPLATES_DIR}/navigation.html" > "${temp_nav}"

  echo "  -> ${file}"
  pandoc "${file}" "${PANDOC_OPTS[@]}" --include-before-body "${temp_nav}" -o "${output_file}"

  rm "${temp_nav}"
done

echo "Site web généré avec succès dans le répertoire '${PUBLIC_DIR}'."
