Introducción
Me parece que Markdown es uno de los formatos más inteligentes que se han inventado. Formatos como docx o pdf son excelentes para seguir formalidades o mostrar información de manera más tradicional. Sin embargo, para crear los esqueletos, los primeros borradores o tomar notas no me parece que sea tan inteligentes. Tener demasiadas opciones desvía los pensamientos de lo que es realmente importante tal como lo es el contenido y la jerarquía de las ideas. Si bien en herramientas word se puede jerarquizar y a través de (decir cómo jerarquizar), se pierde demasiado tiempo en cosas que no son importantes.
Lo mismo ocurre con las presentaciones en PowerPoint. Se pierde mucho foco y claridad en ver los estilos del titulo de los subtitulos etc. También moviendo los elementos, y crear diferentes estilos de los cuales unos apliquen para unas diapositivas y otros para otras resulta contraintuitivo y poco cómodo.
Markdown Presentation Ecosystem
Marp (Markdown Presentation Ecosystem), un ecosistema completo para crear presentaciones a partir de Markdown, escrito en Typescript/Javascript, que se forma de las siguientes capas:
- Marpit: El motor o framework que convierte el archivo las definiciones MD/CSS en HTML/CSS.
- Marp Core: Es una serie de extras que se ponen sobre el framework.
- Marp CLI: La herramienta de línea de comandos que ejecuta la conversión. Es la pieza que toma tus archivos .md y los exporta a HTML, PDF, PNG, JPEG o PPTX.
- Marp for VS Code: la extensión para Visual Studio Code que ofrece vista previa en vivo mientras escribes y permite exportar desde el propio editor, sin necesidad de tocar la terminal.
Marp-cli
Instalación
La herramienta está disponible en brew, por lo cual se puede instalar con:
brew install marp-cli
Conversión
Marp convierte los MD/CSS a HTML/CSS primero usando la implmentación de Marp Core, que renderiza cada diapositiva como un svg separado un o de otro y le agrega un visualizador de disapositivas en javascript. Convertir a HTML se hace usando:
marp input.md output.html
Los formatos otros disponibles son:
--pdf
--pptx
--pptx-editable
Cuanto se exporta en pptx solo incrusta las imagenes de la composición completa en vez de separar los diferentes elementos. Sin embargo, hay una forma experimental de exportar a PPTX editable usando el motor de libreoffice.
Flujo Personal
Teniendo en cuenta que la exportación a PPTX aún es poco fiable, el flujo que estoy usando actualmente para convertir de marp a PPTX es el siguiente:
markdown -> marp -> html \ markdown -> claude -> python-script -> pptx