#!/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")"