本页的主要内容均转自其它博客,并结合个人经验进行了优化,仅供记录之用
设置子模块
将主题添加为子模块
设置子模块是 git 实现的,作用是将子模块从主体中分离以分别控制。
{note warning::开始前需要确认不存在 themes/volantis 文件夹,如果有则需要删除}
1 | git submodule add git@github.com:volantis-x/hexo-theme-volantis.git themes/volantis |
1 | git submodule add https://github.com/volantis-x/hexo-theme-volantis.git themes/volantis |
多人协同
默认的作者信息在主题配置文件中设置:
1 | # 文章布局 |
Volantis 支持多个作者在一个站点发布文章,其他作者信息需要写在数据文件中,例如:
1 | Jon: |
在文章的 front-matter 中添加 author
项的内容即可:
1 | --- |
网站提速
加载速度
- 减少不必要的 js 插件,例如字数统计、动态背景。
- 查找并解决拖慢速度的资源,以 Chrome 浏览器为例:
- 页面中点击右键,选择
检查
; - 在弹出的窗口中选择
Network
选项卡,并勾选Disable cache
; - 刷新页面,查看加载速度慢的资源:
- 加载缓慢的图片,建议使用 CDN ;
- 加载缓慢且可以不用的 js 插件,建议舍弃;
- 加载缓慢但必须使用的 js 插件,建议下载并上传至 jsdelivr 。
- 页面中点击右键,选择
运行速度
- 动态访问特效背景(如雪花、粒子等)会占用资源,进而降低运行速度。
优化 SEO
Robots
1 | seo: |
在 front-matter 中,可以设置 keywords
、description
、robots
和 seo_title
。其中 seo_title
仅仅用作网页标题,优先级高于 title
。
文章内部不要使用 H1 标题。
通过死链检测工具检查并删除无法访问的链接。
安装 SEO 优化插件:
页面不要堆砌关键词,不要频繁更改路径。
Open Graph
1 | # https://ogp.me/ |
Structured Data
1 | # SEO 入门文档: https://developers.google.com/search/docs |
使用 CDN
对于大部分将博客 deploy 到 GitHub 的用户来说,直接加载本地资源速度比较慢,可以使用 jsdelivr 为开源项目提供的 CDN 服务。
开启方法
1 | # 本地静态文件使用jsdelivr的min版本加速 https://www.jsdelivr.com/features |
如果需要对样式进行 DIY,可以只关闭 style 文件的 CDN
从V5版本开始,首屏样式采用硬编码的方式写在HTML中。首屏样式内含 cover navbar search 的样式,其他样式放入/css/style.css异步加载。
如果需要对样式进行 DIY,请注意首屏渲染和异步延迟加载的差异
可以对 style.css 使用 HTTP/2 Server Push,但是此方案并不推荐。Volantis team
已经对style.css进行了preload处理,推荐使用对服务器压力成本较小的 CDN 服务
自定义 CDN
如果能够把对应的文件上传到自己的 CDN 服务器,可以把对应的链接改为自己的 CDN 链接。
使用 Terser 压缩 ES6
安装压缩工具
1 | npm install -g gulp |
gulp 配置文件
在博客根目录下新建gulpfile.js
文件,并粘贴以下内容:
gulp 配置文件
1 | var gulp = require('gulp'); |
运行压缩
在使用hexo generate
或hexo g
等命令生成静态文件后使用命令gulp
以运行压缩。
问题
在安装gulp-minify-css
时终端有提示推荐安装gulp-clean-css
,原因不明,但似乎不影响gulp
的使用。
安装 Service Worker 服务
可以选择以下两个方案之一
安装插件
安装 hexo-offline-popup 或者 hexo-offline 插件,初次加载速度不变,后期切换页面和刷新网页速度越来越快。
使用 workbox 自定义配置
1 | # 全局导入 |
1 | importScripts('https://cdn.jsdelivr.net/npm/workbox-cdn@5.1.3/workbox/workbox-sw.js'); |
如果使用此方案,修改静态文件后发布网页一定要修改缓存版本号
安装“相关文章”插件
安装插件
1
npm i -S hexo-related-popular-posts
插件的自定义配置方法:
如果使用了头图,可以在站点配置文件中添加以下设置来让相关文章显示正确的文章头图:
1 | blog/_config.ymlCOPYpopularPosts: |
**注意**
需要升级到 5.0.1 及以上版本才可以支持自定义头图
分析与统计
数据统计
PV 和 UV
默认支持 不蒜子 的访问统计和 leancloud 统计,在配置文件中设置。
字数和阅读时长
1 | npm i --save hexo-wordcount |
1 | plugins: |
1 | # 文章布局 |
数据分析
百度统计
1 | baidu_analytics_key: 百度统计的key |
Google Analytics
1 | google_analytics_key: Google Analytics Key |
腾讯前端性能监控
1 | tencent_aegis_id: 上报 id |
CNZZ 统计
具体内容请参考 ZYMIN 的这篇教程:hexo+ejs+material x 添加CNZZ统计代码
更多进阶内容
详见 @TRHX 的这篇博客:
内含卡片半透明、增加卡通人物、自定义鼠标样式、鼠标特效、烟花特效、彩色滚动字体、网站运行时间、动态浏览器标题、雪花飘落特效等多种详细教程。