ArchLinux.
Se necesitó weasyprint porque LaTeX no manejaba bien los caracteres Unicode del archivo (acentos españoles, ✓, Ω, emojis, etc.).
pipx install weasyprint
cp /home/esotericwarfare/projects/blog/content/geo_streams.md /home/esotericwarfare/geo_streams.md
pandoc geo_streams.md -t html5 --standalone --metadata charset=utf-8 -o /tmp/geo_streams.html
El flag --standalone genera un HTML completo con <meta charset="utf-8"> necesario para que weasyprint renderice bien los acentos.
sudo /home/esotericwarfare/.local/bin/weasyprint /tmp/geo_streams.html /mnt/arch/geohot.pdf
Las líneas 3323-7621 tenían espacios masivos al inicio (hasta 4852 espacios) por un problema de copiar y pegar. Se quitó el whitespace excesivo con:
with open('geo_streams.md', 'r') as f:
lines = f.readlines()
for i in range(3322, 7620):
stripped = lines[i].lstrip()
if stripped and stripped != lines[i]:
leading_spaces = len(lines[i]) - len(stripped)
if leading_spaces > 4: # Solo líneas con indentación excesiva
lines[i] = stripped
with open('geo_streams.md', 'w') as f:
f.writelines(lines)
pandoc geo_streams.md -t html5 --standalone --metadata charset=utf-8 -o /tmp/geo_streams3.html
sudo /home/esotericwarfare/.local/bin/weasyprint /tmp/geo_streams3.html /mnt/arch/geohot.pdf
Cree este PDF: