diff --git a/composables/useFetchArticle.ts b/composables/useFetchArticle.ts
index af26e93ae01fd7b06d1e07d111fbd6263c74a054..63439bd4e5e1af4ec70de0c0c062955ab7a101b0 100644
--- a/composables/useFetchArticle.ts
+++ b/composables/useFetchArticle.ts
@@ -89,7 +89,6 @@ export function useFetchArticle(doi: string) {
 
         if (store.articles.size === 0) {
             const localArticles = await queryContent('/_partials/_articles').where({ _partial: true }).findOne()
-            console.log(localArticles)
             if (localArticles?.articles && store.articles.size <= 0) {
                 for (const article of localArticles.articles) {
                     store.add(article)
diff --git a/content/3.defense-systems/abi2.md b/content/3.defense-systems/abi2.md
index 3b1227560d1b87673a628e4d7df6695036ec1613..808a7367c8c6f20bb252a410e57a5cec2b8d6a54 100644
--- a/content/3.defense-systems/abi2.md
+++ b/content/3.defense-systems/abi2.md
@@ -12,7 +12,6 @@ tableColumns:
 ---
 
 # Abi2
-:contributors
 
 The Abi2 system is composed of one protein: Abi_2.
 
diff --git a/content/3.defense-systems/detocs.md b/content/3.defense-systems/detocs.md
index ff9c7cfcc0de71290247d32f348350b987fe399d..b715ca6408329a016b39d8cb29c7cd92d0152a84 100644
--- a/content/3.defense-systems/detocs.md
+++ b/content/3.defense-systems/detocs.md
@@ -12,7 +12,6 @@ contributors:
 
 
 # Detocs
-:contributors
 
 ## Description
 Detocs (**De**fensive **T**w**o**-**C**omponent **S**ystem) is a family of 3-gene defense systems that mediate anti-phage activity by abortive infection.
diff --git a/package-lock.json b/package-lock.json
index 700902b1a0a8d4cfded5b93cb54b5cda8552764e..f93450b6c931f60bc9ee1ae57f0c1ba76115bd2d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -7,7 +7,8 @@
       "dependencies": {
         "@observablehq/plot": "^0.6.11",
         "@pinia/nuxt": "^0.4.11",
-        "pinia": "^2.1.6"
+        "pinia": "^2.1.6",
+        "yaml": "^2.3.3"
       },
       "devDependencies": {
         "@nuxt/content": "^2.8.5",
@@ -49,14 +50,14 @@
       }
     },
     "node_modules/@babel/compat-data": {
-      "version": "7.22.20",
+      "version": "7.23.2",
       "license": "MIT",
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/core": {
-      "version": "7.23.0",
+      "version": "7.23.2",
       "license": "MIT",
       "dependencies": {
         "@ampproject/remapping": "^2.2.0",
@@ -64,10 +65,10 @@
         "@babel/generator": "^7.23.0",
         "@babel/helper-compilation-targets": "^7.22.15",
         "@babel/helper-module-transforms": "^7.23.0",
-        "@babel/helpers": "^7.23.0",
+        "@babel/helpers": "^7.23.2",
         "@babel/parser": "^7.23.0",
         "@babel/template": "^7.22.15",
-        "@babel/traverse": "^7.23.0",
+        "@babel/traverse": "^7.23.2",
         "@babel/types": "^7.23.0",
         "convert-source-map": "^2.0.0",
         "debug": "^4.1.0",
@@ -319,11 +320,11 @@
       }
     },
     "node_modules/@babel/helpers": {
-      "version": "7.23.1",
+      "version": "7.23.2",
       "license": "MIT",
       "dependencies": {
         "@babel/template": "^7.22.15",
-        "@babel/traverse": "^7.23.0",
+        "@babel/traverse": "^7.23.2",
         "@babel/types": "^7.23.0"
       },
       "engines": {
@@ -398,7 +399,7 @@
       }
     },
     "node_modules/@babel/standalone": {
-      "version": "7.23.1",
+      "version": "7.23.2",
       "license": "MIT",
       "engines": {
         "node": ">=6.9.0"
@@ -417,7 +418,7 @@
       }
     },
     "node_modules/@babel/traverse": {
-      "version": "7.23.0",
+      "version": "7.23.2",
       "license": "MIT",
       "dependencies": {
         "@babel/code-frame": "^7.22.13",
@@ -581,11 +582,11 @@
       }
     },
     "node_modules/@netlify/functions": {
-      "version": "2.2.0",
+      "version": "2.3.0",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@netlify/serverless-functions-api": "1.8.0",
+        "@netlify/serverless-functions-api": "1.9.0",
         "is-promise": "^4.0.0"
       },
       "engines": {
@@ -601,7 +602,7 @@
       }
     },
     "node_modules/@netlify/serverless-functions-api": {
-      "version": "1.8.0",
+      "version": "1.9.0",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -679,8 +680,7 @@
     },
     "node_modules/@nuxt/kit": {
       "version": "3.7.4",
-      "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.7.4.tgz",
-      "integrity": "sha512-/S5abZL62BITCvC/TY3KWA6N721U1Osln3cQdBb56XHIeafZCBVqTi92Xb0o7ovl72mMRhrKwRu7elzvz9oT/g==",
+      "license": "MIT",
       "dependencies": {
         "@nuxt/schema": "3.7.4",
         "c12": "^1.4.2",
@@ -827,11 +827,11 @@
       }
     },
     "node_modules/@nuxtjs/mdc": {
-      "version": "0.2.1",
+      "version": "0.2.2",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@nuxt/kit": "latest",
+        "@nuxt/kit": "^3.7.4",
         "@types/hast": "^3.0.1",
         "@types/mdast": "^4.0.1",
         "@vue/compiler-core": "^3.3.4",
@@ -856,7 +856,7 @@
         "remark-parse": "^10.0.2",
         "remark-rehype": "^10.1.0",
         "scule": "^1.0.0",
-        "shikiji": "^0.6.8",
+        "shikiji": "^0.6.9",
         "ufo": "^1.3.1",
         "unified": "^11.0.3",
         "unist-builder": "^4.0.0",
@@ -1002,7 +1002,7 @@
       }
     },
     "node_modules/@rollup/plugin-commonjs": {
-      "version": "25.0.5",
+      "version": "25.0.7",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -1011,7 +1011,7 @@
         "estree-walker": "^2.0.2",
         "glob": "^8.0.3",
         "is-reference": "1.2.1",
-        "magic-string": "^0.27.0"
+        "magic-string": "^0.30.3"
       },
       "engines": {
         "node": ">=14.0.0"
@@ -1025,25 +1025,14 @@
         }
       }
     },
