Fork me on GitHub

加速 Hexo 博客

利用 InstantClick、hexo-service-worker、hexo-filter-optimize 让博客快如闪电 zap

先体验:https://yixiuer.me/ ,然后操作 dolphin ~

根据读者们反馈,使用后可能会有各种问题,如自己难以解决,请暂时先勿使用!

InstantClick
介绍请看官网:http://instantclick.io/ ,先下载压缩版的 instantclick.min.js(浏览器右键保存为),再放到~/blog/themes/next/source/js/src/下,然后添加代码:

文件位置:~/blog/themes/next/layout/_layout.swig




  • 去除顶部加载条:

文件位置:~/blog/themes/next/source/css/_custom/custom.styl

#instantclick {
display: none;
}
可能会有一些问题,比如与 FancyBox、Google Analytics 等等的兼容问题,解决方法自行查看文档或 Google。

Hexo 插件
主要利用两个插件:

hexo-service-worker
hexo-filter-optimize
先在站点文件夹根目录安装:

所在目录:~/blog/
npm install hexo-service-worker hexo-filter-optimize –save
然后在站点配置文件中配置:

文件位置:~/blog/_config.yml

offline config passed to sw-precache.

service_worker:
maximumFileSizeToCacheInBytes: 5242880
staticFileGlobs:

  • public/*/.{js,html,css,png,jpg,gif,svg,eot,ttf,woff,woff2}
    stripPrefix: public
    verbose: true

filter_optimize:
enable: true

remove static resource query string

- like ?v=1.0.0

remove_query_string: true

remove the surrounding comments in each of the bundled files

remove_comments: true
css:
enable: true

# bundle loaded css file into the one
bundle: true
# use a script block to load css elements dynamically
delivery: true
# make specific css content inline into the html page
#   - only support the full path
#   - default is ['css/main.css']
inlines:
excludes:

js:

# bundle loaded js file into the one
bundle: true
excludes:

set the priority of this plugin,

lower means it will be executed first, default is 10

priority: 12