diff --git a/README.md b/README.md
index 73ebd9a..f52e5ca 100644
--- a/README.md
+++ b/README.md
@@ -1,28 +1,39 @@
curben.gitlab.io
-=====================
+================
![Build Status](https://gitlab.com/curben/curben.gitlab.io/badges/master/pipeline.svg)
----
Forked from GitLab's [example](https://gitlab.com/pages/hexo) with [Typing](https://github.com/geekplux/hexo-theme-typing) theme.
-
+## Installation
+to-do
+
+## Changes
+
+### Hexo
-Following changes have been made on Hexo:
- Update `.gitlab-ci.yml` to use the latest version of [Node.js](https://hub.docker.com/_/node/) in the Docker image.
- Update `package.json` to use latest version of [hexo](https://www.npmjs.com/package/hexo) and its related packages.
- Replace the bundled Landscape theme with Typing theme.
-
+### Typing theme
-Following changes have been made on Typing theme:
- Homepage shows index of posts.
- Remove header and footer display (except for `/about` page).
- Use the latest version of [jQuery](https://jquery.com/download/), [fancyBox](https://github.com/fancyapps/fancyBox/releases) and [Font Awesome](https://github.com/FortAwesome/Font-Awesome/releases)
- All js and css files are self-hosted.
- Remove analytic, comment system and donation links.
----
+## Favicon
+
+[RealFaviconGenerator](https://realfavicongenerator.net/) provides a web-based tool to generate favicons with wide compatibility.
+1. Upload your favicon (at least 260x260) and configure however you want.
+2. Install the generated package to [favicons](themes/typing/source/favicons/) folder.
+3. Edit [header.ejs](themes/typing/layout/_partial/head.ejs). Change the `color` values of `mask-icon` and `msapplication-TileColor` to the values you configured on the generator.
+4. Check for any error using `hexo generate --force` (you should do this before you push any commit anyway).
+5. `git commit` `push`.
+5. Check your favicon with the [favicon checker](https://realfavicongenerator.net/favicon_checker).
+
[ci]: https://about.gitlab.com/features/gitlab-ci-cd/
[hexo]: https://hexo.io/
diff --git a/themes/typing/layout/_partial/head.ejs b/themes/typing/layout/_partial/head.ejs
index 8f1976c..c48ae35 100644
--- a/themes/typing/layout/_partial/head.ejs
+++ b/themes/typing/layout/_partial/head.ejs
@@ -25,12 +25,22 @@
<% if (theme.rss){ %>
<% } %>
- <% if (theme.favicon){ %>
-
- <% } %>
+
+
+
+
+
+
+
+
+
+
+
+
+
<%- css('css/typing') %>
<% if (theme.icons){ %>
- <%- css('css/fontawesome.min.css') %>
- <%- css('css/brands.min.css') %>
+ <%- css('css/fontawesome.min.css') %>
+ <%- css('css/brands.min.css') %>
<% } %>
diff --git a/themes/typing/source/favicon.png b/themes/typing/source/favicon.png
deleted file mode 100644
index 755839a..0000000
Binary files a/themes/typing/source/favicon.png and /dev/null differ
diff --git a/themes/typing/source/favicons/android-chrome-192x192.png b/themes/typing/source/favicons/android-chrome-192x192.png
new file mode 100644
index 0000000..81dd3de
Binary files /dev/null and b/themes/typing/source/favicons/android-chrome-192x192.png differ
diff --git a/themes/typing/source/favicons/android-chrome-256x256.png b/themes/typing/source/favicons/android-chrome-256x256.png
new file mode 100644
index 0000000..495e6fe
Binary files /dev/null and b/themes/typing/source/favicons/android-chrome-256x256.png differ
diff --git a/themes/typing/source/favicons/apple-touch-icon-120x120.png b/themes/typing/source/favicons/apple-touch-icon-120x120.png
new file mode 100644
index 0000000..3da73e9
Binary files /dev/null and b/themes/typing/source/favicons/apple-touch-icon-120x120.png differ
diff --git a/themes/typing/source/favicons/apple-touch-icon-152x152.png b/themes/typing/source/favicons/apple-touch-icon-152x152.png
new file mode 100644
index 0000000..7039e31
Binary files /dev/null and b/themes/typing/source/favicons/apple-touch-icon-152x152.png differ
diff --git a/themes/typing/source/favicons/apple-touch-icon-180x180.png b/themes/typing/source/favicons/apple-touch-icon-180x180.png
new file mode 100644
index 0000000..b9d4349
Binary files /dev/null and b/themes/typing/source/favicons/apple-touch-icon-180x180.png differ
diff --git a/themes/typing/source/favicons/apple-touch-icon-60x60.png b/themes/typing/source/favicons/apple-touch-icon-60x60.png
new file mode 100644
index 0000000..85935f3
Binary files /dev/null and b/themes/typing/source/favicons/apple-touch-icon-60x60.png differ
diff --git a/themes/typing/source/favicons/apple-touch-icon-76x76.png b/themes/typing/source/favicons/apple-touch-icon-76x76.png
new file mode 100644
index 0000000..f522469
Binary files /dev/null and b/themes/typing/source/favicons/apple-touch-icon-76x76.png differ
diff --git a/themes/typing/source/favicons/apple-touch-icon.png b/themes/typing/source/favicons/apple-touch-icon.png
new file mode 100644
index 0000000..b9d4349
Binary files /dev/null and b/themes/typing/source/favicons/apple-touch-icon.png differ
diff --git a/themes/typing/source/favicons/browserconfig.xml b/themes/typing/source/favicons/browserconfig.xml
new file mode 100644
index 0000000..0f7880d
--- /dev/null
+++ b/themes/typing/source/favicons/browserconfig.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+ #603cba
+
+
+
diff --git a/themes/typing/source/favicons/favicon-16x16.png b/themes/typing/source/favicons/favicon-16x16.png
new file mode 100644
index 0000000..298677a
Binary files /dev/null and b/themes/typing/source/favicons/favicon-16x16.png differ
diff --git a/themes/typing/source/favicons/favicon-32x32.png b/themes/typing/source/favicons/favicon-32x32.png
new file mode 100644
index 0000000..02a7ed8
Binary files /dev/null and b/themes/typing/source/favicons/favicon-32x32.png differ
diff --git a/themes/typing/source/favicons/favicon.ico b/themes/typing/source/favicons/favicon.ico
new file mode 100644
index 0000000..4c4fb51
Binary files /dev/null and b/themes/typing/source/favicons/favicon.ico differ
diff --git a/themes/typing/source/favicons/mstile-150x150.png b/themes/typing/source/favicons/mstile-150x150.png
new file mode 100644
index 0000000..56c880b
Binary files /dev/null and b/themes/typing/source/favicons/mstile-150x150.png differ
diff --git a/themes/typing/source/favicons/safari-pinned-tab.svg b/themes/typing/source/favicons/safari-pinned-tab.svg
new file mode 100644
index 0000000..6181926
--- /dev/null
+++ b/themes/typing/source/favicons/safari-pinned-tab.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/themes/typing/source/favicons/site.webmanifest b/themes/typing/source/favicons/site.webmanifest
new file mode 100644
index 0000000..e48d6e3
--- /dev/null
+++ b/themes/typing/source/favicons/site.webmanifest
@@ -0,0 +1,19 @@
+{
+ "name": "curben's blog",
+ "short_name": "curben's blog",
+ "icons": [
+ {
+ "src": "/favicons/android-chrome-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png"
+ },
+ {
+ "src": "/favicons/android-chrome-256x256.png",
+ "sizes": "256x256",
+ "type": "image/png"
+ }
+ ],
+ "theme_color": "#ffffff",
+ "background_color": "#ffffff",
+ "display": "standalone"
+}