-    "node_modules/@rollup/plugin-commonjs/node_modules/magic-string": {
-      "version": "0.27.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@jridgewell/sourcemap-codec": "^1.4.13"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
     "node_modules/@rollup/plugin-inject": {
-      "version": "5.0.4",
+      "version": "5.0.5",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@rollup/pluginutils": "^5.0.1",
         "estree-walker": "^2.0.2",
-        "magic-string": "^0.27.0"
+        "magic-string": "^0.30.3"
       },
       "engines": {
         "node": ">=14.0.0"
@@ -1057,17 +1046,6 @@
         }
       }
     },
-    "node_modules/@rollup/plugin-inject/node_modules/magic-string": {
-      "version": "0.27.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@jridgewell/sourcemap-codec": "^1.4.13"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
     "node_modules/@rollup/plugin-json": {
       "version": "6.0.1",
       "dev": true,
@@ -1088,7 +1066,7 @@
       }
     },
     "node_modules/@rollup/plugin-node-resolve": {
-      "version": "15.2.2",
+      "version": "15.2.3",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -1112,12 +1090,12 @@
       }
     },
     "node_modules/@rollup/plugin-replace": {
-      "version": "5.0.3",
+      "version": "5.0.4",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@rollup/pluginutils": "^5.0.1",
-        "magic-string": "^0.27.0"
+        "magic-string": "^0.30.3"
       },
       "engines": {
         "node": ">=14.0.0"
@@ -1131,17 +1109,6 @@
         }
       }
     },
-    "node_modules/@rollup/plugin-replace/node_modules/magic-string": {
-      "version": "0.27.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@jridgewell/sourcemap-codec": "^1.4.13"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
     "node_modules/@rollup/plugin-terser": {
       "version": "0.4.4",
       "dev": true,
@@ -1268,7 +1235,7 @@
       "license": "MIT"
     },
     "node_modules/@types/node": {
-      "version": "18.18.3",
+      "version": "18.18.5",
       "dev": true,
       "license": "MIT"
     },
@@ -1288,7 +1255,7 @@
       "license": "MIT"
     },
     "node_modules/@types/web-bluetooth": {
-      "version": "0.0.17",
+      "version": "0.0.18",
       "dev": true,
       "license": "MIT"
     },
