diff --git a/_config.yml b/_config.yml
index 6d64282ad6..8b84f42045 100644
--- a/_config.yml
+++ b/_config.yml
@@ -93,6 +93,37 @@ markdown:
smartLists: true
smartypants: true
+# Offline
+## Config passed to sw-precache
+## https://github.com/JLHwung/hexo-offline
+offline:
+ maximumFileSizeToCacheInBytes: 10485760
+ staticFileGlobs:
+ - public/**/*.{js,html,css,png,jpg,gif,svg,eot,ttf,woff,json,xml}
+ stripPrefix: public
+ verbose: true
+ runtimeCaching:
+ - urlPattern: /*
+ handler: cacheFirst
+ options:
+ origin: sendgrid.sp1.convertro.com
+ - urlPattern: /*
+ handler: cacheFirst
+ options:
+ origin: ad.doubleclick.net
+ - urlPattern: /*
+ handler: cacheFirst
+ options:
+ origin: cdn.jsdelivr.net
+ - urlPattern: /*
+ handler: cacheFirst
+ options:
+ origin: fonts.googleapis.com
+ - urlPattern: /*
+ handler: cacheFirst
+ options:
+ origin: fonts.gstatic.com
+
# Deployment
## Docs: http://zespia.tw/hexo/docs/deployment.html
deploy:
diff --git a/package.json b/package.json
index be1d5d5748..e0ea9e59b1 100644
--- a/package.json
+++ b/package.json
@@ -14,6 +14,7 @@
"hexo-generator-feed": "^1.1.0",
"hexo-generator-index": "^0.2.0",
"hexo-generator-tag": "^0.2.0",
+ "hexo-offline": "^0.2.0",
"hexo-renderer-ejs": "^0.2.0",
"hexo-renderer-marked": "^0.2.10",
"hexo-renderer-stylus": "^0.3.1",
diff --git a/src/menu/index.md b/src/menu/index.md
new file mode 100644
index 0000000000..638e751794
--- /dev/null
+++ b/src/menu/index.md
@@ -0,0 +1,3 @@
+---
+type: menu
+---
diff --git a/themes/vue/layout/layout.ejs b/themes/vue/layout/layout.ejs
index bdb3ef70b7..e950ff027e 100644
--- a/themes/vue/layout/layout.ejs
+++ b/themes/vue/layout/layout.ejs
@@ -17,8 +17,28 @@
+ ">
+ ">
+ ">
+ ">
+ ">
+ ">
+ ">
+ ">
+ ">
+ ">
+ ">
+ ">
+ ">
+
" type="image/png">
+
+
+
+
+
+
@@ -70,7 +90,8 @@