diff --git a/Makefile b/Makefile
index ae7b27d..8e70848 100644
--- a/Makefile
+++ b/Makefile
@@ -12,6 +12,9 @@ venv: ## Create the venv
venv/bin/pip install -e ".[dev,docs]"
docs: cog ## Build the docs
venv/bin/sphinx-build docs public
+ curl -sL $$(grep mermaid.min.js public/search.html | cut -f 2 -d '"') --output public/mermaid.min.js
+ sed -e 's@https://unpkg.com/mermaid[^"]*"@mermaid.min.js"@' -i public/search.html public/genindex.html
+ sed -e 's@https://unpkg.com/mermaid[^"]*"@../mermaid.min.js"@' -i public/developer/models.html public/developer/overview.html
cog: ## Run cog, to integrate the CLI options to the docs.
venv/bin/cog -r docs/*.md
tests: venv ## Run the tests
diff --git a/docs/_static/font-inter-cyrillic-ext.woff2 b/docs/_static/font-inter-cyrillic-ext.woff2
new file mode 100644
index 0000000..a61a0be
Binary files /dev/null and b/docs/_static/font-inter-cyrillic-ext.woff2 differ
diff --git a/docs/_static/font-inter-cyrillic.woff2 b/docs/_static/font-inter-cyrillic.woff2
new file mode 100644
index 0000000..b655a43
Binary files /dev/null and b/docs/_static/font-inter-cyrillic.woff2 differ
diff --git a/docs/_static/font-inter-greek-ext.woff2 b/docs/_static/font-inter-greek-ext.woff2
new file mode 100644
index 0000000..9117b5b
Binary files /dev/null and b/docs/_static/font-inter-greek-ext.woff2 differ
diff --git a/docs/_static/font-inter-greek.woff2 b/docs/_static/font-inter-greek.woff2
new file mode 100644
index 0000000..eb38b38
Binary files /dev/null and b/docs/_static/font-inter-greek.woff2 differ
diff --git a/docs/_static/font-inter-latin-ext.woff2 b/docs/_static/font-inter-latin-ext.woff2
new file mode 100644
index 0000000..3df865d
Binary files /dev/null and b/docs/_static/font-inter-latin-ext.woff2 differ
diff --git a/docs/_static/font-inter-latin.woff2 b/docs/_static/font-inter-latin.woff2
new file mode 100644
index 0000000..4025543
Binary files /dev/null and b/docs/_static/font-inter-latin.woff2 differ
diff --git a/docs/_static/font-inter-vietnamese.woff2 b/docs/_static/font-inter-vietnamese.woff2
new file mode 100644
index 0000000..ce21ca1
Binary files /dev/null and b/docs/_static/font-inter-vietnamese.woff2 differ
diff --git a/docs/_static/fonts.css b/docs/_static/fonts.css
new file mode 100644
index 0000000..471ca75
--- /dev/null
+++ b/docs/_static/fonts.css
@@ -0,0 +1,189 @@
+/* cyrillic-ext */
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 500;
+ font-display: swap;
+ src: url(font-inter-cyrillic-ext.woff2) format('woff2');
+ unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 500;
+ font-display: swap;
+ src: url(font-inter-cyrillic.woff2) format('woff2');
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 500;
+ font-display: swap;
+ src: url(font-inter-greek-ext.woff2) format('woff2');
+ unicode-range: U+1F00-1FFF;
+}
+/* greek */
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 500;
+ font-display: swap;
+ src: url(font-inter-greek.woff2) format('woff2');
+ unicode-range: U+0370-03FF;
+}
+/* vietnamese */
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 500;
+ font-display: swap;
+ src: url(font-inter-vietnamese.woff2) format('woff2');
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 500;
+ font-display: swap;
+ src: url(font-inter-latin-ext.woff2) format('woff2');
+ unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 500;
+ font-display: swap;
+ src: url(font-inter-latin.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 600;
+ font-display: swap;
+ src: url(font-inter-cyrillic-ext.woff2) format('woff2');
+ unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 600;
+ font-display: swap;
+ src: url(font-inter-cyrillic.woff2) format('woff2');
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 600;
+ font-display: swap;
+ src: url(font-inter-greek-ext.woff2) format('woff2');
+ unicode-range: U+1F00-1FFF;
+}
+/* greek */
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 600;
+ font-display: swap;
+ src: url(font-inter-greek.woff2) format('woff2');
+ unicode-range: U+0370-03FF;
+}
+/* vietnamese */
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 600;
+ font-display: swap;
+ src: url(font-inter-vietnamese.woff2) format('woff2');
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 600;
+ font-display: swap;
+ src: url(font-inter-latin-ext.woff2) format('woff2');
+ unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 600;
+ font-display: swap;
+ src: url(font-inter-latin.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(font-inter-cyrillic-ext.woff2) format('woff2');
+ unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(font-inter-cyrillic.woff2) format('woff2');
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(font-inter-greek-ext.woff2) format('woff2');
+ unicode-range: U+1F00-1FFF;
+}
+/* greek */
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(font-inter-greek.woff2) format('woff2');
+ unicode-range: U+0370-03FF;
+}
+/* vietnamese */
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(font-inter-vietnamese.woff2) format('woff2');
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(font-inter-latin-ext.woff2) format('woff2');
+ unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(font-inter-latin.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
diff --git a/docs/_templates/partials/webfonts.html b/docs/_templates/partials/webfonts.html
new file mode 100644
index 0000000..e69de29
diff --git a/docs/_templates/repository.html b/docs/_templates/repository.html
index bf84c44..fb37bb2 100644
--- a/docs/_templates/repository.html
+++ b/docs/_templates/repository.html
@@ -1,8 +1,9 @@
-
-
-
-
-
- framasoft/argos
-
-
\ No newline at end of file
+
+
+
+
+
+ framasoft/argos
+
+
diff --git a/docs/conf.py b/docs/conf.py
index e7edefd..b23766f 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -33,3 +33,4 @@ html_sidebars = {
html_theme = "shibuya"
html_static_path = ["_static"]
+html_css_files = ['fonts.css']