85 lines
3.0 KiB
Markdown
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!!
|
|
|
|
|
|
|