hexo主题升级
- 下载最新next 6.0.4, —> 参见11,使用模块管理主题
备份_config.yml,同时对配置进行修改,相关图片位于next/source/images
1
2
3
4cd themes/next
git clone https://github.com/theme-next/theme-next-fancybox3 source/lib/fancybox
git clone https://github.com/theme-next/theme-next-pace source/lib/pace
git clone https://github.com/theme-next/theme-next-algolia-instant-search source/lib/algolia-instant-search其他插件
增加阅读进度
1
git clone https://github.com/theme-next/theme-next-reading-progress source/lib/reading_progress
填补字符间空白
1
git clone https://github.com/theme-next/theme-next-pangu.git source/lib/pangu
页面增加3D渲染,next默认提供两种渲染效果,theme-next-three和canvas_nest
1
2
3cd themes/next
git clone https://github.com/theme-next/theme-next-three source/lib/three
git clone https://github.com/theme-next/theme-next-canvas-nest source/lib/canvas-nest启用以下任意项:
1
three_waves: true
1
canvas_lines: true
1
canvas_sphere: true
1
canvas_nest: true
添加访问人数(6.0已原生支持busuanzi,启用即可)
打开
\themes\next\layout\_partials\footer.swig
文件,在copyright前加上画红线这句话1
<script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
然后再合适的位置添加显示统计的代码,如图:
1
2
3
4
5<div class="powered-by">
<i class="fa fa-user-md"></i><span id="busuanzi_container_site_uv">
本站访客数:<span id="busuanzi_value_site_uv"></span>
</span>
</div>- pv的方式,单个用户连续点击n篇文章,记录n次访问量
- uv的方式,单个用户连续点击n篇文章,只记录1次访客数
每篇文章末尾统一添加“本文结束”标记
实现方法
在路径
\themes\next\layout\_macro
中新建passage-end-tag.swig
文件,并添加以下内容:1
2
3
4
5<div>
{% if not is_index %}
<div style="text-align:center;color: #ccc;font-size:15px;">--------------都看到这了,请我喝杯咖啡吧!<i class="fa fa-coffee"></i>--------------</div>
{% endif %}
</div>接着打开
\themes\next\layout\_macro\post.swig
文件,在`` 之后,<footer class="post-footer">
之前添加1
2
3
4
5<div>
{% if not is_index %}
{% include 'passage-end-tag.swig' %}
{% endif %}
</div>打开主题配置文件,文章末尾添加标记(不用设置)
1
2passage_end_tag:
enabled: true增加评论系统
gitment
主题配置
1
2
3
4
5
6
7
8
9
10gitment:
enable: true
mint: true # RECOMMEND, A mint on Gitment, to support count, language and proxy_gateway
count: true # Show comments count in post meta area
lazy: false # Comments lazy loading with a button
cleanly: false # Hide 'Powered by ...' on footer, and more
github_user: silloy # MUST HAVE, Your Github Username
github_repo: repo # MUST HAVE, The name of the repo you use to store Gitment comments
client_id: xxx # MUST HAVE, Github client id for the Gitment
client_secret: xxx问题:
Error:validation failed
修改 next/layout/_third-party/comments/gitment.swig中
id: window.location.pathname
为1
id: '{{ page.date }}'
valine
文章底部增加版权信息
修改文章底部的那个带#号的标签
修改模板/themes/next/layout/_macro/post.swig
,搜索 rel="tag">#
,将 # 换成<i class="fa fa-tag"></i>
- 修改打赏字体不闪动,next 7.0 已支持配置
修改文件next/source/css/_common/components/post/post-reward.styl
, 注释wechat:hover
和alipay:hover
, 如下:
1 | /* 注释文字闪动函数 |
模块化主题管理(以next主题为例)
备份next主题
mv next next-bak
,提交代码增加子模块
git submodule add git@github.com:silloy/hexo-theme-next.git themes/next
查看状态
git status
1
2
3
4
5Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: .gitmodules
new file: themes/next提交
1
2
3
4
5git commit -m "add next module"
[hexo adbe36e] add next module
3 files changed, 19 insertions(+), 1 deletion(-)
create mode 100644 .gitmodules
create mode 160000 themes/next更新子模块
git submodule update --remote
拉取含子模块的项目,git clone 后执行以下操作
git submodule init
初始化本地配置文件git submodule update
从该项目中抓取所有数据并检出父项目中列出的合适的提交也可在 clone 使用
git clone --recursive
命令, git 就会自动初始化并更新仓库中的每一个子模块.若子分支仓库中有未同步的更新, 可通过
git submodule update --remote --rebase
来同步最新的内容
同步源主题的修改
增加源
1
2cd theme/next
git remote add source git@github.com:theme-next/hexo-theme-next.git拉取更新
1
git pull source master
等同于
1
2
3git fetch source master
git checkout master
git merge source/master
发布子模块的修改
- 使用
git push --recurse-submodules=check
命令 检查没有推送的子模块 - 使用
git push --recurse-submodules=on-demand
git 会自动尝试推送变更的子项目
- 使用
参考文章: