个人博客搭建一些自定义设置,基于hexo + next +github pages
数据文件
自从 NexT-7.3.0 开始,官方推荐采用数据文件将配置与主题分离,这样我们可以在不修改主题源码的同时完成选项配置、自定义布局、自定义样式,便于后续 NexT 版本更新。
next.yml
我们可以将所有主题配置放在一个位置(hexo/source/_data/next.yml)
具体步骤:
- 在
hexo/source/_data
目录中创建next.yml
(如果_data
不存在,则创建目录)。 - 在
next.yml
设置override
选项为 true。 - 将所有 NexT 主题选项从主题配置文件复制到
hexo/source/_data/next.yml
中。
styles.styl
我们只需要把原来的 hexo/next/source/css/_custom/_custom.styl
中的全部自定义样式放到 hexo/source/_data/styles.styl
即可。
然后在 NexT 的配置文件 next.yml
中取消 styles.styl
的注释:
1 | custom_file_path: |
variables.styl
在自定义样式文件 variables.styl
中添加:
1 | // 圆角设置 |
然后在 NexT 的配置文件 next.yml
中取消 variables.styl
的注释:
1 | custom_file_path: |
在文章底部增加版权信息
编辑 主题配置文件,修改如下配置:
1 | copycreative_commons: |
删除侧边栏目录下划线
找到对应的a标签
1 | // 修改链接样式 |
顶部阅读进度条
主题配置文件 next.yml
中修改 reading_progress
选项。
1 | reading_progress: |
. 在每篇文章末尾统一添加“本文结束”标记
实现效果图
具体实现方法
在路径 \themes\next\layout\_macro
中新建 passage-end-tag.swig
文件,并添加以下内容:
1 | <div> |
接着打开\themes\next\layout\_macro\post.swig
文件,在post-body
之后, post-footer
之前添加如下画红色部分代码(post-footer之前两个DIV):
代码如下:
1 | <div> |
然后打开主题配置文件(_config.yml
),在末尾添加:
1 | # 文章末尾添加“本文结束”标记 |
标签页面样式
在 hexo/source/_data/styles.styl 文件加入下面样式。
1 | .tag-cloud a { |
页面阅读统计
1 | busuanzi_count: |
首页文章不展示全文显示摘要
我们可以在主题配置文件中设置:
1 | scroll_to_more: true # 点击阅读全文后是否跳到<!--more-->标记处,设为false时点击阅读全文可以从头阅读 |
官方公告:
auto_excerpt
可以自动截断文章内容作为摘要。此功能不是一个 Hexo 主题应当负责的,这为主题的维护者带来了太大压力。自 7.6.0 版本开始,此功能被移除,请自行安装第三方插件,或阅读 Hexo 有关文档。当然,我们仍然建议通过<!-- more -->
来精确控制 Read More 的位置。
hexo new post 打开markdown 编辑器
方法
在博客根目录里新建一个scripts 的 folder。
在这个 scripts 的 folder 里新建一个js文件,內容如下 (Typora 是我用的编辑器,把路径和软件修改成你想要的):
For Window:
1 | var spawn = require('child_process').exec; |
For Mac:
1 | var exec = require('child_process').exec; |