2021-06-18 16:36:32 +02:00

85 lines
3.0 KiB
Markdown

# 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!!