diff --git a/.ci/generateIndex.py b/.ci/generateIndex.py
index 0b4912e2ddbc08d2971ccd0d4220b90181afcc16..a871201e997e945d7a6de9da4f32b427866205b3 100644
--- a/.ci/generateIndex.py
+++ b/.ci/generateIndex.py
@@ -239,6 +239,35 @@ def generate_whitelist_entry(folder, permalink, shortcut):
 
     return wl_entry
 
+def prepare_qms(localroot, root, filename):
+
+    os.chdir(root)
+
+    filedata = ""
+    with open(filename, 'r') as file :
+        for line in file:
+            filedata += line
+
+    # shift the subtitles by 1 level down
+    filedata = filedata.replace("#", "##")
+
+    # replace latex command for titles
+    filedata = filedata.replace("{-}", "##")
+
+    # deal with img location
+    filedata = filedata.replace("policies/"+filename[:-3]+"/", "")
+    filedata = filedata.replace("sops/"+filename[:-3]+"/", "")
+
+    # replace img attributes
+    filedata = filename.replace("{ width=50% }", "")
+
+    # Write the file out again
+    with open(filename, 'w') as file:
+        file.write(filedata)
+
+    # change back to the local root
+    os.chdir(localroot)
+
 # loop through the entire internal tree
 localroot = os.getcwd()
 
@@ -310,6 +339,7 @@ for folder in cardDirs:
                                 # extract the title from the QMS metadata
                                 if "qms" in root:
                                     title = save_tag(localroot, root, file[:-3] + ".yml", "title")
+                                    prepare_qms(localroot, root, file)
 
                                 # remove the previous header
                                 n = remove_header(localroot, root, file)