marpteam/marp-cli
A CLI interface for Marp and Marpit based converters
100K+
A CLI interface, for Marp (using @marp-team/marp-core) and any slide deck converter based on Marpit framework.
It can convert Marp / Marpit Markdown files into static HTML / CSS, PDF, PPTX, and image(s).
# Convert slide deck into HTML
docker run --rm -v $PWD:/home/marp/app/ -e LANG=$LANG marpteam/marp-cli slide-deck.md
# Convert slide deck into PDF (using Chromium in Docker)
docker run --rm --init -v $PWD:/home/marp/app/ -e LANG=$LANG marpteam/marp-cli slide-deck.md --pdf
# Convert slide deck into PPTX (using Chromium in Docker)
docker run --rm --init -v $PWD:/home/marp/app/ -e LANG=$LANG marpteam/marp-cli slide-deck.md --pptx
# Watch mode
docker run --rm --init -v $PWD:/home/marp/app/ -e LANG=$LANG -p 37717:37717 marpteam/marp-cli -w slide-deck.md
# Server mode (Serve current directory in http://localhost:8080/)
docker run --rm --init -v $PWD:/home/marp/app -e LANG=$LANG -p 8080:8080 -p 37717:37717 marpteam/marp-cli -s .
Refer to GitHub repository for details of usage.
If you are using Docker on Linux distribution, you might see file permission error on the mounted local directory. For preventing this trouble, Marp CLI image supports setting an explicit UID/GID by passing MARP_USER
env. See also: https://github.com/marp-team/marp-cli/pull/334
Try to add following arguments into CLI commands:
-e MARP_USER="$(id -u):$(id -g)"
Example:
docker run --rm -v $PWD:/home/marp/app/ -e LANG=$LANG -e MARP_USER="$(id -u):$(id -g)" marpteam/marp-cli slide-deck.md
Docker for Windows and macOS should not be required to set MARP_USER
env.
docker pull marpteam/marp-cli