diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cda120c27753ded74b2657fda47edc8a894e974c..76cf40cf0465c66d5fb27d7949391efd47458f71 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -46,7 +46,7 @@ TagPandocImage: - > ( cd $CI_JOB_NAME && pandoc -f markdown+fancy_lists+startnum+fenced_code_attributes+link_attributes+emoji - -t latex --latex-engine=xelatex + -t latex --pdf-engine=xelatex --template=eisvogel --filter=gfm_cleanup.py --filter=gitlab_links.py --filter=plantuml.py --filter=svg_convert.py @@ -57,7 +57,7 @@ TagPandocImage: - > ( cd $CI_JOB_NAME && pandoc -f markdown+fancy_lists+startnum+fenced_code_attributes+link_attributes+emoji - -t latex --latex-engine=xelatex + -t latex --pdf-engine=xelatex --template=eisvogel --filter=inline_solutions.py --filter=gfm_cleanup.py --filter=gitlab_links.py @@ -87,7 +87,7 @@ Create-Solutions-And-Cleanup-Markdown: cat pandoc_meta.yaml README.md 2>/dev/null | sed -e 's|[„“”]|"|g' -e "s|[’]|'|g" -e "s|[–]|-|g" | pandoc -f markdown+fancy_lists+startnum+fenced_code_attributes+link_attributes+emoji -t markdown+pipe_tables-grid_tables-simple_tables-multiline_tables-header_attributes-fenced_code_attributes-fenced_code_blocks+backtick_code_blocks+emoji - --atx-headers --columns=80 --normalize + --atx-headers --columns=80 -o README.md; ) done ) - > @@ -97,7 +97,7 @@ Create-Solutions-And-Cleanup-Markdown: cat pandoc_meta.yaml README.md 2>/dev/null | sed -e 's|[„“”]|"|g' -e "s|[’]|'|g" -e "s|[–]|-|g" | pandoc -f markdown+fancy_lists+startnum+fenced_code_attributes+link_attributes+emoji -t markdown+pipe_tables-grid_tables-simple_tables-multiline_tables-header_attributes-fenced_code_attributes-fenced_code_blocks+backtick_code_blocks+emoji - --atx-headers --columns=80 --normalize + --atx-headers --columns=80 --filter=inline_solutions.py -o README.solutions.md; ) done ) diff --git a/Dockerfile.pandoc b/Dockerfile.pandoc index a395505660ff60c48816b25919979c92b5f18b1c..722fa912d1836b1fb088e20ece94e6a8c073c922 100644 --- a/Dockerfile.pandoc +++ b/Dockerfile.pandoc @@ -1,49 +1,72 @@ -FROM ubuntu:artful +FROM marcelhuberfoo/arch-yaourt:latest MAINTAINER Marcel Huber <marcel.huber@hsr.ch> -RUN export DEBIAN_FRONTEND=noninteractive && \ - apt update && apt install -y -q --no-install-recommends \ - git curl ca-certificates make \ - p7zip-full parallel \ - locales language-pack-en nano \ - && apt clean \ - && rm -rf /var/lib/apt/lists/* -RUN export DEBIAN_FRONTEND=noninteractive && \ - apt update && apt install -y -q --no-install-recommends \ - python-pip python-setuptools python-wheel \ - && apt clean \ - && rm -rf /var/lib/apt/lists/* -RUN export DEBIAN_FRONTEND=noninteractive && \ - apt update && apt install -y -q --no-install-recommends \ - pandoc pandoc-citeproc \ - && apt clean \ - && rm -rf /var/lib/apt/lists/* -RUN export DEBIAN_FRONTEND=noninteractive && \ - apt update && apt install -y -q --no-install-recommends \ - graphviz plantuml \ - fonts-liberation \ - fonts-freefont-ttf \ - fonts-lmodern \ - fonts-dejavu \ - fonts-roboto-hinted \ - librsvg2-bin \ - && apt clean \ - && rm -rf /var/lib/apt/lists/* -RUN export DEBIAN_FRONTEND=noninteractive && \ - apt update && apt install -y -q --no-install-recommends \ - texlive \ - texlive-luatex \ - texlive-xetex \ - latexmk \ - lmodern \ - && apt clean \ - && rm -rf /var/lib/apt/lists/* -RUN sh -e -c 'TDIR=$(mktemp -d); INSTDIR=/usr/share/texlive/texmf-dist/; \ +USER $UNAME +RUN yaourt -Syyu --noconfirm --needed --m-arg "--rmdeps" \ + && printf "y\\ny\\n" | yaourt -Scc + +RUN yaourt -Syy --noconfirm --needed --m-arg "--rmdeps" \ + pandoc-bin pandoc-citeproc-bin pandoc-crossref-bin \ + && printf "y\\ny\\n" | yaourt -Scc + +RUN yaourt -Syy --noconfirm --needed --m-arg "--rmdeps" \ + ca-certificates p7zip parallel \ + && printf "y\\ny\\n" | yaourt -Scc + +RUN yaourt -Syy --noconfirm --needed --m-arg "--rmdeps" \ + python2-pip \ + && printf "y\\ny\\n" | yaourt -Scc + +USER root +RUN ln -sf /usr/bin/python2 /usr/local/bin/python + +USER $UNAME +RUN yaourt -Syy --noconfirm --needed --m-arg "--rmdeps" \ + xorg-font-utils \ + xorg-fonts-encodings \ + xorg-server-xvfb \ + libglvnd \ + && printf "y\\ny\\n" | yaourt -Scc + +RUN yaourt -Syy --noconfirm --needed --m-arg "--rmdeps" \ + texlive-core \ + ttf-liberation \ + ttf-freefont \ + ttf-dejavu \ + ttf-roboto \ + && printf "y\\ny\\n" | yaourt -Scc + +RUN yaourt -Syy --noconfirm --needed --m-arg "--rmdeps" \ + texlive-science \ + texlive-latexextra \ + texlive-bibtexextra biber \ + && printf "y\\ny\\n" | yaourt -Scc +# texlive-fontsextra + +RUN yaourt -Syy --noconfirm --needed --m-arg "--rmdeps" \ + graphviz gtk2 \ + librsvg \ + wkhtmltopdf-static \ + && printf "y\\ny\\n" | yaourt -Scc + +RUN yaourt -Syy --noconfirm --needed --m-arg "--rmdeps" \ + jre7-openjdk jre7-openjdk-headless plantuml \ + && printf "y\\n" | yaourt -Qdt \ + && printf "y\\ny\\n" | yaourt -Scc + +USER root +ARG VCS_REF +ARG GIT_LFS_VERSION=2.3.4 +ARG PANDOCFILTERS_TAG=1.4.2 +ARG IFSFILTERS_TAG=0.9 +ENV _COMMIT_ID_=$VCS_REF \ + LANG=en_US.UTF-8 \ + EXAMPLEFILTERSDIR=/pandocfilters \ + IFSFILTERSDIR=/filters + +RUN sh -e -c 'TDIR=$(mktemp -d); INSTDIR=/usr/share/texmf-dist/; \ ( cd $TDIR; \ - export DEBIAN_FRONTEND=noninteractive; \ - apt update; \ - apt install -y -q --no-install-recommends texlive-font-utils lcdf-typetools; \ for r in latex-sourcesanspro latex-sourcecodepro latex-sourceserifpro; do \ git clone --single-branch --branch master --depth 1 https://github.com/silkeh/$r; \ ( cd $r; \ @@ -54,42 +77,15 @@ RUN sh -e -c 'TDIR=$(mktemp -d); INSTDIR=/usr/share/texlive/texmf-dist/; \ done; \ fc-cache; \ texhash; \ - apt remove -y -q texlive-font-utils lcdf-typetools; apt -y -q autoremove; \ - apt clean; \ - rm -rf /var/lib/apt/lists/*; \ ); \ rm -rf $TDIR' -RUN export DEBIAN_FRONTEND=noninteractive && \ - apt update && apt install -y -q --no-install-recommends \ - texlive-science \ - texlive-generic-recommended \ - texlive-bibtex-extra biber \ - && apt clean \ - && rm -rf /var/lib/apt/lists/* -RUN export DEBIAN_FRONTEND=noninteractive && \ - apt update && apt install -y -q --no-install-recommends \ - wkhtmltopdf xvfb \ - && apt clean \ - && rm -rf /var/lib/apt/lists/* -ARG VCS_REF -ARG GIT_LFS_VERSION=2.3.4 -ARG PANDOCFILTERS_TAG=1.4.2 -ARG IFSFILTERS_TAG=0.9 -ARG PANDOC_CROSSREF_TAG=0.2.6.0 -ENV _COMMIT_ID_=$VCS_REF \ - LANG=en_US.UTF-8 \ - EXAMPLEFILTERSDIR=/pandocfilters \ - IFSFILTERSDIR=/filters + RUN sh -c 'TDIR=$(mktemp -d); \ ( cd $TDIR && \ curl -sSL https://github.com/git-lfs/git-lfs/releases/download/v${GIT_LFS_VERSION}/git-lfs-linux-amd64-${GIT_LFS_VERSION}.tar.gz | tar xzf - --strip-components=1 && \ ./install.sh ); \ rm -rf $TDIR' -RUN sh -c 'TDIR=$(mktemp -d); \ - ( cd $TDIR && \ - curl -sSL https://github.com/lierdakil/pandoc-crossref/releases/download/v${PANDOC_CROSSREF_TAG}/linux-ghc8-pandoc-1-19.tar.gz | tar xzf - -C /usr/local/bin; \ - ); \ - rm -rf $TDIR' + RUN sh -c 'TDIR=$(mktemp -d); \ ( cd $TDIR && \ git clone --branch $PANDOCFILTERS_TAG https://github.com/jgm/pandocfilters.git && \ @@ -99,6 +95,7 @@ RUN sh -c 'TDIR=$(mktemp -d); \ cp -p examples/*.py $EXAMPLEFILTERSDIR/ && \ chmod +x $EXAMPLEFILTERSDIR/*.py ); \ rm -rf $TDIR' + RUN sh -e -c 'TDIR=$(mktemp -d); \ ( cd $TDIR; \ git clone --branch $IFSFILTERS_TAG https://gitlab.dev.ifs.hsr.ch/m1huber/pandocfilters.git; \