1 安装
1.1 下载主题
进入Hexo项目根文件夹下执行:
1 | git clone https://github.com/theme-next/hexo-theme-next themes/next |
1.2 修改配置
打开Hexo项目根文件夹下的_config.yml
文件,找到如下位置修改:
1 | theme: next |
2 优化
2.1 修改风格
Next共有4种主题风格:
可以在themes/next/_config.yml
中修改,将对应风格前的#
去掉即可:
1 |
|
2.2 修改菜单(Menu)
编辑themes/next/_config.yml
,找到menu
选项,将想要展示的选项前的#
去掉即可:
1 | # --------------------------------------------------------------- |
如果想要替换菜单中的文字,请进入themes/next/languages/
目录,找到你的博客对应的语言文件,以zh-CN
为例,则打开zh-CN.yml
文件,找到menu
,然后对相应的标签修改即可:
1 | menu: |
2.3 修改文章目录
编辑themes/next/_config.yml
,找到toc
部分:
number
: 日志列表是否自动编号,设置为false
,因为会与自己设置的编号冲突wrap
: 日志列表标题过长时是否换行显示,依据个人喜好设置expand_all
:是否展开所有目录层级,为了方便查看,设置为true
1 | # Table of Contents in the Sidebar |
2.4 修改文章底部标签样式
编辑themes/next/_config.yml
,修改如下部分:
1 | # Use icon instead of the symbol # to indicate the tag at the bottom of the post |
2.5 设置头像
编辑themes/next/_config.yml
,找到Sidebar Avatar
部分,修改如下:
1 | avatar: |
其中avatar.jpg
应放于博客的source\images
目录下,或者主题的themes\next\source\images
目录下。
2.6 添加动态背景
编辑themes/next/_config.yml
,找到Animation Settings
部分
默认配置中列出了4种动画:
- motion: 自带,用于设置加载动画,默认开启
- pace:没看出来什么效果
- three:三种3D背景动画
- canvas_ribbon:彩带背景,鼠标每次点击生成新的彩带
想要设置背景动画(后三种),只需要将其所在位置上方注释中Dependencies
指定的项目克隆到themes/next/source/lib/
,然后将对应的动画中enable
设置为true
即可。
以canvas_ribbon
为例:
1 | cd themes/next |
然后在themes/next/_config.yml
中将其开启:
1 |
|
但是默认配置中并没有下面这种很流行的Canvas-nest动画(虽然很吃GPU,但是就想要)
想要这种动画,我们可以自己来添加,只需要在相同的位置添加相应的配置,其配置如下:
1 | # Canvas-nest |
并克隆Dependencies
中的依赖文件:
1 | cd themes/next |
2.7 设置鼠标点击红心特效
在/themes/next/source/js/src
下新建clicklove.js
文件,填入以下内容:
1 | !function(e,t,a){function n(){c(".heart{width: 10px;height: 10px;position: fixed;background: #f00;transform: rotate(45deg);-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);}.heart:after,.heart:before{content: '';width: inherit;height: inherit;background: inherit;border-radius: 50%;-webkit-border-radius: 50%;-moz-border-radius: 50%;position: fixed;}.heart:after{top: -5px;}.heart:before{left: -5px;}"),o(),r()}function r(){for(var e=0;e<d.length;e++)d[e].alpha<=0?(t.body.removeChild(d[e].el),d.splice(e,1)):(d[e].y--,d[e].scale+=.004,d[e].alpha-=.013,d[e].el.style.cssText="left:"+d[e].x+"px;top:"+d[e].y+"px;opacity:"+d[e].alpha+";transform:scale("+d[e].scale+","+d[e].scale+") rotate(45deg);background:"+d[e].color+";z-index:99999");requestAnimationFrame(r)}function o(){var t="function"==typeof e.onclick&&e.onclick;e.onclick=function(e){t&&t(),i(e)}}function i(e){var a=t.createElement("div");a.className="heart",d.push({el:a,x:e.clientX-5,y:e.clientY-5,scale:1,alpha:1,color:s()}),t.body.appendChild(a)}function c(e){var a=t.createElement("style");a.type="text/css";try{a.appendChild(t.createTextNode(e))}catch(t){a.styleSheet.cssText=e}t.getElementsByTagName("head")[0].appendChild(a)}function s(){return"rgb("+~~(255*Math.random())+","+~~(255*Math.random())+","+~~(255*Math.random())+")"}var d=[];e.requestAnimationFrame=function(){return e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame||function(e){setTimeout(e,1e3/60)}}(),n()}(window,document); |
在\themes\next\layout\_layout.swig
的<head>
标签内引入该js文件:
1 | <head> |
2.8 修改代码块风格
打开themes/next/_config.yml
,找到highlight_theme
,并修改为上方注释里支持的风格。另外还可以添加复制按钮,以及设置Mac窗口样式。具体配置如下:
1 | codeblock: |
如果设置night
风格,会发现代码块颜色太亮,可以手动修改其样式。找到themes/next/source/css/main.styl
,在其尾部追加样式,覆盖掉原本的样式即可。
此处贴出我所添加的样式,当然其中还有一些别的样式设置,仅供参考:
1 | /*代码块相关样式*/ |
2.9 设置备案号
编辑themes/next/_config.yml
,找到footer
部分的beian
设置,修改如下:
1 | # Beian ICP and gongan information for Chinese users. See: https://beian.miit.gov.cn, http://www.beian.gov.cn |
只需要设置icp部分即可,剩下三项为公安备案。
此部分设置对应的模板代码在themes\next\layout\_partials\footer.swig
中: