Generación automática e printing de files PDF de Markdown?

Estoy buscando una forma de que mi computadora genere e imprima automáticamente files PDF desde una carpeta llena de files de rebajas.

Entonces, todas las mañanas a las 5 AM quisiera que mi computadora mirara mi carpeta de files / markdown, creara un grupo de PDF para ir a una carpeta / PDF y también ejecutara la impresora para que las páginas me estén esperando.

Hay un par de requisitos que pueden hacer que esto sea un poco complicado:

  1. Los PDF deben tener el título del file en la parte superior de cada página
  2. La página debe ser A4
  3. Las líneas deben estar a doble espacio al less.

Solía ​​usar WKPDF para generar files PDF, pero ya no funciona en Yosemite.

  • Bajando de categoría un nuevo mac mini 2012 de Maverick a Mountain Lion
  • La degradación de Yosemite a Mavericks
  • ¿Cómo cancelar la suscripción de iCloud Storage sin un dispositivo iOS, OSX o Windows?
  • ¿Cómo puedo crear files de text sin formatting con la syntax de Markdown y convertirlos a formatting PDF?
  • ¿Cómo puedo generar una vista previa representada del text o los files de rebajas seleccionados?
  • Previniendo el retroceso automático `
  • ¿Cómo cambio de Yosemite 10.10 a Mavericks 10.9?
  • Downgrade Apple tvos11 a tvos10
  • 4 Solutions collect form web for “Generación automática e printing de files PDF de Markdown?”

    Puede hacer esto con Markdown.pl y htmldoc (1), ambos pueden instalarse con Homebrew . El flujo básico para hacer un PDF es:

    markdown foo.markdown | htmldoc --no-toc --no-title -f foo.pdf - 

    En cuanto a su nombre de file por página, puede incorporar echo para agregarlo como un elemento HTML:

     echo $(markdown foo.markdown) "<p>foo</p>" | htmldoc --no-toc --no-title -f foo.pdf - 

    Y para imprimir, el command lpr (1) enviará un file a su impresora pnetworkingeterminada.

    Atando todo esto:

     for filename in `ls *.markdown`; do echo $(markdown "$filename") "<p>$filename</p>" | htmldoc --no-toc --no-title -f "${filename}.pdf" - lpr "${filename}.pdf" done 

    Aquí hay una solución que usa LaTeX para generar el PDF. Si tiene text largo en los files Markdown y desea optimizar para la legibilidad tipográfica (y sospecho que sí), LaTeX tiende a hacer un trabajo mucho mejor en comparación con los motores HTML.

    Utiliza pandoc como intermediario entre Markdown y LaTeX, y también produce el PDF por usted.

    Script principal

     #!/bin/bash md-dir="MARKDOWN_DIRECTORY_HERE" pdf-dir="PDF_DIRECTORY_HERE" cd "${md-dir}" for filename in *.md; do target-pdf="${pdf-dir}/${filename}.pdf" pandoc "${filename}" -t latex --latex-engine=xelatex -V geometry=a4paper -V fontsize=11pt -V listings -V header-includes="\usepackage{fancyhdr}\pagestyle{fancyplain}\cfoot{}\rhead{\thepage}\lhead{\texttt{\lstinline/${filename}/}}" -V header-includes="\linespread{2.0}" -o "${target-pdf}" echo "produced ${filename}.pdf" lpr "${target-pdf}" done 

    Configuración requerida

    1. Obtenga pandoc de Homebrew: brew install pandoc
    2. Instale la versión mínima de LaTeX llamada BasicTeX

    Probando si tienes la configuration correcta

    Deberías poder ejecutar en una nueva window de Terminal (con bash)

     echo "test" | pandoc -t latex --latex-engine=xelatex -o test.pdf 

    y obtenga un documento test.pdf válido con solo la palabra "testing"

    Personalizaciones

    Hay muchas cosas que puedes modificar con la configuration de LaTeX desde la command-line

    1. ajustar el espacio entre líneas cambiando el \linespread{2.0}
    2. ajuste las marcas reemplazando la geometry=a4paper con geometry=a4paper,left=XXmm,right=XXmm,top=XXmm,bottom=XXmm
    3. cambie el tamaño de la letra encadenando 11pt a 10pt o 12pt, y todo debería escalar en consecuencia
    4. cambie la fuente principal agregando otro argumento a pandoc : -V mainfont="NAME OF FONT" . También puede establecer monofont esta manera.

    No he usado WKPDF, pero su autor sugiere un método por el cual se puede hacer que funcione en Yosemite: https://github.com/plessl/wkpdf/wiki/How-to-install-on-MacOS-10.10-Yosemite

    Podría usar PhantomJS . No es tan sencillo como WKPDF para la generación de PDF, ya que tiene una gama más amplia de funciones, pero funciona bien.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).