@@ -1537,6 +1504,17 @@
         }
       }
     },
+    "node_modules/@vue-macros/common/node_modules/local-pkg": {
+      "version": "0.4.3",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/antfu"
+      }
+    },
     "node_modules/@vue/babel-helper-vue-transform-on": {
       "version": "1.1.5",
       "dev": true,
@@ -1604,7 +1582,7 @@
       }
     },
     "node_modules/@vue/devtools-api": {
-      "version": "6.5.0",
+      "version": "6.5.1",
       "license": "MIT"
     },
     "node_modules/@vue/reactivity": {
@@ -1671,14 +1649,14 @@
       }
     },
     "node_modules/@vueuse/core": {
-      "version": "10.4.1",
+      "version": "10.5.0",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@types/web-bluetooth": "^0.0.17",
-        "@vueuse/metadata": "10.4.1",
-        "@vueuse/shared": "10.4.1",
-        "vue-demi": ">=0.14.5"
+        "@types/web-bluetooth": "^0.0.18",
+        "@vueuse/metadata": "10.5.0",
+        "@vueuse/shared": "10.5.0",
+        "vue-demi": ">=0.14.6"
       },
       "funding": {
         "url": "https://github.com/sponsors/antfu"
@@ -1699,7 +1677,7 @@
       }
     },
     "node_modules/@vueuse/metadata": {
-      "version": "10.4.1",
+      "version": "10.5.0",
       "dev": true,
       "license": "MIT",
       "funding": {
@@ -1707,16 +1685,16 @@
       }
     },
     "node_modules/@vueuse/nuxt": {
-      "version": "10.4.1",
+      "version": "10.5.0",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@nuxt/kit": "^3.6.5",
-        "@vueuse/core": "10.4.1",
-        "@vueuse/metadata": "10.4.1",
-        "local-pkg": "^0.4.3",
-        "nuxt": "^3.6.5",
-        "vue-demi": ">=0.14.5"
+        "@nuxt/kit": "^3.7.4",
+        "@vueuse/core": "10.5.0",
+        "@vueuse/metadata": "10.5.0",
+        "local-pkg": "^0.5.0",
+        "nuxt": "^3.7.4",
+        "vue-demi": ">=0.14.6"
       },
       "funding": {
         "url": "https://github.com/sponsors/antfu"
@@ -1726,11 +1704,11 @@
       }
     },
     "node_modules/@vueuse/shared": {
-      "version": "10.4.1",
+      "version": "10.5.0",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "vue-demi": ">=0.14.5"
+        "vue-demi": ">=0.14.6"
       },
       "funding": {
         "url": "https://github.com/sponsors/antfu"
@@ -2144,7 +2122,7 @@
       }
     },
     "node_modules/caniuse-lite": {
-      "version": "1.0.30001546",
+      "version": "1.0.30001549",
       "funding": [
         {
           "type": "opencollective",
@@ -3212,7 +3190,7 @@
       "license": "MIT"
     },
     "node_modules/electron-to-chromium": {
-      "version": "1.4.543",
+      "version": "1.4.554",
       "license": "ISC"
     },
     "node_modules/emoji-regex": {
@@ -3500,7 +3478,7 @@
       }
     },
     "node_modules/fraction.js": {
-      "version": "4.3.6",
+      "version": "4.3.7",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -4725,8 +4703,13 @@
       }
     },
     "node_modules/local-pkg": {
-      "version": "0.4.3",
+      "version": "0.5.0",
+      "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "mlly": "^1.4.2",
+        "pkg-types": "^1.0.3"
+      },
       "engines": {
         "node": ">=14"
       },
