#!/usr/bin/env bash set -e SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" CGU_DIR="$SCRIPT_DIR/../public/cgu" MD_FILE="$CGU_DIR/cgu.md" DATE=$(date +%d-%m-%Y) PDF_FILE="$CGU_DIR/cgu-confidentialite-oki-$DATE.pdf" TMP_HTML=$(mktemp /tmp/cgu-XXXXXX.html) trap 'rm -f "$TMP_HTML"' EXIT cat > "$TMP_HTML" <<'HTML_HEAD' CGU et politique de confidentialité — PAWÒL-NU HTML_HEAD node - "$MD_FILE" >> "$TMP_HTML" <<'NODE_EOF' const fs = require('fs') const md = fs.readFileSync(process.argv[2], 'utf8') let html = md .replace(/&/g, '&').replace(//g, '>') .replace(/^# (.+)$/gm, '

$1

') .replace(/^## (.+)$/gm, '

$1

') .replace(/^### (.+)$/gm, '

$1

') .replace(/^\*\*\*(.+)\*\*\*$/gm, '
') .replace(/^---$/gm, '
') .replace(/\*\*(.+?)\*\*/g, '$1') .replace(/\*(.+?)\*/g, '$1') .replace(/\[([^\]]+)\]\(([^)]+)\)/g, '$1') .replace(/^- (.+)$/gm, '
  • $1
  • ') .replace(/(
  • .*<\/li>\n?)+/gs, m => ``) .replace(/\n\n/g, '

    ') .replace(/^(?!<[hup]|<\/[hup]|${html}

    `) NODE_EOF echo '' >> "$TMP_HTML" chromium --headless --no-sandbox --no-pdf-header-footer \ --print-to-pdf="$PDF_FILE" "$TMP_HTML" 2>/dev/null echo "PDF généré : $PDF_FILE" echo "Pense à mettre à jour NEXT_PUBLIC_CGU_DOWNLOAD_LINK=/cgu/$(basename "$PDF_FILE")"