diff --git a/art/favicon_package_v0.16.zip b/art/favicon_package_v0.16.zip
new file mode 100644
index 0000000..7a7ce81
Binary files /dev/null and b/art/favicon_package_v0.16.zip differ
diff --git a/src/site/html/android-chrome-192x192.png b/src/site/html/android-chrome-192x192.png
new file mode 100644
index 0000000..2dfa588
Binary files /dev/null and b/src/site/html/android-chrome-192x192.png differ
diff --git a/src/site/html/android-chrome-512x512.png b/src/site/html/android-chrome-512x512.png
new file mode 100644
index 0000000..96fa9f3
Binary files /dev/null and b/src/site/html/android-chrome-512x512.png differ
diff --git a/src/site/html/apple-touch-icon.png b/src/site/html/apple-touch-icon.png
new file mode 100644
index 0000000..e3f916c
Binary files /dev/null and b/src/site/html/apple-touch-icon.png differ
diff --git a/src/site/html/browserconfig.xml b/src/site/html/browserconfig.xml
new file mode 100644
index 0000000..5aecc91
--- /dev/null
+++ b/src/site/html/browserconfig.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+ #00aba9
+
+
+
diff --git a/src/site/html/favicon-16x16.png b/src/site/html/favicon-16x16.png
new file mode 100644
index 0000000..1548db3
Binary files /dev/null and b/src/site/html/favicon-16x16.png differ
diff --git a/src/site/html/favicon-32x32.png b/src/site/html/favicon-32x32.png
new file mode 100644
index 0000000..f878db5
Binary files /dev/null and b/src/site/html/favicon-32x32.png differ
diff --git a/src/site/html/favicon.ico b/src/site/html/favicon.ico
new file mode 100644
index 0000000..08b4e05
Binary files /dev/null and b/src/site/html/favicon.ico differ
diff --git a/src/site/html/mstile-150x150.png b/src/site/html/mstile-150x150.png
new file mode 100644
index 0000000..da7bff7
Binary files /dev/null and b/src/site/html/mstile-150x150.png differ
diff --git a/src/site/html/safari-pinned-tab.svg b/src/site/html/safari-pinned-tab.svg
new file mode 100644
index 0000000..693f4d9
--- /dev/null
+++ b/src/site/html/safari-pinned-tab.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/site/html/site.webmanifest b/src/site/html/site.webmanifest
new file mode 100644
index 0000000..b20abb7
--- /dev/null
+++ b/src/site/html/site.webmanifest
@@ -0,0 +1,19 @@
+{
+ "name": "",
+ "short_name": "",
+ "icons": [
+ {
+ "src": "/android-chrome-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png"
+ },
+ {
+ "src": "/android-chrome-512x512.png",
+ "sizes": "512x512",
+ "type": "image/png"
+ }
+ ],
+ "theme_color": "#ffffff",
+ "background_color": "#ffffff",
+ "display": "standalone"
+}
diff --git a/src/site/pug/blocked.pug b/src/site/pug/blocked.pug
index 11712a7..f51c7c5 100644
--- a/src/site/pug/blocked.pug
+++ b/src/site/pug/blocked.pug
@@ -7,10 +7,8 @@ include includes/error.pug
doctype html
html
head
- meta(charset="utf-8")
- meta(name="viewport" content="width=device-width, initial-scale=1")
title= `Blocked | Bibliogram`
- link(rel="stylesheet" type="text/css" href="/static/css/main.css")
+ include includes/head
body.error-page
+error(503, "Blocked by Instagram", true)
| Instagram is refusing to provide data to this server. Try again later to see if the block has been lifted.
diff --git a/src/site/pug/friendlyerror.pug b/src/site/pug/friendlyerror.pug
index 1e166ce..6e6dd31 100644
--- a/src/site/pug/friendlyerror.pug
+++ b/src/site/pug/friendlyerror.pug
@@ -7,10 +7,8 @@ include includes/error.pug
doctype html
html
head
- meta(charset="utf-8")
- meta(name="viewport" content="width=device-width, initial-scale=1")
title= `${title} | Bibliogram`
- link(rel="stylesheet" type="text/css" href="/static/css/main.css")
+ include includes/head
body.error-page
+error(statusCode, message, withInstancesLink)
if explanation
diff --git a/src/site/pug/home.pug b/src/site/pug/home.pug
index 8d37e50..c3788a5 100644
--- a/src/site/pug/home.pug
+++ b/src/site/pug/home.pug
@@ -3,10 +3,8 @@
doctype html
html
head
- meta(charset="utf-8")
- meta(name="viewport" content="width=device-width, initial-scale=1")
title Bibliogram
- link(rel="stylesheet" type="text/css" href="/static/css/main.css")
+ include includes/head
body.homepage
header
h1.banner
diff --git a/src/site/pug/includes/head.pug b/src/site/pug/includes/head.pug
new file mode 100644
index 0000000..7d90d93
--- /dev/null
+++ b/src/site/pug/includes/head.pug
@@ -0,0 +1,10 @@
+meta(charset="utf-8")
+link(rel="stylesheet" type="text/css" href="/static/css/main.css")
+meta(name="viewport" content="width=device-width, initial-scale=1")
+link(rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png")
+link(rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png")
+link(rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png")
+link(rel="manifest" href="/site.webmanifest")
+link(rel="mask-icon" href="/safari-pinned-tab.svg" color="#303030")
+meta(name="msapplication-TileColor" content="#00aba9")
+meta(name="theme-color" content="#ffffff")
diff --git a/src/site/pug/post.pug b/src/site/pug/post.pug
index 2cfd9e1..a4862ac 100644
--- a/src/site/pug/post.pug
+++ b/src/site/pug/post.pug
@@ -5,16 +5,13 @@ include includes/display_structured
doctype html
html
head
- meta(charset="utf-8")
- meta(name="viewport" content="width=device-width, initial-scale=1")
title
if post.getCaptionIntroduction()
=post.getCaptionIntroduction()
else
=`Post from @${post.getBasicOwner().username}`
=` | Bibliogram`
- link(rel="stylesheet" type="text/css" href="/static/css/main.css")
- script(src="/static/js/pagination.js" type="module")
+ include includes/head
body.post-page
main.post-page-divider
section.description-section
diff --git a/src/site/pug/user.pug b/src/site/pug/user.pug
index ada0602..5f0d0de 100644
--- a/src/site/pug/user.pug
+++ b/src/site/pug/user.pug
@@ -9,13 +9,11 @@ include includes/display_structured
doctype html
html
head
- meta(charset="utf-8")
- meta(name="viewport" content="width=device-width, initial-scale=1")
if user.data.full_name
title= `${user.data.full_name} (@${user.data.username}) | Bibliogram`
else
title= `@${user.data.username} | Bibliogram`
- link(rel="stylesheet" type="text/css" href="/static/css/main.css")
+ include includes/head
script(src="/static/js/pagination.js" type="module")
body
.main-divider