diff --git a/doc/Jamfile b/doc/Jamfile
index 19564375..7bd9dfce 100644
--- a/doc/Jamfile
+++ b/doc/Jamfile
@@ -14,6 +14,19 @@ explicit cobalt.pdf ;
 install pdf_ : cobalt.pdf : <location>pdf ;
 explicit pdf_ ;
 
+install images
+    :
+        images/awaitables.png
+        images/generators1.png
+        images/generators2.png
+        images/lazy_eager1.png
+        images/lazy_eager2.png
+        images/stackless1.png
+        images/stackless2.png
+    :
+        <location>html/images
+    ;
+
 alias boostdoc ;
 explicit boostdoc ;
 alias boostrelease : html_ ;
diff --git a/doc/background/lazy_eager.adoc b/doc/background/lazy_eager.adoc
index 889d37c9..569fa6a2 100644
--- a/doc/background/lazy_eager.adoc
+++ b/doc/background/lazy_eager.adoc
@@ -57,7 +57,7 @@ sequenceDiagram
 endif::[]
 
 ifndef::generate-diagram[]
-image::{docdir}/images/lazy_eager1.png[]
+image::lazy_eager1.png[]
 endif::[]
 
 
@@ -113,5 +113,5 @@ sequenceDiagram
 endif::[]
 
 ifndef::generate-diagram[]
-image::{docdir}/images/lazy_eager2.png[]
+image::lazy_eager2.png[]
 endif::[]
diff --git a/doc/background/stackless.adoc b/doc/background/stackless.adoc
index e22c44ac..ac6e9036 100644
--- a/doc/background/stackless.adoc
+++ b/doc/background/stackless.adoc
@@ -42,7 +42,7 @@ sequenceDiagram
 endif::[]
 
 ifndef::generate-diagram[]
-image::{docdir}/images/stackless1.png[]
+image::stackless1.png[]
 endif::[]
 
 Coroutines can be implemented a stackful, which means that it allocates a fixes chunk of memory and stacks function frames similar to a thread.
@@ -100,7 +100,7 @@ sequenceDiagram
 endif::[]
 
 ifndef::generate-diagram[]
-image::{docdir}/images/stackless2.png[]
+image::stackless2.png[]
 endif::[]
 
 The same applies if a coroutine gets moved accross threads.
\ No newline at end of file
diff --git a/doc/index.adoc b/doc/index.adoc
index e00a1676..56600034 100644
--- a/doc/index.adoc
+++ b/doc/index.adoc
@@ -11,7 +11,7 @@ Version 0.1, 29.01.2023
 :source-language: c++
 :example-caption: Example
 
-:imagesdir: {docdir}/images
+:imagesdir: ./images
 
 :leveloffset: +1
 
diff --git a/doc/primer/awaitables.adoc b/doc/primer/awaitables.adoc
index e5635aa6..2e175002 100644
--- a/doc/primer/awaitables.adoc
+++ b/doc/primer/awaitables.adoc
@@ -31,7 +31,7 @@ flowchart TD
 endif::[]
 
 ifndef::generate-diagram[]
-image::{docdir}/images/awaitables.png[]
+image::awaitables.png[]
 endif::[]
 
 In a `co_await` expression the waiting coroutine will first invoke
diff --git a/doc/reference/generators.adoc b/doc/reference/generators.adoc
index 88eb7fc7..d77214f3 100644
--- a/doc/reference/generators.adoc
+++ b/doc/reference/generators.adoc
@@ -52,7 +52,7 @@ sequenceDiagram
 endif::[]
 
 ifndef::generate-diagram[]
-image::{docdir}/images/generators1.png[]
+image::generators1.png[]
 endif::[]
 
 Values can be pushed into the generator, when `Push` (the second template parameter) is set to non-void:
@@ -142,7 +142,7 @@ sequenceDiagram
 endif::[]
 
 ifndef::generate-diagram[]
-image::{docdir}/images/generators2.png[]
+image::generators2.png[]
 endif::[]
 
 [#generator-executor]