From 96613f89545f39442f0c059292f47a03b0f84c00 Mon Sep 17 00:00:00 2001
From: Miguel Angel Reina Ortega <miguelangel.reinaortega@etsi.org>
Date: Fri, 16 Feb 2024 17:00:20 +0100
Subject: [PATCH] Add pandoc docker image creation containing the
 mermaid-filter

---
 .gitlab-ci.yml                        | 11 ++++++++++-
 generateChangemarks/dockerfile.pandoc |  7 +++++++
 publish_spec.sh                       |  4 ++--
 3 files changed, 19 insertions(+), 3 deletions(-)
 create mode 100644 generateChangemarks/dockerfile.pandoc

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8e83d4a..f68badc 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -28,7 +28,16 @@ Build pythonForPandocFilter docker image:
         - generateChangemarks/changemarks.py
         - generateChangemarks/addTrackedChanges.py
         - generateChangemarks/generateTOC.py
-        
+
+Build Pandoc docker image:
+  stage: build
+  before_script: cd generateChangemarks
+  script: docker build --tag pandoc:$CI_COMMIT_BRANCH -f dockerfile.pandoc .
+  rules:
+    - if: $CI_COMMIT_BRANCH && $CI_PROJECT_NAME == "scripts"
+      changes:
+        - generateChangemarks/dockerfile.pandoc
+
 Upgrade index for pages:
   stage: upgrade
   before_script:
diff --git a/generateChangemarks/dockerfile.pandoc b/generateChangemarks/dockerfile.pandoc
new file mode 100644
index 0000000..0255eb1
--- /dev/null
+++ b/generateChangemarks/dockerfile.pandoc
@@ -0,0 +1,7 @@
+FROM pandoc/core:3.0
+
+RUN apt-get update -y && \
+    apt-get install -y npm &&\
+    npm install --global mermaid-filter
+
+ENTRYPOINT ["/usr/local/bin/pandoc"]
\ No newline at end of file
diff --git a/publish_spec.sh b/publish_spec.sh
index c89d8c5..7e5e030 100755
--- a/publish_spec.sh
+++ b/publish_spec.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-DOCKER_IMAGE=pandoc/core:3.0
+DOCKER_IMAGE=pandoc:master
 TOOLS_DOCKER_IMAGE=generatechangemarks:master
 
 echo "\n------ Checking for docker image --------"
@@ -34,7 +34,7 @@ for i in *.md ;  do
 	    echo "\n------ Preparaing spec --------"
 	    docker run --rm -v $(pwd):/tmp/ -u $(id -u):$(id -g) "$TOOLS_DOCKER_IMAGE" pandocFilter -o "/tmp/" "/tmp/$i"
 	    echo "\n------ Publishing spec --------"
-	    docker run --rm -v $(pwd):/data -u $(id -u):$(id -g) "$DOCKER_IMAGE" "/data/$i" -f markdown+escaped_line_breaks -t docx --reference-doc "/data/${3}" -o "${4}_${2}.docx"
+	    docker run --rm -v $(pwd):/data -u $(id -u):$(id -g) "$DOCKER_IMAGE" "/data/$i" -F mermaid-filter -f markdown+escaped_line_breaks -t docx --reference-doc "/data/${3}" -o "${4}_${2}.docx"
 	fi
 done
 
-- 
GitLab