diff --git a/.gitignore b/.gitignore index 28ebbf5bbf253d284b60e2fb0c19b5bbe6427a6e..b3b883316a507ad10a6b66cbcb9f9cba92255bb0 100644 --- a/.gitignore +++ b/.gitignore @@ -2,5 +2,7 @@ /docs-output /public /content +/pandoc-* +/venv __pycache__ *.swp diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ec0872804a5b7b36cc82e3cfced48cb8b1b88d85..fc7f6bc02a330a4c580044760d9526c8e00299af 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -17,7 +17,6 @@ site: - when: on_success before_script: - apt-get update && apt-get install -y --no-install-recommends python3-pip python3 make git wget software-properties-common - - wget -O pandoc.deb https://github.com/jgm/pandoc/releases/download/2.18/pandoc-2.18-1-amd64.deb && dpkg -i pandoc.deb && rm --interactive=never pandoc.deb - pip3 install -r requirements.txt - "echo \"CHECKOUT_BRANCH: $CHECKOUT_BRANCH UPSTREAM_BRANCH: $UPSTREAM_BRANCH\"" - git clone https://gitlab.gwdg.de/GAUMI-fginfo/fg-website-data.git content --branch $CHECKOUT_BRANCH @@ -32,7 +31,6 @@ docs: stage: build before_script: - apt-get update && apt-get install -y --no-install-recommends python3-pip python3 make git wget software-properties-common - - wget -O pandoc.deb https://github.com/jgm/pandoc/releases/download/2.18/pandoc-2.18-1-amd64.deb && dpkg -i pandoc.deb && rm --interactive=never pandoc.deb - pip3 install -r requirements.txt script: - make docs diff --git a/Makefile b/Makefile index 74de51efcab06dc6e69b2fa2b9af0b85bf654d65..473183306757e37cf39e305d765c389459c8444d 100644 --- a/Makefile +++ b/Makefile @@ -5,11 +5,11 @@ html: docs build publish: build .PHONY: build -build: mathjax +build: pandoc mathjax cd fgs && python3 __main__.py "../content" "../output" "../theme" "../config.json" "../lang.json" .PHONY: docs -docs: mathjax +docs: pandoc mathjax cd fgs && python3 __main__.py "../docs" "../docs-output" "../theme" "../config.json" "../lang.json" .PHONY: mathjax @@ -20,3 +20,16 @@ mathjax: devserver: python -m http.server 8000 +.PHONY: pandoc +pandoc: pandoc-2.18 + ln -svf pandoc-2.18 pandoc + +pandoc-2.18: + [ ! -x pandoc-2.18/bin/pandoc ] \ + && wget https://github.com/jgm/pandoc/releases/download/2.18/pandoc-2.18-linux-amd64.tar.gz -O pandoc.tar.gz \ + && tar xzvf pandoc.tar.gz \ + && rm -v pandoc.tar.gz \ + || true + [ -x pandoc-2.18/bin/pandoc ] + + diff --git a/README.md b/README.md index 585c2de8e9afb8754da4f57a23314bb796c4e36b..aa391f1b53ddd53f19dc3c66e993c8e21812ded2 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,6 @@ Um an der Seite zu arbeiten ist es meistens sinnvoll diese auch lokal zu hosten. Die folgenden Befehle sind für Ubuntu 20.04 LTS (Focal) gedacht. 1. Pakete installieren: `apt-get update && apt-get install -y --no-install-recommends python3-pip python3 make git wget software-properties-common` -1. Pandoc 2.18 installieren: `wget -O pandoc.deb https://github.com/jgm/pandoc/releases/download/2.18/pandoc-2.18-1-amd64.deb && dpkg -i pandoc.deb && rm --interactive=never pandoc.deb` 1. Metarepo klonen: `git clone --recurse-submodules git@gitlab.gwdg.de:GAUMI-fginfo/fg-website.git` 1. `cd fg-website` 1. Python Pakete installieren: `pip3 install -r requirements.txt` diff --git a/fgs/pandoc.py b/fgs/pandoc.py index 8921b38fc416fde684499d0e5518c2c71ab1473f..c8ce849d73165189dff08cff255b88c9db8d03a9 100644 --- a/fgs/pandoc.py +++ b/fgs/pandoc.py @@ -27,7 +27,7 @@ def run_pandoc(source, factories, lang, base="markdown", extensions=[], extra_ar ext_str = ext_str + flag + ext_key #print(ext_str) - pandoc_bin = "pandoc" + pandoc_bin = "../pandoc/bin/pandoc" args = [pandoc_bin, "-f", base + ext_str, "-t", to] + extra_args p = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE) out, _ = p.communicate(source.encode('utf-8', errors='strict')) diff --git a/pandoc b/pandoc new file mode 120000 index 0000000000000000000000000000000000000000..1812cfa539717701a4031426f13bd8309ad1b042 --- /dev/null +++ b/pandoc @@ -0,0 +1 @@ +pandoc-2.18 \ No newline at end of file