pandoc, CLI conversión de documentos
Pandoc es una herramienta de línea de comando que permite la conversión de documentos de un formato a otro. Es una herramienta muy versátil que soporta una gran variedad de formatos de entrada y de salida, incluyendo Markdown, HTML, LaTeX, Microsoft Word y muchos más. En este blog, cubriremos cómo usar Pandoc a través de varios ejemplos prácticos.
Thank you for reading this post, don't forget to subscribe!
Antes de comenzar, asegúrate de tener Pandoc instalado en tu sistema. Si aún no lo has hecho, puedes seguir las instrucciones de instalación en la documentación oficial de Pandoc.
Instalación de Pandoc en Linux
Pandoc es un software de código abierto y está disponible para descargar en muchas distribuciones de Linux, incluidas Ubuntu, Debian, Fedora y CentOS. La forma más fácil de instalar Pandoc en Linux es utilizando el gestor de paquetes de la distribución que estés utilizando.
Para instalar Pandoc en Ubuntu o Debian, abre una terminal y escribe el siguiente comando: $ sudo apt-get install pandoc
Para instalar Pandoc en Fedora, escriba el siguiente comando en una terminal:
$ sudo dnf install pandoc
Para instalar Pandoc en CentOS, escriba el siguiente comando en una terminal:
$ sudo yum install pandoc
Una vez que hayas ejecutado el comando, el gestor de paquetes descargará e instalará Pandoc en tu sistema.
Conversión básica de documentos
La forma más básica de usar Pandoc es convertir un documento de un formato a otro. El siguiente ejemplo muestra cómo convertir un archivo de Markdown a HTML:
$ pandoc -s archivo.md -o archivo.html
En este ejemplo, el argumento -s indica que el archivo de entrada es un documento en formato “standalone”, es decir, un documento completo con encabezados, pie de página, etc. El argumento -o indica el archivo de salida y el formato de salida (en este caso, HTML).
Puedes convertir archivos a cualquier otro formato compatible con Pandoc, simplemente cambiando el formato de salida en el argumento -o. Por ejemplo, si deseas convertir un archivo de Markdown a PDF, puedes usar el siguiente comando:
$ pandoc -s archivo.md -o archivo.pdf
Personalización de la conversión
Pandoc ofrece una gran cantidad de opciones para personalizar la conversión de tus documentos. Por ejemplo, puedes especificar un estilo de encabezado o un estilo de página, agregar una portada y un índice, entre muchas otras cosas.
Un ejemplo común es la personalización del estilo de la salida HTML. Puedes usar un archivo CSS para personalizar el estilo de tu documento HTML. Para hacerlo, primero crea un archivo CSS y luego especifica su ruta en el comando de Pandoc:
$ pandoc -s archivo.md --css estilo.css -o archivo.html
Además, puedes agregar opciones adicionales como encabezados, pie de página, números de página, etc. Por ejemplo, si deseas agregar números de página en el formato PDF, puedes usar el siguiente comando:
$ pandoc -s archivo.md --pdf-engine=xelatex -V geometry:margin=1in -o archivo.pdf
Uso de plantillas
Pandoc también permite el uso de plantillas para personalizar la apariencia de tus documentos. Puedes crear una plantilla en cualquier formato compatible con Pandoc y luego especificar su ruta en el comando de Pandoc. Por ejemplo, si deseas usar una plantilla en formato LaTeX para convertir un archivo de Markdown a PDF, puedes usar el siguiente comando:
$ pandoc -s archivo.md --template=plantilla.tex --pdf-engine=xelatex -o archivo.pdf
Conversión de múltiples archivos
Pandoc también permite la conversión de múltiples archivos a la vez. Para hacerlo, simplemente proporciona una lista de archivos de entrada en lugar de un solo archivo. Por ejemplo, si deseas convertir varios archivos de Markdown a HTML, puedes usar el siguiente comando:
$ pandoc -s archivo1.md archivo2.md archivo3.md -o salida.html
En conclusión, Pandoc es una herramienta muy versátil que permite la conversión de documentos de un formato a otro de manera rápida y sencilla. Con los ejemplos anteriormente mencionados, esperamos haberte dado una buena idea de cómo usar Pandoc para satisfacer tus necesidades. ¡Buena suerte!