diff --git a/content/favicon.svg b/content/favicon.svg
deleted file mode 100644
index 1977ea2..0000000
--- a/content/favicon.svg
+++ /dev/null
@@ -1,21 +0,0 @@
-
diff --git a/content/favicon/favicon-120.png b/content/favicon/favicon-120.png
new file mode 100644
index 0000000..11ece00
Binary files /dev/null and b/content/favicon/favicon-120.png differ
diff --git a/content/favicon/favicon-128.png b/content/favicon/favicon-128.png
new file mode 100644
index 0000000..3d268dc
Binary files /dev/null and b/content/favicon/favicon-128.png differ
diff --git a/content/favicon/favicon-150.png b/content/favicon/favicon-150.png
new file mode 100644
index 0000000..94fe3c3
Binary files /dev/null and b/content/favicon/favicon-150.png differ
diff --git a/content/favicon/favicon-152.png b/content/favicon/favicon-152.png
new file mode 100644
index 0000000..655895d
Binary files /dev/null and b/content/favicon/favicon-152.png differ
diff --git a/content/favicon/favicon-16.png b/content/favicon/favicon-16.png
new file mode 100644
index 0000000..5dd2a95
Binary files /dev/null and b/content/favicon/favicon-16.png differ
diff --git a/content/favicon/favicon-167.png b/content/favicon/favicon-167.png
new file mode 100644
index 0000000..7fe280c
Binary files /dev/null and b/content/favicon/favicon-167.png differ
diff --git a/content/favicon/favicon-180.png b/content/favicon/favicon-180.png
new file mode 100644
index 0000000..c771ff9
Binary files /dev/null and b/content/favicon/favicon-180.png differ
diff --git a/content/favicon/favicon-192.png b/content/favicon/favicon-192.png
new file mode 100644
index 0000000..71953b5
Binary files /dev/null and b/content/favicon/favicon-192.png differ
diff --git a/content/favicon/favicon-310.png b/content/favicon/favicon-310.png
new file mode 100644
index 0000000..67a504a
Binary files /dev/null and b/content/favicon/favicon-310.png differ
diff --git a/content/favicon/favicon-310x150.png b/content/favicon/favicon-310x150.png
new file mode 100644
index 0000000..0ef9d4d
Binary files /dev/null and b/content/favicon/favicon-310x150.png differ
diff --git a/content/favicon/favicon-32.png b/content/favicon/favicon-32.png
new file mode 100644
index 0000000..c4b22f2
Binary files /dev/null and b/content/favicon/favicon-32.png differ
diff --git a/content/favicon/favicon-48.png b/content/favicon/favicon-48.png
new file mode 100644
index 0000000..a1d8c53
Binary files /dev/null and b/content/favicon/favicon-48.png differ
diff --git a/content/favicon/favicon-512.png b/content/favicon/favicon-512.png
new file mode 100644
index 0000000..7dcb6b4
Binary files /dev/null and b/content/favicon/favicon-512.png differ
diff --git a/content/favicon/favicon-70.png b/content/favicon/favicon-70.png
new file mode 100644
index 0000000..fe6b180
Binary files /dev/null and b/content/favicon/favicon-70.png differ
diff --git a/content/favicon/favicon-76.png b/content/favicon/favicon-76.png
new file mode 100644
index 0000000..9d9d438
Binary files /dev/null and b/content/favicon/favicon-76.png differ
diff --git a/content/favicon/favicon.ico b/content/favicon/favicon.ico
new file mode 100644
index 0000000..d719049
Binary files /dev/null and b/content/favicon/favicon.ico differ
diff --git a/content/favicon/favicon.svg b/content/favicon/favicon.svg
new file mode 100644
index 0000000..ec9b534
--- /dev/null
+++ b/content/favicon/favicon.svg
@@ -0,0 +1,10 @@
+
diff --git a/pelicanconf.py b/pelicanconf.py
index ea8b265..c06d405 100644
--- a/pelicanconf.py
+++ b/pelicanconf.py
@@ -12,7 +12,6 @@ DEFAULT_LANG = 'de'
THEME = "theme/"
-
###############################################################################
# URL & Path Settings #
###############################################################################
@@ -20,8 +19,15 @@ THEME = "theme/"
PATH = "content"
ARTICLE_PATHS = ["posts"]
PAGE_PATHS = ["pages"]
+STATIC_PATHS = ["images", "favicon"]
+
+DIRECT_TEMPLATES = ['index', 'tags']
+IGNORE_FILES = ['**/.*', '__pycache__', 'favicon-from-svg.sh']
+
+EXTRA_PATH_METADATA = {
+ 'favicon/favicon.ico': {'path': 'favicon.ico'},
+}
-#PATH_METADATA = '(?P.*)\..*'
PAGE_URL = '{slug}/'
PAGE_SAVE_AS = '{slug}/index.html'
ARTICLE_SAVE_AS = '{category}/{slug}.html'
diff --git a/theme/templates/base.html b/theme/templates/base.html
index 03d9038..d1becd9 100644
--- a/theme/templates/base.html
+++ b/theme/templates/base.html
@@ -5,6 +5,7 @@
+ {% include "includes/favicon.html" %}
diff --git a/theme/templates/includes/favicon.html b/theme/templates/includes/favicon.html
new file mode 100644
index 0000000..05becf9
--- /dev/null
+++ b/theme/templates/includes/favicon.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/utils/favicon-from-svg.sh b/utils/favicon-from-svg.sh
new file mode 100755
index 0000000..8ff8fc8
--- /dev/null
+++ b/utils/favicon-from-svg.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+# Source: https://gessel.blackrosetech.com/2020/12/21/favicon-generation-script
+
+# this makes the output verbose
+set -ex
+
+# collect the file name you entered on the command line (file.svg)
+svg=$1
+
+# set the sizes to be generated (plus 310x150 for msft)
+size=(16 32 48 70 76 120 128 150 152 167 180 192 310 512)
+
+# set the write director as a favicon directory below current
+out="$(pwd)"
+out+="/favicon"
+mkdir -p $out
+
+echo Making bitmaps from your svg...
+
+for i in ${size[@]}; do
+inkscape -o "$out/favicon-$i.png" -w $i -h $i $svg
+done
+
+# Microsoft wide icon (annoying, probably going away)
+inkscape -o "$out/favicon-310x150.png" -w 310 -h 150 $svg
+
+echo Compressing...
+for f in $out/*.png; do pngquant -f --ext .png "$f" --posterize 4 --speed 1 ; done;
+
+echo Creating favicon
+
+convert $out/favicon-512.png -define icon:auto-resize=48,32,16 $out/favicon.ico
+
+echo Done
+