MarkdownSlides is a Reveal.js, Deck.js and PDF slides generator from MARKDOWN files, that also generate HTML, EPUB and DOCX documents.
The idea is that from a same MARKDOWN file we can get slides and books without worrying about style, just worrying about content.
From a MARKDOWN file generate:
- Cesar Seoane: https://github.com/cesarseoane
- Rubén Gómez García: https://github.com/kaneproject
- Raul Jimenez Ortega: https://github.com/hhkaos
-
This work is licensed under a:
-
The program source code are licensed under a:
Now, only works in Linux (may be on MacOS)
It can works with Docker, but is in beta.
github.com/asanzdiego/markdownslides/archive/master.zip
Your installation with docker is still under testing.
Any feedback is welcome.
It will be at dockerhub soon:
$ docker build -t asanzdiego/markdownslides .
Launch the container:
docker run -it -v "${PWD}":/home/markdownslides-master/"${PWD##*/}" asanzdiego/markdownslides ./build.sh [clean] [mode] [folder]
-
First copy the doc folder and rename it as you like. This is not necessary but helps you organize your documents.
-
Create the md files that you want to generate in the md folder. The md files are Markdown files which are nothing more than plain text files with extension md, and a lightweight markup (we should know it but it is very simple).
You can add notes that will be visible in book mode or if you press the letter 's' on the slides with @start-notes and @end-notes.
@start-notes
This is only visible in book mode or if you press 's' on the slides.
@end-notes
You can have as many levels as you want. Example:
# Level 1 (on slides and book)
## Level 2 (on slides and book)
### Level 3 (in book but stays level 2 in slides)
But only in books. In slides you can only have 2 levels.
You can name several slides with (I), (II), etc. But only the first one will be exported to the book. Example:
## Foo Bar (I)
## Foo Bar (II)
In the book will be:
#### Foo Bar
We can configure the files that we want to generate from the file build.properties
#GENERATION_MODE='min|med|max'
DEFAULT_GENERATION_MODE='min'
BUILD_REVEAL_SLIDES='min'
BUILD_REVEAL_SLIDES_PDF='med'
BUILD_HTML_BOOK='max'
BUILD_DOCX_BOOK='max'
BUILD_EPUB_BOOK='max'
We can configure also some stufs from the file build.properties
CLEAN_LIB_FOLDER='no'
COPY_IMG_FOLDER='no'
ZIP_EXPORT_FOLDER='no'
NUMBER_SECTIONS='yes'
NUMBER_OFFSET='no'
CURRENT_NUMBER_OFFSET=1
REMOVE_MD_TO_BOOK='yes'
REMOVE_MD_TO_SLIDES='yes'
We can configure also some stufs about reveal.js from the file build.properties
#THEME='black|white|league|sky|beige|simple|serif|blood|night|moon|solarized'
REVEAL_JS_THEME='beige'
REVEAL_JS_SHOW_TITLE_FOOTER='yes'
REVEAL_JS_DEFAULT_TITLE_FOOTER='yes'
REVEAL_JS_TITLE_FOOTER="'MarkdownSlides by @asanzdiego :-)'"
REVEAL_JS_URL='../lib/reveal.js/'
REVEAL_JS_MENU_URL='../lib/reveal.js-menu/'
REVEAL_JS_TITLE_FOOTER_URL='../lib/reveal.js-title-footer/'
- In the root folder you have to execute:
./build.sh [clean] [mode] [folder]
-
[clean] clean the folder lib and download the dependencies again.
-
[mode] can take the next values: min, med o máx.
-
[folder] folder wher to find the md files. If no folder name, it will convert all md files of all the folders.
- Export slides to:
- reveal-slides
- reveal-slides-pdf
- reveal-slides-alternative
- reveal-slides-alternative-pdf
- beamer-slides
- deck-slides
- deck-slides-alternative
- Export books to:
- html-book
- docx-book
- odt-book
- pdf-book
- Added generation modes 'min', 'med' and 'max'.
- Automatic download the external libraries.
- Numbering (I), (II), (III) ...
- Export slides to:
- reveal-slides
- reveal-slides-pdf
- reveal-slides-online
- reveal-slides-alternative
- reveal-slides-alternative-pdf
- reveal-slides-alternative-online
- Export books to:
- html-book
- docx-book
- epub-book
- Deprecated:
- beamer-slides
- deck-slides
- deck-slides-alternative
- odt-book
- pdf-book
- Added menu thanks to [Raul Jimenez Ortega] (https://github.com/hhkaos).
- Added dockerfile thanks to [Rubén Gómez García] (https://github.com/kaneproject).
- Clean zip files from libraries thanks to [Cesar Seoane] (https://github.com/cesarseoane).
- Added type 'online' thanks to [Cesar Seoane] (https://github.com/cesarseoane).
- Fixed bug HTTPS images thanks to [Cesar Seoane] (https://github.com/cesarseoane).
- Loading the online libraries with HTTPS thanks to [Cesar Seoane] (https://github.com/cesarseoane).
- Configuration PDF resolution thanks to [Cesar Seoane] (https://github.com/cesarseoane).
- New format 'epub'.
- Added 'bash strict mode'.
- Added 'build.properties' to configure file generation.
- Added command 'clean' to clean the lib folder.
- Download a specific version of external library.
- Added notes only visible in book mode or if you press 's' on the slides.
- Normalization of images in slides (witdh = 50% and align = center).
- Clean the code.
- Remove deprecated exportation files.
- Improve de configuration in build.properties file.
- Update Reveal.js dependencies.
- Export to PDF with DeckTape.
MarkdownSlides es un generador de slides Reveal.js y PDF a partir de ficheros MARKDOWN, que también genera documentos HTML, EPUB y DOCX.
La idea es que a partir de un mismo fichero MARKDOWN podamos obtener slides y libros sin preocuparnos por el estilo, solo por el contenido.
A partir de un fichero MARKDOWN genera:
- Cesar Seoane: https://github.com/cesarseoane
- Rubén Gómez García: https://github.com/kaneproject
- Raul Jimenez Ortega: https://github.com/hhkaos
-
Este obra está bajo una licencia:
-
El código fuente de los programas están bajo una licencia:
Por ahora, solo funciona en Linux (y puede que en MacOS).
Puede funcionar con Docker, pero todavía está en pruebas.
github.com/asanzdiego/markdownslides/archive/master.zip
Su instalación con docker está todavía en pruebas.
Cualquier feedback es bienvenido.
Estará en Dockerhub pronto:
$ docker build -t asanzdiego/markdownslides .
Lanzamos el contenedor:
docker run -it -v ${PWD}:/home/master asanzdiego/markdownslides ./build.sh [clean] [mode] [folder]
Primero copia la carpeta doc y renombrala a tu gusto. Esto no es necesario pero te ayuda a organizar tus documentos.
Crea los ficheros md que quieras generar en la carpeta md. Los ficheros md son ficheros Markdown, que no son nada más que ficheros de texto plano, con extensión md, y con un marcado ligero (que hay que conocer pero que es muy sencillo).
Puedes añadir notas que serán visibles en modo libro o si pulsas la letra 's' en las slides mediante @start-notes y @end-notes.
@start-notes
Esto solo es visible en modo libro o si pulsas 's' en las slides.
@end-notes
Puedes tener tantos niveles como quieras. Ejemplo:
### Nivel 1 (en slides y libro)
#### Nivel 2 (en slides y libro)
##### Nivel 3 (en libro pero se queda como nivel 2 en slides)
Pero sólo en los libros. En las slides solo puedes tener 2 niveles.
Puedes nombrar igual varias slides con (I), (II), etc. pero luego solo el primero será exportado al libro. Ejemplo:
#### Foo Bar (I)
#### Foo Bar (II)
En el libro quedará:
#### Foo Bar
Podemos configurar los ficheros que queremos generar desde el fichero build.properties
#GENERATION_MODE='min|med|max'
DEFAULT_GENERATION_MODE='min'
BUILD_REVEAL_SLIDES='min'
BUILD_REVEAL_SLIDES_PDF='med'
BUILD_HTML_BOOK='max'
BUILD_DOCX_BOOK='max'
BUILD_EPUB_BOOK='max'
Podemos configurar también algunas cosas más desde el fichero build.properties
CLEAN_LIB_FOLDER='no'
COPY_IMG_FOLDER='no'
ZIP_EXPORT_FOLDER='no'
NUMBER_SECTIONS='yes'
NUMBER_OFFSET='no'
CURRENT_NUMBER_OFFSET=1
REMOVE_MD_TO_BOOK='yes'
REMOVE_MD_TO_SLIDES='yes'
Podemos configurar también algunas cosas más sobre reveal.js desde el fichero build.properties
#THEME='black|white|league|sky|beige|simple|serif|blood|night|moon|solarized'
REVEAL_JS_THEME='beige'
REVEAL_JS_SHOW_TITLE_FOOTER='yes'
REVEAL_JS_DEFAULT_TITLE_FOOTER='yes'
REVEAL_JS_TITLE_FOOTER="'MarkdownSlides by @asanzdiego :-)'"
REVEAL_JS_URL='../lib/reveal.js/'
REVEAL_JS_MENU_URL='../lib/reveal.js-menu/'
REVEAL_JS_TITLE_FOOTER_URL='../lib/reveal.js-title-footer/'
- Hay que posicionarse en la carpeta raiz, y ejecutar:
./build.sh [clean] [modo] [carpeta]
-
[clean] limpia la carpeta lib y vuelve a a bajar las dependencias.
-
[modo] puede tomar los valores: min, med o máx.
-
[carpeta] donde va a buscar los ficheros md. Si no se indica nada convertirá todos los ficheros md de todas las carpetas.
- Exporta slides a:
- reveal-slides
- reveal-slides-pdf
- reveal-slides-alternative
- reveal-slides-alternative-pdf
- beamer-slides
- deck-slides
- deck-slides-alternative
- Exporta books a:
- html-book
- docx-book
- odt-book
- pdf-book
- Añadidos los modos de generación 'min', 'med' y 'max'.
- Descarga automática de librerías externas.
- Numeración (I), (II), (III)...
- Exporta slides a:
- reveal-slides
- reveal-slides-pdf
- reveal-slides-online
- reveal-slides-alternative
- reveal-slides-alternative-pdf
- reveal-slides-alternative-online
- Exporta books a:
- html-book
- docx-book
- epub-book
- Deprecated:
- beamer-slides
- deck-slides
- deck-slides-alternative
- odt-book
- pdf-book
- Añadido menú gracias a Raul Jimenez Ortega.
- Añadido dockerfile gracías a Rubén Gómez García.
- Limpieza de ficheros zip de las librerías gracias a Cesar Seoane.
- Añadido tipo 'online' gracias a Cesar Seoane.
- Arreglado fallo imágenes HTTPS gracias a Cesar Seoane.
- Carga de librerias 'online' por HTTPS gracias a Cesar Seoane.
- Configuración resolución PDF gracias a Cesar Seoane.
- Nuevo formato 'epub'.
- Añadido 'bash strict mode'.
- Añadido 'build.properties' para configurar la generación de ficheros.
- Añadido comando 'clean' para limpiar la carpeta lib.
- Descarga de una versión concreta de librería externa.
- Añadidas notas solo visibles en modo libro o si pulsas 's' en las slides.
- Normalización de imágenes en slides (witdh=50% y align=center).