Hello outlander. Posiblemente te has dado cuenta de que los archivos MD (MarkDown) no siempre cuando se visualizan tienen el mismo aspecto.
Por ejemplo los generados en hackmd.io no se ven igual que los generados en github o en gitlab.
La respuesta es sencilla y es que por si mismos los archivos MD no llevan estilo. Son simplemente archivos de texto plano escritos con una serie de marcas que posteriormente son interpretadas.
Por tanto en este nuevo post vamos a ver como podemos convertir un archivo escrito en MD a PDF. Para ello vamos a utilizar pandoc.
Instalamos las dependencias
# apt-get install pandoc texlive-latex-base texlive-fonts-recommended texlive-extra-utils texlive-xetex
Un ejemplo de convertir MD a PDF
# pandoc archivo.md --pdf-engine=xelatex -o archivo.pdf
Un ejemplo con más estilo de convertir MD a PDF
$ find /var/www/notas/public/MD/ -cmin -5 -type f -name "*.md" -exec pandoc --toc {} --listings -H /var/www/notas/listings-setup.tex --pdf-engine=xelatex -o {}.pdf \;
Eso permite realizar una busqueda en el directorio /var/www/notas/public/MD/ para convertir los archivos MD a pdf del tirón.
Lo interesante es el archivo .tex que le pasamos para aplicarle estilos. Ese archivo podría tener por ejemplo este contenido:
% Contents of listings-setup.tex
\tightlist
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\rhead{Fanta <fanta@56k.es>}
\lhead{notas.56k.es}
\usepackage{xcolor}
\lstset{
basicstyle=\ttfamily,
%numbers=left,
keywordstyle=\color[rgb]{0.13,0.29,0.53}\bfseries,
stringstyle=\color[rgb]{0.31,0.60,0.02},
commentstyle=\color[rgb]{0.56,0.35,0.01}\itshape,
numberstyle=\footnotesize,
%stepnumber=1,
%numbersep=5pt,
backgroundcolor=\color[RGB]{248,248,248},
showspaces=false,
showstringspaces=false,
showtabs=false,
tabsize=2,
captionpos=b,
breaklines=true,
breakatwhitespace=true,
breakautoindent=true,
escapeinside={\%*}{*)},
linewidth=\textwidth,
basewidth=0.5em,
}
Y eso es todo amigo.
Saludos cordiales.