ArchLinux.

Pasos para generar el PDF desde markdown

1. Instalar herramientas necesarias

Se necesitó weasyprint porque LaTeX no manejaba bien los caracteres Unicode del archivo (acentos españoles, ✓, Ω, emojis, etc.).

pipx install weasyprint

2. Copiar el archivo original (sin modificarlo)

cp /home/esotericwarfare/projects/blog/content/geo_streams.md /home/esotericwarfare/geo_streams.md

3. Generar HTML desde markdown con pandoc

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.

4. Convertir HTML a PDF con weasyprint

sudo /home/esotericwarfare/.local/bin/weasyprint /tmp/geo_streams.html /mnt/arch/geohot.pdf

5. Solucionar el problema de formato (espacios al inicio de línea)

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)

6. Regenerar el PDF después de la corrección

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: