v0.2 - 19 features: comparator, allergies, gamification, shopping list, achievements, stats, profile, share, bottom nav
This commit is contained in:
66
docs/generate-pdfs.sh
Executable file
66
docs/generate-pdfs.sh
Executable file
@@ -0,0 +1,66 @@
|
||||
#!/bin/bash
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
LOGO_B64=$(base64 -w0 ../frontend/public/icons/icon-192.png)
|
||||
TEMPLATE="pdf-template.html"
|
||||
DATE=$(date +"%d/%m/%Y")
|
||||
|
||||
declare -A TITLES=(
|
||||
["MANUAL-PRODUTO"]="Manual do Produto"
|
||||
["MANUAL-VENDAS"]="Manual de Vendas"
|
||||
["MANUAL-TECNICO"]="Manual Técnico"
|
||||
["ARQUITETURA-TECNICA"]="Arquitetura Técnica"
|
||||
)
|
||||
|
||||
for doc in MANUAL-PRODUTO MANUAL-VENDAS MANUAL-TECNICO ARQUITETURA-TECNICA; do
|
||||
TITLE="${TITLES[$doc]}"
|
||||
echo "Generating $doc.pdf..."
|
||||
|
||||
# Create cover + content HTML
|
||||
COVER="<div class=\"cover\">
|
||||
<img src=\"data:image/png;base64,$LOGO_B64\" class=\"cover-logo\" />
|
||||
<h1>ALETHEIA</h1>
|
||||
<div class=\"subtitle\">SCANNER NUTRICIONAL COM IA</div>
|
||||
<div class=\"doc-title\">$TITLE</div>
|
||||
<div class=\"version\">Versão 1.0 — $DATE</div>
|
||||
<div class=\"tagline\">\"A verdade sobre o que você come\"</div>
|
||||
</div>
|
||||
<div class=\"page-header\">
|
||||
<div style=\"display:flex;align-items:center;gap:10px\">
|
||||
<img src=\"data:image/png;base64,$LOGO_B64\" />
|
||||
<span class=\"brand\">ALETHEIA</span>
|
||||
</div>
|
||||
<span class=\"doc-type\">$TITLE</span>
|
||||
</div>"
|
||||
|
||||
# Convert MD to HTML body
|
||||
BODY=$(pandoc "$doc.md" --from markdown --to html 2>/dev/null)
|
||||
|
||||
# Build full HTML
|
||||
FULL_HTML=$(cat "$TEMPLATE" | sed "s|\\\$body\\\$|$COVER\n$BODY|")
|
||||
|
||||
# Write temp HTML
|
||||
echo "$FULL_HTML" > "/tmp/${doc}-full.html"
|
||||
|
||||
# Generate PDF with wkhtmltopdf
|
||||
wkhtmltopdf \
|
||||
--page-size A4 \
|
||||
--margin-top 20mm \
|
||||
--margin-bottom 20mm \
|
||||
--margin-left 20mm \
|
||||
--margin-right 20mm \
|
||||
--enable-local-file-access \
|
||||
--print-media-type \
|
||||
--encoding utf-8 \
|
||||
--quiet \
|
||||
"/tmp/${doc}-full.html" "$doc.pdf" 2>/dev/null
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
SIZE=$(du -h "$doc.pdf" | cut -f1)
|
||||
echo " ✅ $doc.pdf ($SIZE)"
|
||||
else
|
||||
echo " ❌ Failed $doc.pdf"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Done!"
|
||||
Reference in New Issue
Block a user