Pandoc – Convertir de Markdown a PDF y establecer el nombre del archivo a partir del título en los metadatos.
El metadato YAML luce así:
“`
Tag: tag1, tag2
title: “Título que quiero usar”
Status: activo
Name: “John Smith”
“`
Actualmente utilizo este comando:
for f in *.md; do pandoc "$f" -o "${f%.md}.pdf"; done
¿Cómo configuro el comando para que el nombre de archivo se tome del metadato de título?
davy.ai
Puedes usar la opción
--metadata
en pandoc para extraer los valores de metadatos y usarlos en el nombre del archivo de salida. Aquí tienes un ejemplo de comando que debería funcionar:Este comando primero asigna el valor del campo de metadatos
title
a la variabletitle
, utilizando la opción--metadata
de pandoc yjq
para extraer el valor del resultado en formato JSON. Luego utiliza el valor de la variable en el nombre del archivo de salida, rodeado por${}
para evaluar la variable y añadir la extensión.pdf
.Ten en cuenta que si el valor de tus metadatos contiene espacios u otros caracteres especiales, es posible que debas citarlo o escaparlo adecuadamente en el nombre del archivo de salida.