Hexo + Next深度美化指北
读前须知
阅读该文章时,应该已经完成博客站的初始化配置,若未进行初始化配置,请阅读前置文章Hexo + Github Pages建站指北和Hexo站点基本配置与实用工具指北。
首先,由于不同版本环境配置不尽相同,先贴出我使用的系统环境如下:
- Hexo: 5.4.0
- Git: 2.29.2.windows.3
- Node.js: 15.4.0
- NexT: 8.7.0
为了后续陈述方便,请注意区分两个配置文件,前者称为站点配置文件,后者称为主题配置文件。
1 | Hexo/_config.yml |
并且将以下命令称为本地调试。
1 | hexo s -g |
NexT主题安装
同样,先贴出NexT主题官网,感兴趣的朋友可以自取。
安装NexT主题,我们需要先进入站点目录,并在此打开Git Bash,键入以下命令:
1 | git clone https://github.com/iissnan/hexo-theme-next themes/next |
仓库克隆完成后,进入站点配置文件,并搜索theme
字段,更改其值为next
。
至此,NexT主题安装完毕,执行以下命令检查是否更换成功。
1 | hexo clean |
由于NexT主题一直在更新,故在此贴出更新命令。
1 | cd themes |
NexT主题深度美化
如果还未完成Hexo站点的基本配置,请看前置文章Hexo站点基本配置与踩坑指北。
由于内容很多,一直在持续更新并填坑,欢迎大家持续关注。有想要添加的功能可以通过侧边栏的微信联系我。
另外,next主题在8.x版本已经停止使用 swig
和 ejs
文件,取代使用 njk
文件。同时,该主题的文件组织方式与低版本也有所不同,具体文件组织结构如下所示:
1 | . |
主题Scheme
进入主题配置文件 ,搜索scheme
字段,即可看到对应的Scheme配置。
NexT主题内置了四种Scheme,分别有不同的布局和样式。
- Muse
- Mist
- Pisces
- Gemini (我的样式)
其中,Muse和Mist为单栏布局,Pisces和Gemini为双栏布局。可根据自己的喜好进行调整。
网站Logo
进入主题配置文件,搜索 favicon
字段,即可设置网站Logo。
1 | favicon: |
背景图片与半透明
本地存储版:挑选一个自己喜欢的背景图片,将其放置于Hexo/themes/next/source/images文件夹下。
CDN版:利用Cloudianry,上传背景图片并复制其url。
进入文件夹 /Hexo/source
,并新建 _data
文件夹,在文件夹下新建 styles.styl
文件。
进入主题配置文件,并搜索字段 custom_file_path
,将style行取消注释,即设置:
1 | style: source/_data/styles.styl |
打开刚刚创建的styles.styl文件,添加以下代码:
1 | body { |
本地调试即可观察到背景图片。
menu图标及计数显示
侧边栏标签、分类、归档个数默认不显示,可通过以下设置调整。
进入主题配置文件,并搜索 menu_settings
字段,可根据喜好进行调整。
1 | # Enable / Disable menu icons / item badges. |
本地搜索功能
通过以下命令安装搜索插件:
1 | npm install hexo-generator-searchdb --save |
进入主题配置文件,并搜索 local_search
字段,配置如下:
1 | # Local Search |
本地调试后,会发现侧边栏菜单出现了搜索选项,即配置成功。
显示文章目录
进入主题配置文件,并搜索 toc
字段,配置如下:
1 | toc: |
网易云音乐挂件
进入网易云网页版,登录账号并选择想要添加的歌单,在歌单上方点击生成外链播放器。
图
选择iframe插件并根据自己的喜好调整尺寸。
图
复制下方的HTML代码,并进入 Hexo/themes/next/layout/_macro
文件夹,在合适的地方添加以下代码:
1 | <div id="music163player"> |
<iframe> 标签内放置刚刚复制的HTML代码,建议关闭自动播放功能。注意该元素的大小受容器限制,可以根据需要调整其宽度。
页面边框圆角
主题默认的页面边框均为方框,看起来比较生硬,我们可以修改css样式将其改为圆角矩形。
进入 Hexo/source/_data
目录,新建 variables.styl
文件,并添加以下代码:
1 | $border-radius-inner = 10px 10px 10px 10px; |
进入主题配置文件,并搜索 custom_file_path
字段,将variable行取消注释。
本地调试后,可以看到边框已经有了圆角样式。
访客统计
进入主题配置文件,并搜索 busuanzi_count
字段,设置如下:
1 | busuanzi_count: |
本地调试后,即可在网站底部观察到访客和浏览量统计。注意,由于busuanzi本地统计数据使用同一个数据库,在本地的浏览量与访客显示异常,部署后即可恢复正常。
为了增加可读性,可以增加如下设置。
进入 Hexo/themes/next/layout/_partials
目录,打开 footer.njk
文件。
搜索 busuanzi_value_site_uv
字段,修改值为:
1 | 访客人数:<span id="busuanzi_value_site_uv"></span>人 |
搜索 busuanzi_value_site_pv
字段,修改值为:
1 | 浏览总量:<span id="busuanzi_value_site_pv"></span>次 |
文章字数统计、阅读时长估计
通过以下命令安装插件:
1 | npm install hexo-symbols-count-time --save |
进入主题配置文件,并搜索 symbols_count_time
字段,设置如下:
1 | # Post wordcount display settings |
进入站点配置文件,添加 symbols_count_time
字段,设置如下:
1 | symbols_count_time: |
在本地调试后,即可在每篇文章的标题下观察到文章字数统计和阅读时间估计。
同样,为了增加可读性,进入 Hexo/themes/next/layout/_partials
目录,打开 footer.njk
文件。
搜索 symbols_count_time.count_total
字段,修改值为:
1 | 本站总字数≈<span title="{{ __('symbols_count_time.count_total') }}">{{ symbolsCountTotal(site) }}</span> |
搜索 symbols_count_time.time_total
字段,修改值为:
1 | 阅读本站耗时≈<span title="{{ __('symbols_count_time.time_total') }}">{{ symbolsTimeTotal(site, config.symbols_count_time.awl, config.symbols_count_time.wpm, __('symbols_count_time.time_minutes')) }}</span> |
网站运行时间
进入 Hexo/themes/next/layout/_partials
目录,打开 footer.njk
文件。
在合适的位置添加如下代码:
1 | <div> |
注意修改grt为你的建站时间。
在本地调试后,即可在页面底部观察到运行时间。
隐藏网站底部power by Hexo / 强力驱动
进入主题配置文件,并搜索 powered
字段,修改其值为false即可。
阅读更多按钮
进入主题配置文件,并搜索 read_more_btn
字段,修改其值为true。
注意,该按钮添加后,有两种生成文章摘要的手段,一种是在文章中添加 description
meta数据,另一种是在文章正文中添加 <!–more–>标识。推荐使用第二种。
代码高亮
进入主题配置文件,并搜索 codeblock
字段,在高亮主题试用网址可根据自己的喜好挑选高亮主题。
我的配置如下:
1 | codeblock: |
回到顶部按钮与阅读进度显示
进入主题配置文件,并搜索 back2top
字段,设置如下:
1 | back2top: |
本地调试后,可在侧边栏观察到阅读进度,点击即可回到顶部。
顶部阅读进度条
进入主题配置文件,并搜索 reading_progress
字段,设置如下:
1 | # Reading progress bar |
结语
生命不息,美化不止,希望大家都能在此搭建出令自己满意的小站~
Hexo建站及主题美化系列至此结束,欢迎大家关注本站的其他博客!!