diff --git a/build-pipeline.yml b/build-pipeline.yml
index fb8f35363481e05ffb8b71d9921fa2825a1a3c08..62d1d3ab6049423f7d7b0fc7dd64d07557217aaa 100644
--- a/build-pipeline.yml
+++ b/build-pipeline.yml
@@ -281,7 +281,11 @@ workflow:
   timeout: 5m
   script:
     - for file in ${FILES}; do
-        .gitlab-ci/scripts/convert_md2html.py $file;
+        .gitlab-ci/scripts/convert_md2html.py
+          --gitlab-url=${CI_SERVER_URL}
+          --token=${GITBOT_TOKEN}
+          --project=${CI_PROJECT_PATH}
+          --filename $file;
       done
   artifacts:
     paths:
diff --git a/scripts/convert_md2html.py b/scripts/convert_md2html.py
index b13afb93793ce7d38517a47488ab390e9c1b46dc..83f5c4d643b77039d3c8c5bbc17b2aa8270e9cee 100755
--- a/scripts/convert_md2html.py
+++ b/scripts/convert_md2html.py
@@ -1,11 +1,12 @@
 #!/usr/bin/env python3
 
 import argparse
-import codecs
 import glob
 import os
 
-from markdown2 import markdown_path
+from gitlab.client import Gitlab
+
+import common
 
 HEADER = """
 <!doctype html>
@@ -178,35 +179,55 @@ FOOTER = """
 """
 
 
-def convertmd2html(infile, outfile):
-
-    encoding = "utf-8"
-
-    fout = codecs.open(outfile, "w", encoding)
-
-    fout.write(HEADER)
-    extras = {"tables": ""}
-    html = markdown_path(infile, extras=extras)
-    fout.write(html)
-
-    fout.write(FOOTER)
-
-
 def main():
     parser = argparse.ArgumentParser()
     parser.add_argument(
-        "filename",
+        "--gitlab-url",
+        help="""URL to the GitLab instance""",
+        dest="gitlab_url",
+        default=common.GITLAB_URL,
+        required=True,
+    )
+    parser.add_argument(
+        "--token",
+        help="""GitLab REST API private access token""",
+        dest="token",
+        required=True,
+    )
+    parser.add_argument(
+        "--project",
+        help="""name of the GitLab project""",
+        dest="project",
+        required=True,
+    )
+    parser.add_argument(
+        "--filename",
         help="""File(s) to convert""",
         nargs="+",
+        required=True,
     )
 
     args, _ = parser.parse_known_args()
 
+    gitlab = Gitlab(args.gitlab_url, private_token=args.token)
+
+    encoding = "utf-8"
+
     for filename in args.filename:
         for input_filename in glob.glob(filename):
             output_filename = f"{os.path.splitext(input_filename)[0]}.html"
             print(f"Converting {input_filename} to {output_filename}")
-            convertmd2html(input_filename, output_filename)
+
+            fin = open(input_filename, encoding=encoding)
+            fout = open(output_filename, "w", encoding=encoding)
+
+            fout.write(HEADER)
+            html = gitlab.markdown(fin.read(), True, args.project)
+            fout.write(html)
+            fout.write(FOOTER)
+
+            fin.close()
+            fout.close()
 
 
 if __name__ == "__main__":