mdtopdf is the pandoc docker image for converting markdown to PDF using TeX typesetting.
You can see example markdown file and converted PDF file from the link below👇
- Pull docker image.
$ docker pull plass/mdtopdf
- Generate PDF file.
$ docker run -it --rm -v "`pwd`":/workdir plass/mdtopdf mdtopdf INPUT.md
Windows (PowerShell) : Replace `pwd`
to ${pwd}
fish shell : Replace `pwd`
to (pwd)
$ docker run -it --rm -v "`pwd`":/workdir plass/mdtopdf w-mdtopdf INPUT.md
You can decrease typing using alias
command as below,
$ echo "alias mdtopdf='docker run -it --rm -v "`pwd`":/workdir plass/mdtopdf mdtopdf'" >> ~/.bash_profile
$ echo "alias w-mdtopdf='docker run -it --rm -v "`pwd`":/workdir plass/mdtopdf w-mdtopdf'" >> ~/.bash_profile
$ source ~/.bash_profile
$ mdtopdf INPUT.md
$ w-mdtopdf INPUT.md
zsh : Modify .zshrc
instead of .bash_profile
.
Ubuntu : Modify .bashrc
instead of .bash_profile
.
If you're using Docker for Windows, setting alias is a bit tricky. Use following command.
> echo 'Function mdtopdf {Param($file) docker run -it --rm -v ${pwd}:/workdir plass/mdtopdf mdtopdf $(Get-ChildItem $file -Name)}' >> $PROFILE
> echo 'Function mdtopdf {Param($file) docker run -it --rm -v ${pwd}:/workdir plass/mdtopdf w-mdtopdf $(Get-ChildItem $file -Name)}' >> $PROFILE
> . $PROFILE
> mdtopdf INPUT.md
> w-mdtopdf INPUT.md
$ docker run -it --rm -v "`pwd`":/workdir plass/mdtopdf mdtotex INPUT.md
$ docker run -it --rm -v "`pwd`":/workdir plass/mdtopdf mdtohtml INPUT.md
$ docker run -it --rm -v "`pwd`":/workdir plass/mdtopdf mdtodocx INPUT.md