hexo配置next主题
next主页
https://github.com/theme-next/hexo-theme-next
下载安装
1 | cd hexo/themes |
修改hexo项目根目录下的_config.yml文件
1 | # theme: landscape |
命令行执行
1 | D:\myblog>hexo s |
配置标签和分类
生成标签页
1
hexo new page tags
打开目录 myblog->source->tage 下的index.md
在title下面添加属性
1
type: tags
生成分类页
1
hexo new page categories
打开目录 myblog->source->categories下的index.md
在title下面添加属性
1
type: categories
配置
在next主题的配置文件 _config.yml 中修改
1
2
3
4
5
6
7
8
9menu:
home: / || fa fa-home
#about: /about/ || fa fa-user
tags: /tags/ || fa fa-tags
categories: /categories/ || fa fa-th
archives: /archives/ || fa fa-archive
# schedule: /schedule/ || fa fa-calendar
# sitemap: /sitemap.xml || fa fa-sitemap
#commonweal: /404/ || fa fa-heartbeat预览效果
配置本地搜索
- 在站点目录执行:
1 | npm install hexo-generator-search --save |
- 站点配置文件:没有就添加节点
1 | # Search |
- next 主题配置文件
1 | # Local Search |
- 效果
配置评论
valine
进入 https://www.leancloud.cn/ 网站注册一个账号(建议选国际版的开发版)
然后通过邮箱与手机验证
再创建一个应用(应用名称随便填写)
进入应用实例的控制界面配置下博客域名
然后在点击
应用keys
打开next的配置修改配置
1 | valine: |
填写相应的 appid 和 appkey
重新发布预览
changyan
为什么上边 有 valine 评论了 这里还要写 changyan 评论系统呢?因为我爱学习?才不是嘞。
我电脑重置了,但有一天要写点东西记录下。又来折腾 hexo 了。一套环境安装一通后发现 valine 评论不能用了。后来找到 next 官方说明
于是就来搞 changyan 了。那为什么 是 changyan 而不是其它评论系统呢?因为其它的 大部分要翻墙,麻烦。changyan 好歹也是国内大厂做的,因该没那么容易被搞吧。哎!
拉回正轨
第一步:
https://changyan.kuaizhan.com/guide/index 官网注册下。
按照提示 填写信息
这里获取配置信息 appid 与 conf
找到 next 主题的配置文件。设置评论系统为 changyan
把前面获取的 appid 和 conf 填写在这里。 对应 appid 和 appkey
并打开开关 enable true
本地 运行 hexo 预览,就可以看到评论系统了
配置文章访问统计
在前面配置评论的基础上登录LeanCloud
选择应用实例后->存储->结构化数据->创建class
class 名填写 Counter
打开next主题的配置文件 找到 leancloud_visitors 节点
把enable 设置成true .
appid 和 appkey 参照前面的 配置评论。填写LeanCloud里的 id 和 key 。
效果:
过了很多天 更新:
访问统计数全部为 0 了
创建函数-选择 hook
1 | var query = new AV.Query("Counter"); |
部署到生产环境:
在 next 主题配置文件中 把 security 设置成 true:
1 | leancloud_visitors: |
在站点目录安装插件:
1 | npm install hexo-leancloud-counter-security --save |
hexo 站点配置文件:
1 | leancloud_counter_security: |
复制 id
编辑 counter 的权限
依然没有效果!!!!!
最后通过调试代码发现。
1 | function leancloudSelector(url) { |
在渲染访问量的时候,会通过 encodeURI(url) 进行转码。中文的 url 。这里转过之后就变成 unicode 码了。实际上 节点里的 浏览器已经自动变成中文了。所以这里匹配不到,也就会提示 querySelector 为 null。那么就没办法赋值。 把这段转码的代码 找到后注释掉就可以了。
代码位置在:
1 | D:\myblog\themes\next\layout\_third-party\statistics\lean-analytics.swig: |
配置打赏
1 | reward: |
找到reward 节点 配置上对应的支付二维码的图片即可
配置首页文章显示摘要
很多博客说是这样配置:(自动生成一定长度的摘要)
1 | # Automatically Excerpt (Not recommend). |
找到auto_excerpt节点(没有就自己加上) 把 enable 设置成true 。 length表示文章摘要的长度。
但是!!! 我配置的没有效果
后来在其它的博客中说到得在文章中手动截取摘要就是在 文章中写上more标记
这中方式成功了!!!!
效果:
配置分享
- add_this 分享
1 | # AddThis Share. See: https://www.addthis.com |
打开 https://www.addthis.com 进行注册
第一步:注册完后会有个界面让你选择工具类型 Select a Tool
这里我选择的是分享按钮
第二部:接下来会引导你配置(英文的没有关系,可用谷歌浏览器右键翻译网页)
- 配置分享到哪些第三方
- 配置分享按钮的颜色
- 配置分享按钮的位置
- 配置哪些页面显示,哪些页面不显示
- 6 切换电脑端和手机端预览效果
第三步:上面配置好后会到这里
点击代码试图。看到下面的安装代码。可以看到代码中的 pubid
这个id 也可以在这里看到。
然后把 自己的 id 填写到 上面的配置文件的 add_this_id 后面。
hexo 重新生成并部署博客。(本地 localhost:4000 是看不到效果的)
我的gitee 博客效果如下:
参考:
http://tding.top/archives/7696c13f.html
配置浏览进度
在主题配置文件中搜索 scrollpercent
把 scrollpercent 的值改成 true
给文章配置加密访问
方法一
找到next主题下的文件head.swig:
next\layout_partials\head\head.swig
加入 script 代码保存
1 | <meta name="generator" content="Hexo {{ hexo_version }}"> |
然后在typora 中的文章头部添加
password: yourpassword
保存后发布服务。再次访问该文章有
缺点:界面不好看。本地效果正常,发布到gitee 后无效。
方法二
进入 hexo 根目录
执行:
1 | npm install --save hexo-blog-encrypt |
在hexo 配置文件中加入:encrypt
1 | theme: next |
文章头部添加:
1 | password: pwd |
访问文章提示:
配置验证
百度网站验证
访问地址:https://ziyuan.baidu.com/site(没有百度账号就注册一个)
填写自己的网站地址 点击下一步
选择三个标签 点击下一步
这里我选择的是 验证
把域名添加一条解析
点击百度页面的 完成验证:
失败了。我点了重新认证
what??? 要一天!!!
过了半小时 刷新页面 发现ok了.用了两天发现我通过域名访问很卡不好用,怀疑可能是这里的问题。就把百度的解析删除键了。用了下面的 htm 标签认证的方式。
Bing网站验证
网站地图
安装插件
1
2
3npm install hexo-generator-sitemap --save
或
npm install hexo-generator-baidu-sitemap --save配置站点地图开启 sitemap
1
2
3
4
5
6
7
8
9menu:
home: / || fa fa-home
#about: /about/ || fa fa-user
tags: /tags/ || fa fa-tags
categories: /categories/ || fa fa-th
archives: /archives/ || fa fa-archive
# schedule: /schedule/ || fa fa-calendar
sitemap: /sitemap.xml || fa fa-sitemap
#commonweal: /404/ || fa fa-heartbeatpublic 文件下会生成 sitemap 文件
效果预览:
博客图片点击放大
在主题配置文件中找到:fancybox 并设置成 true 重新发布即可
1 | # FancyBox is a tool that offers a nice and elegant way to add zooming functionality for images. |
如果想要自定义 第三方 依赖的版本 请参考官方文档:
http://theme-next.iissnan.com/advanced-settings.html
配置文字统计和阅读时长
安装插件:
1 | npm install hexo-symbols-count-time |
hexo 站点配置文件
没有就添加:
1 | #配置文章字数统计和时长 |
next 主题配置文件找到该节点 默认的可以不用改
1 | # Post wordcount display settings |
都改好后 保存
执行 hexo clean 一定要 clean
再 hexo g hexo s
效果如下:
参考:
参考:next 官方文档