diff --git a/additional_resources/design-principles.html b/additional_resources/design-principles.html
index f4572be..9a89db5 100644
--- a/additional_resources/design-principles.html
+++ b/additional_resources/design-principles.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/additional_resources/index.html b/additional_resources/index.html
index e4afd9f..ed239de 100644
--- a/additional_resources/index.html
+++ b/additional_resources/index.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/anti_patterns/borrow_clone.html b/anti_patterns/borrow_clone.html
index 21b07c2..c94f653 100644
--- a/anti_patterns/borrow_clone.html
+++ b/anti_patterns/borrow_clone.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/anti_patterns/deny-warnings.html b/anti_patterns/deny-warnings.html
index 611f000..1145ad7 100644
--- a/anti_patterns/deny-warnings.html
+++ b/anti_patterns/deny-warnings.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/anti_patterns/deref.html b/anti_patterns/deref.html
index 878a48f..9afe1e7 100644
--- a/anti_patterns/deref.html
+++ b/anti_patterns/deref.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/anti_patterns/index.html b/anti_patterns/index.html
index 897219a..000ce01 100644
--- a/anti_patterns/index.html
+++ b/anti_patterns/index.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/book.toml b/book.toml
index c43d672..c397f6d 100644
--- a/book.toml
+++ b/book.toml
@@ -16,5 +16,6 @@ edition = "2018"
default-theme = "rust"
git-repository-url = "https://github.com/rust-unofficial/patterns"
git-repository-icon = "fa-github"
+edit-url-template = "https://github.com/rust-unofficial/patterns/edit/main/{path}"
# [output.linkcheck] # enable the "mdbook-linkcheck" renderer, disabled due to gh-actions
diff --git a/functional/generics-type-classes.html b/functional/generics-type-classes.html
index aa97aa5..b10804f 100644
--- a/functional/generics-type-classes.html
+++ b/functional/generics-type-classes.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/functional/index.html b/functional/index.html
index f994d06..de9e3d5 100644
--- a/functional/index.html
+++ b/functional/index.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/functional/lenses.html b/functional/lenses.html
index 3c3519c..75e1660 100644
--- a/functional/lenses.html
+++ b/functional/lenses.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/functional/paradigms.html b/functional/paradigms.html
index 77f21d5..7b7e18d 100644
--- a/functional/paradigms.html
+++ b/functional/paradigms.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/idioms/coercion-arguments.html b/idioms/coercion-arguments.html
index a617442..34c6f5b 100644
--- a/idioms/coercion-arguments.html
+++ b/idioms/coercion-arguments.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/idioms/concat-format.html b/idioms/concat-format.html
index f062f3e..3464d89 100644
--- a/idioms/concat-format.html
+++ b/idioms/concat-format.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/idioms/ctor.html b/idioms/ctor.html
index e45d8c0..4298b91 100644
--- a/idioms/ctor.html
+++ b/idioms/ctor.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/idioms/default.html b/idioms/default.html
index d009c50..6d98d05 100644
--- a/idioms/default.html
+++ b/idioms/default.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/idioms/deref.html b/idioms/deref.html
index 1e0697a..fd4c2a8 100644
--- a/idioms/deref.html
+++ b/idioms/deref.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/idioms/dtor-finally.html b/idioms/dtor-finally.html
index 4ee9283..73e7484 100644
--- a/idioms/dtor-finally.html
+++ b/idioms/dtor-finally.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/idioms/ffi/accepting-strings.html b/idioms/ffi/accepting-strings.html
index 2cec16b..4ccae70 100644
--- a/idioms/ffi/accepting-strings.html
+++ b/idioms/ffi/accepting-strings.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/idioms/ffi/errors.html b/idioms/ffi/errors.html
index 6590089..7e57fa0 100644
--- a/idioms/ffi/errors.html
+++ b/idioms/ffi/errors.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/idioms/ffi/intro.html b/idioms/ffi/intro.html
index 7f53e6b..b103e79 100644
--- a/idioms/ffi/intro.html
+++ b/idioms/ffi/intro.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/idioms/ffi/passing-strings.html b/idioms/ffi/passing-strings.html
index 3cc7c36..53ed804 100644
--- a/idioms/ffi/passing-strings.html
+++ b/idioms/ffi/passing-strings.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/idioms/index.html b/idioms/index.html
index 4f489cc..083e86e 100644
--- a/idioms/index.html
+++ b/idioms/index.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/idioms/mem-replace.html b/idioms/mem-replace.html
index 2b92a75..aa508ae 100644
--- a/idioms/mem-replace.html
+++ b/idioms/mem-replace.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/idioms/on-stack-dyn-dispatch.html b/idioms/on-stack-dyn-dispatch.html
index 699e805..9bf51f4 100644
--- a/idioms/on-stack-dyn-dispatch.html
+++ b/idioms/on-stack-dyn-dispatch.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/idioms/option-iter.html b/idioms/option-iter.html
index 5136dfb..ac6dbdc 100644
--- a/idioms/option-iter.html
+++ b/idioms/option-iter.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/idioms/pass-var-to-closure.html b/idioms/pass-var-to-closure.html
index 2fb707a..65df33c 100644
--- a/idioms/pass-var-to-closure.html
+++ b/idioms/pass-var-to-closure.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/idioms/priv-extend.html b/idioms/priv-extend.html
index 8d909f6..ef7b80f 100644
--- a/idioms/priv-extend.html
+++ b/idioms/priv-extend.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/idioms/rustdoc-init.html b/idioms/rustdoc-init.html
index 216fa5d..be7c20d 100644
--- a/idioms/rustdoc-init.html
+++ b/idioms/rustdoc-init.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/idioms/temporary-mutability.html b/idioms/temporary-mutability.html
index 8ad875c..4c92b50 100644
--- a/idioms/temporary-mutability.html
+++ b/idioms/temporary-mutability.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/index.html b/index.html
index 7495d84..5c0ad18 100644
--- a/index.html
+++ b/index.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/intro.html b/intro.html
index 7495d84..5c0ad18 100644
--- a/intro.html
+++ b/intro.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/patterns/behavioural/RAII.html b/patterns/behavioural/RAII.html
index 08ae2e1..5d57564 100644
--- a/patterns/behavioural/RAII.html
+++ b/patterns/behavioural/RAII.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/patterns/behavioural/command.html b/patterns/behavioural/command.html
index 39b28fb..ba33c31 100644
--- a/patterns/behavioural/command.html
+++ b/patterns/behavioural/command.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/patterns/behavioural/interpreter.html b/patterns/behavioural/interpreter.html
index 3b5dee8..8f34f62 100644
--- a/patterns/behavioural/interpreter.html
+++ b/patterns/behavioural/interpreter.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/patterns/behavioural/intro.html b/patterns/behavioural/intro.html
index d2305d0..71861e2 100644
--- a/patterns/behavioural/intro.html
+++ b/patterns/behavioural/intro.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/patterns/behavioural/newtype.html b/patterns/behavioural/newtype.html
index 13bc02f..e269d6e 100644
--- a/patterns/behavioural/newtype.html
+++ b/patterns/behavioural/newtype.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/patterns/behavioural/strategy.html b/patterns/behavioural/strategy.html
index f5b4266..dcea3a0 100644
--- a/patterns/behavioural/strategy.html
+++ b/patterns/behavioural/strategy.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/patterns/behavioural/visitor.html b/patterns/behavioural/visitor.html
index 051afde..0e0b7de 100644
--- a/patterns/behavioural/visitor.html
+++ b/patterns/behavioural/visitor.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/patterns/creational/builder.html b/patterns/creational/builder.html
index 6102be7..858bea8 100644
--- a/patterns/creational/builder.html
+++ b/patterns/creational/builder.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/patterns/creational/fold.html b/patterns/creational/fold.html
index c1dcadf..143b6f3 100644
--- a/patterns/creational/fold.html
+++ b/patterns/creational/fold.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/patterns/creational/intro.html b/patterns/creational/intro.html
index 4d92c78..20ef82f 100644
--- a/patterns/creational/intro.html
+++ b/patterns/creational/intro.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/patterns/ffi/export.html b/patterns/ffi/export.html
index c554d94..757fa59 100644
--- a/patterns/ffi/export.html
+++ b/patterns/ffi/export.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/patterns/ffi/intro.html b/patterns/ffi/intro.html
index 19ac29c..f5388ef 100644
--- a/patterns/ffi/intro.html
+++ b/patterns/ffi/intro.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/patterns/ffi/wrappers.html b/patterns/ffi/wrappers.html
index b00d068..8fc6b85 100644
--- a/patterns/ffi/wrappers.html
+++ b/patterns/ffi/wrappers.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/patterns/index.html b/patterns/index.html
index 27b2018..bdde7ef 100644
--- a/patterns/index.html
+++ b/patterns/index.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/patterns/structural/compose-structs.html b/patterns/structural/compose-structs.html
index 3b89d79..ab06af7 100644
--- a/patterns/structural/compose-structs.html
+++ b/patterns/structural/compose-structs.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/patterns/structural/intro.html b/patterns/structural/intro.html
index ef6037c..d752e7a 100644
--- a/patterns/structural/intro.html
+++ b/patterns/structural/intro.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/patterns/structural/small-crates.html b/patterns/structural/small-crates.html
index 43edb20..19a668d 100644
--- a/patterns/structural/small-crates.html
+++ b/patterns/structural/small-crates.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/patterns/structural/unsafe-mods.html b/patterns/structural/unsafe-mods.html
index 84f9cb1..14c8709 100644
--- a/patterns/structural/unsafe-mods.html
+++ b/patterns/structural/unsafe-mods.html
@@ -118,6 +118,9 @@
+
+
+
diff --git a/translations.html b/translations.html
index 06e8592..7b5a84c 100644
--- a/translations.html
+++ b/translations.html
@@ -118,6 +118,9 @@
+
+
+