@@ -4797,7 +4780,7 @@
       }
     },
     "node_modules/magic-string": {
-      "version": "0.30.4",
+      "version": "0.30.5",
       "license": "MIT",
       "dependencies": {
         "@jridgewell/sourcemap-codec": "^1.4.15"
@@ -8060,7 +8043,7 @@
       }
     },
     "node_modules/pinia": {
-      "version": "2.1.6",
+      "version": "2.1.7",
       "license": "MIT",
       "dependencies": {
         "@vue/devtools-api": "^6.5.0",
@@ -9302,7 +9285,7 @@
       }
     },
     "node_modules/resolve": {
-      "version": "1.22.6",
+      "version": "1.22.8",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -9637,7 +9620,7 @@
       "license": "MIT"
     },
     "node_modules/shikiji": {
-      "version": "0.6.8",
+      "version": "0.6.10",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -9940,7 +9923,7 @@
       "license": "ISC"
     },
     "node_modules/terser": {
-      "version": "5.21.0",
+      "version": "5.22.0",
       "dev": true,
       "license": "BSD-2-Clause",
       "dependencies": {
@@ -10071,7 +10054,7 @@
       }
     },
     "node_modules/undici": {
-      "version": "5.25.4",
+      "version": "5.26.3",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -10189,6 +10172,16 @@
         "unplugin": "^1.5.0"
       }
     },
+    "node_modules/unimport/node_modules/local-pkg": {
+      "version": "0.4.3",
+      "license": "MIT",
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/antfu"
+      }
+    },
     "node_modules/unist-builder": {
       "version": "4.0.0",
       "dev": true,
@@ -10319,6 +10312,17 @@
         }
       }
     },
+    "node_modules/unplugin-vue-router/node_modules/local-pkg": {
+      "version": "0.4.3",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/antfu"
+      }
+    },
     "node_modules/unstorage": {
       "version": "1.9.0",
       "dev": true,
@@ -10990,7 +10994,7 @@
       }
     },
     "node_modules/vuetify": {
-      "version": "3.3.20",
+      "version": "3.3.21",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -11023,7 +11027,7 @@
       }
     },
     "node_modules/vuetify-nuxt-module": {
-      "version": "0.5.13",
+      "version": "0.5.15",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -11190,8 +11194,7 @@
       "license": "ISC"
     },
     "node_modules/yaml": {
-      "version": "2.3.2",
-      "dev": true,
+      "version": "2.3.3",
       "license": "ISC",
       "engines": {
         "node": ">= 14"
diff --git a/package.json b/package.json
index 12756372ec3cd8d4e3e3d1ebd92eec882fafbf35..2e3afdb8308e34f5a71e049f87c1cb38d01dc91d 100644
--- a/package.json
+++ b/package.json
@@ -20,6 +20,7 @@
   "dependencies": {
     "@observablehq/plot": "^0.6.11",
     "@pinia/nuxt": "^0.4.11",
-    "pinia": "^2.1.6"
+    "pinia": "^2.1.6",
+    "yaml": "^2.3.3"
   }
 }
diff --git a/server/plugins/content.ts b/server/plugins/content.ts
new file mode 100644
index 0000000000000000000000000000000000000000..0f843c65913eb850e528d7653738a8deb4ca9e55
--- /dev/null
+++ b/server/plugins/content.ts
@@ -0,0 +1,37 @@
+import YAML from 'yaml'
+
+export default defineNitroPlugin((nitroApp) => {
+    nitroApp.hooks.hook('content:file:beforeParse',
+        (file) => {
+            if (file?._id?.startsWith('content:3.defense-systems:') && file?._id?.endsWith('.md')) {
+                const regexp = /(?<=---\n).*?(?=\n---)/sg;
+                const match = file.body.match(regexp);
+                const frontMatter = match[0]
+                const parsedFrontMatter = YAML.parse(frontMatter)
+                if (parsedFrontMatter?.contributors?.length > 0) {
+                    file.body = file.body.replace(/(^#[\s+]\w*[\s\S])/gm, "$1:contributors\n\n")
+
+                }
+            }
+        })
+
+
+    // nitroApp.hooks.hook(
+    //     'content:file:afterParse',
+    //     (file) => {
+    //         if (file._id.endsWith('.md')) {
+
+    //             file.body.children.push({
+    //                 type: "element",
+    //                 tag: 'article-doi-list',
+    //                 props: {
+    //                     items: [
+    //                         { doi: '10.1016/j.mib.2005.06.006' },
+    //                         { doi: '10.1016/j.mib.2005.06.006' }]
+    //                 },
+    //                 children: []
+    //             })
+
+    //         }
+    //     })
+})
\ No newline at end of file