本篇文章主要介绍基于NexT主题的一些第三方功能的实现。
基本功能的设置可以参考 Next官网文档
首先,我们需要明白:
在 Hexo 中有两份主要的配置文件,其名称都是 _config.yml
。其中,一份位于站点根目录下,主要包含 Hexo 本身的配置;另一份位于主题目录下,这份配置由主题作者提供,主要用于配置主题相关的选项。
我们约定,将前者称为 站点配置文件 ,后者称为 主题配置文件 。
背景
动态背景(最新版本中以内置)
修改 _layout.swig
模板
模板位置:themes\next\layout\_layout.swig
在末尾前加上下面一句:(这里提供两种样式,当然你也可以自由更改)
然后在 themes\source\js\src\
下新建文件 particle.js
写上以下代码:
鼠标点击小红心
在 \themes\next\source\js\src
文件目录下添加 love.js
文件。内容为:
找到 \themes\next\layout\_layout.swing
文件, 在文件的后面, 标签之前 添加以下代码:
头像圆形旋转
修改文件 themes/next/source/css/_common/components/sidebar/sidebar-author.styl
我的样式文件
文章结尾模板
在 \themes\next\_macro
文件目录下添加 passage-end-tag.swig
文件,内容为:(当然你也可以修改为自己喜欢的样式)
找到 \themes\next\_macro\post.swig
文件,使用查找功能找到 reward.swig
,在这一个 <div>
的前面添加:
文章底部标签云锚点
在 themes\next\layout\_macro\post.swig
文件中找到以下代码:
关于文章内文本样式
Markdown 毕竟是为了方便写作,在样式上就过于单调。我们自己来给文章加一些样式。。
Next 作者提供了一个供用户自己定义样式的文件:\themes\next\source\css\_custom\custom.stl
自己按需要写
在上述文件中写上自己的 class 类,然后在 Markdown 文档中使用。
我的custom.styl
引用前端框架
目前流行的前端框架,像 bootstrap、React、Angular 等,提供给我们很好的前端方案,我们可以把喜欢的引入到上面说的那个文件里,然后就可以使用了。
设置动态title
1、在 \themes\next\source\js\src
目录下新建 dytitle.js
。添加以下内容:
2、更改 \themes\next\layout\_layout.swig
。在 </body> 之前添加:
首页动画
在 主题配置文件 中,找到 Motion 字段。true 和 false 控制动画的开启与关闭。
内容宽度
现在一般的笔记本都在15寸以上,博客页面两侧留白太多就显得没有必要,并且不美观,所以有必要调整一下宽度。(可以慢慢试着调整到最合适的状态)
1、找到 \themes\next\source\css\_common\components\post\post-expand.styl
,找到:
2、找到:\themes\next\source\css\ _variables\base.styl
,找到:
3、找到 \themes\next\source\css\_schemes\Pisces\_layout.styl
,将第 4 行的 width 改为 1060px ,修改后如下:
统计功能
文章阅读次数统计
参考: LeanCloud
不蒜子统计站点访问
1、全局配置:
编辑 主题配置文件 中的 busuanzi_count
的配置项,配置以下内容:
当 enable: true 时,代表开启全局开关。若 site_uv、site_pv、page_pv 的值均为 false 时,不蒜子仅作记录而不会在页面上显示。
2、站点 UV/PV 配置:
当 site_uv: true 时,代表在页面底部显示站点的 UV 值。
当 site_pv: true 时,代表在页面底部显示站点的 PV 值
site_uv_header(site_pv_header) 和 site_uv_footer(site_pv_footer) 为自定义样式配置,相关的值留空时将不显示,可以使用(带特效的)font-awesome。显示效果为 [site_uv_header]UV值/PV值[site_uv_footer]。
3、单页面 PV 值设置:
开启打赏功能
越来越多的平台(微信公众平台,新浪微博,简书等)支持打赏功能,付费阅读时代越来越近,特此增加了打赏功能。 只需要 主题配置文件 中填入 微信 和 支付宝 收款二维码图片地址(放在博客根目录的source文件夹下即可) 即可开启该功能。
设置RSS
1、需要安装 hexo-generator-feed 插件。
2、在 站点配置文件 中添加字段:
听音乐
1、下载js文件:high.swig。放在 \themes\next\layout\_macro
目录下。
2、在侧边栏引用该文件:修改 \themes\next\layout\_macro\sidebar.swig
,添加以下代码:
3、样式修改:使 听音乐 和 RSS 并排展示,修改 \themes\next\source\css\_schemes\Pisces\_sidebar.styl
4、添加自己喜欢的音乐:修改其中的歌曲链接即可(获取歌曲外链教程)
5、首页听音乐摇晃:需要加载css样式。在 themes\next\layout\_layout.swig
文件的 body标签结束前 添加以下代码:
注意: 有时候使用 Firefox 、Chrome时会提示非法插件并禁止使用,遇到这种情况我们把样式代码引入到 \themes\next\source\css\_custom\custom.stl
文件即可解决。
添加 Forkme on GitHub 丝带
首先进入 GitHub Ribbons 选择自己喜欢的丝带样式。
找到 \themes\next\layout\_layout.swig
文件,在 <header>
标签前面添加:(记得把链接修改成自己的GitHub主页)
给 Blog 添加 LICENSE
修改 主题配置文件 (使用查找功能)
Local Search
1、安装 hexo-generator-searchdb
2、编辑 站点配置文件 ,添加以下字段:
3、编辑 主题配置文件 ,启用本地搜索
多说(官方以停用)
多说评论
使用多说前需要先在 多说 创建一个站点。具体步骤如下:
1、登录后在首页选择“我要安装”。
2、创建站点,填写站点相关信息。多说域名 这一栏填写的就是你的 duoshuo_shortname
,
3、创建站点完成后在 站点配置文件 中新增 duoshuo_shortname
字段,值设置成上一步中的值即可。
多说评论框自定义 : 我的样式代码
多说分享
在 主题配置文件 中设置:
禁用鼠标经过时分享更多功能(有bug):
找到 \themes\next\layout\_partials\share\duoshuo_share.swig
文件,替换内容为:
博文压缩
目前知道的有两个插件可以压缩博文,hexo-all-minifier
插件和 gulp
插件。
hexo-all-minifier 虽然使用比较简单,而且也可以压缩图片,但是对文章缩进(输入法全拼模式下按 Tab)不支持,所以暂时使用 gulp 压缩手段。
hexo-all-minifier 使用方法
安装 hexo-all-minifier,在站点的根目录下执行以下命令:
hexo g
编译的时候就会自动压缩 HTML、JS、图片。详情参考插件介绍 hexo-all-minifier
glup 使用方法
hexo 依赖 gulp 插件安装,在站点的根目录下执行以下命令:
在 package.json
同级目录下,新建 gulpfile.js
并填入以下内容:
生成博文是执行 hexo g && gulp
就会根据 gulpfile.js 中的配置,对 public 目录中的静态资源文件进行压缩。
博文置顶
1、修改 hexo-generator-index
插件。
替换文件:node_modules/hexo-generator-index/lib/generator.js 为:generator.js
2、设置文章置顶
在文章 Front-matter 中添加 top 值,数值越大文章越靠前,如:
博文部署 message
在 \node_modules\hexo-deployer-git\lib\deployer.js
文件末尾找到这一句:(记得个性一点)
图片模式
新建博文,设置 type: "picture"
,使用 {\% gp x-x \%} ... {\% endgp \%}
标签引用要展示的图片地址,如下所示:(其中的 x-x 为图片展示效果,可以自己尝试一下)