# csv-to-marp-converter multiple-choice-quiz-csv-to-marp-markdown-slides-converter this tool can convert a csv file into a [Marp](https://marpit.marp.app/) markdown slides, which can subsequently be converted into a pdf file. csv needs to have the following format ```` Kategorie 1: Zitate ( Wer hat's gesagt?),,,, (1) Probleme sind nur Dorninge Chancen,Jan Böhmermann,Christian Lindner,Elon Musk,Pable Escobar ```` Strings surrounded with quotation marks The [marp-cli](https://github.com/marp-team/marp-cli) can be used to convert the md to pdf: - Stand alone linux package https://github.com/marp-team/marp-cli/releases - run as server with PORT=5000 marp -s ./slides - requires wget for download - requires chrome to convert to pdf - docker container https://hub.docker.com/r/marpteam/marp-cli/ `docker run --rm --init -v $PWD:/home/marp/app/ -e LANG=$LANG marpteam/marp-cli slide-deck.md --pdf` - Run marp cli in its own docker container in server mode!!! - output folder as volumne, so that marp container can assess it powerpoint export is also possible with --pptx - use config - run using cli command when in prod mdoe (inside docker) - run using docker when in dev mode Steps: 1. csv -> marp markdown converter 2. md -> pdf conversion using mark cli docker image file upload based on https://pythonise.com/series/learning-flask/flask-uploading-files python docker wait for container CLI binary: convert file ./marp --pdf ./slides/slide-deck.md ./marp --pdf ./slides/slide-deck.md /opt/marp --pdf /code/csv-to-marp-converter/ start server ./marp --pdf --server ./slides/ PORT=4100 /opt/marp-cli --server ./ use marp server: - link or embed marp server path (http://localhost:8080/) from result html - Dockerfile - download latest marp binary - start server (on correct port) wget -O marp-cli.tar.gz https://github.com/marp-team/marp-cli/releases/download/v1.1.1/marp-cli-v1.1.1-linux.tar.gz when running release version from [ WARN ] The environment variable CHROME_PATH must be set to executable of a build of Chromium version 54.0 or later. [ ERROR ] Failed converting Markdown. (You have to install Google Chrome, Chromium, or Microsoft Edge to convert slide deck with current options.) when running cli with docker docker run -v $PWD:/home/marp/app/ -e LANG=$LANG marpteam/marp-cli quiz-slides-template.md --pdf [ ERROR ] Failed converting Markdown. (EACCES: permission denied, open '/home/marp/app/quiz-slides-template.pdf') chmod -R 0777 output/ docker run -v $PWD:/home/marp/app/ -e LANG=$LANG -e PORT=4100 -p 4100:4100 marpteam/marp-cli --server ./ -d docker run -d -v /home/marcelo/git/docker-python-multi-service/csv-to-marp-converter/output:/home/marp/app/ -e LANG=$LANG -e PORT=4100 -p 4100:4100 marpteam/marp-cli --server ./ run on NAS: sudo docker run -d -v /volume1/docker/dockerpython/docker-python-multi-service/csv-marp-converter-output:/home/marp/app/ -e LANG=$LANG -e PORT=4100 -p 4100:4100 --name marp marpteam/marp-cli --server -I ./ - Folder that is mounted should not be empty!!