From 9d6300ac8f6ba349e4c27b52714ac8a02e5cf60b Mon Sep 17 00:00:00 2001 From: Jake <j.vondoemming@stud.uni-goettingen.de> Date: Sat, 25 Mar 2023 15:30:32 +0100 Subject: [PATCH] don't use system pandoc --- .gitignore | 2 ++ .gitlab-ci.yml | 2 -- Makefile | 17 +++++++++++++++-- README.md | 1 - fgs/pandoc.py | 2 +- pandoc | 1 + 6 files changed, 19 insertions(+), 6 deletions(-) create mode 120000 pandoc diff --git a/.gitignore b/.gitignore index 28ebbf5..b3b8833 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 ec08728..fc7f6bc 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 74de51e..4731833 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 585c2de..aa391f1 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 8921b38..c8ce849 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 0000000..1812cfa --- /dev/null +++ b/pandoc @@ -0,0 +1 @@ +pandoc-2.18 \ No newline at end of file -- GitLab