diff --git a/website/source/_includes/post/heading-with-anchor.html.twig b/website/source/_includes/post/heading-with-anchor.html.twig
new file mode 100644
index 00000000..46a7de25
--- /dev/null
+++ b/website/source/_includes/post/heading-with-anchor.html.twig
@@ -0,0 +1,3 @@
+
+
+
{{ text }}
diff --git a/website/source/_includes/post/table-of-contents.html.twig b/website/source/_includes/post/table-of-contents.html.twig
new file mode 100644
index 00000000..65e92ba5
--- /dev/null
+++ b/website/source/_includes/post/table-of-contents.html.twig
@@ -0,0 +1,9 @@
+{% if toc %}
+
+ {% for title in toc %}
+ -
+ {{ title }}
+
+ {% endfor %}
+
+{% endif %}
diff --git a/website/source/_layouts/post.html.twig b/website/source/_layouts/post.html.twig
index ac820d2b..764e0f5f 100644
--- a/website/source/_layouts/post.html.twig
+++ b/website/source/_layouts/post.html.twig
@@ -16,6 +16,8 @@
+ {% include "post/table-of-contents" with { toc: page.toc } only %}
+
{{ parent() }}