diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..cd2571a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +FROM ubuntu:trusty +ENV DEBIAN_FRONTEND noninteractive + +RUN apt-get update -q +RUN apt-get install -qy texlive-full +RUN apt-get install -qy python-pygments +RUN apt-get install -qy gnuplot + +RUN apt-get install wget + +RUN mkdir -p /usr/share/fonts/truetype/FiraSans +RUN mkdir -p /usr/share/fonts/opentype/FiraSans +RUN wget "dev.carrois.com/wordpress/wp-content/uploads/downloads/fira_3_1/FiraMono3106.zip" +RUN wget "dev.carrois.com/wordpress/wp-content/uploads/downloads/fira_3_1/FiraSans3106.zip" +RUN unzip FiraSans3106.zip +RUN unzip FiraMono3106.zip +RUN sudo cp /Fira*/WEB/*.ttf /usr/share/fonts/truetype/FiraSans/ +RUN sudo cp /Fira*/OTF/Fira* /usr/share/fonts/opentype/FiraSans/ +RUN sudo fc-cache -f -v + +WORKDIR /data +VOLUME ["/data"] diff --git a/Makefile b/Makefile index 6c0437f..070aebc 100644 --- a/Makefile +++ b/Makefile @@ -5,8 +5,10 @@ TEXC := xelatex TEXC_OPTS += -shell-escape TEXMFHOME = $(shell kpsewhich -var-value=TEXMFHOME) INSTALL_DIR = $(TEXMFHOME)/tex/latex/mtheme +DOCKER_IMAGE = latex-image +DOCKER_CONTAINER = latex-container -.PHONY: clean install +.PHONY: clean install docker-run docker-rm all: $(PDF) @@ -23,3 +25,12 @@ clean: install: mkdir -p $(INSTALL_DIR) cp *.sty $(INSTALL_DIR) + +docker-run: docker-build + docker run --rm=true --name $(DOCKER_CONTAINER) -i -v `pwd`:/data $(DOCKER_IMAGE) /data/build.sh + +docker-build: + docker build -t $(DOCKER_IMAGE) . + +docker-rm: + docker rm $(DOCKER_CONTAINER) diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..c103b75 --- /dev/null +++ b/build.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +xelatex -shell-escape demo.tex +xelatex -shell-escape demo.tex