如何使用 Hexo+Next 美化博客
前言
没看过如何搭建的建议这边走:link
注意,本博客基于 next 的 Gemini 样式进行美化。
(Gemini,在主题的配置文件搜索 scheme
,即可选择样式)
美化 Hexo 基本内容
修改 URL 地址
有时候我们会觉得博客的地址是根据时间生成的链接,非常丑陋,又体现不出层次感,那么可以修改 URL 生成方式。
打开根目录下的配置文件,搜素 permalink
,将后面改为 :category/:title/
(这是改为分类决定链接,也可以按照个人喜好改为其他方式)。
接着重新生成一下网站就可以了(如果之前有引用过博客里的链接,记得更改过来)。
关闭证书请求
这里只是提一下有这个错误类型,因为过于冷僻,故不展开详讲。
添加 busuanzi 统计功能
打开主题下的配置文件,搜索 busuanzi
,将 enable
设置成 true 即可。
- total_visitors: 站点总访问量
- total_visitors_icon: 站点总访问量的小图标
- total_views: 总浏览量(所有页面的总浏览量)
- total_views_icon: 总浏览量的小图标
- post_views: 文章浏览量
- post_views_icon: 文章浏览量的小图标)
字数统计
下载插件。
npm i --save hexo-wordcount
。
在根目录下的配置文件中添加如下一段话(原本没有)。
1 | symbols_count_time: |
再在主题的配置文件中修改如下配置(已有,无需粘贴):
1 | ## Post wordcount display settings |
头像
找到主题的配置文件中的这样一段话并修改为下文所示:
1 | ## Sidebar Avatar |
这表示在你的 \theme\next\source\images 文件夹里,你需要存放一个 名为 avatar.png 的图片来作为你的头像(当然要把原来的删掉)。
背景
首先打开主题下的配置文件,搜索 costom_file_path
,将 style
前的 “#” 号去掉(取消注释),表示启用这两个个文件。
接着找到 \Blog\source
,新建文件夹 _data
,再在其中新建文件 styles.styl
。
粘贴以下内容:
在主题的配置文件中搜素 $social$,修改即可。
1 | body { |
接着,将你的背景图片存在 \themes\next\source\images
内,并改名为 background.png
。
边框可以设置圆角。
按照上面的做法,在 _data
内新建文件 variable.styl
,同时取消掉配置文件内部 variable
的注释。
在 variable.styl
内部粘贴:
1 | $border-radius-inner = 20px 20px 20px 20px; |
基本的内容就设置好了。
联系地址
在主题的配置文件中搜素 social
,修改即可。
1 | social: |
添加 RSS 订阅
下载插件:
1 | npm install hexo-generator-feed --save |
然后在主题的配置文件最后添加如下一句话。
1 | # |
侧边栏添加友链
打开主题的配置文件。
只需要在 “links:” 下添加网站地址即可。
1 | ## Blog rolls |
隐藏 powered by
我们发现博客内的 powered by
非常碍眼,于是想去掉它。
两种方法:
打开主题的配置文件,搜索 powered
,设置为 false
即可。
1 | ## Powered by Hexo & NexT |
另一种方法:找到 \themes\next\layout\_partials
下的 footer.njk
,定位第 82 行,将此行删除,或者加上 <!-- -->
变成这样:
1 | <!-- {{- __('footer.powered', next_url('https://hexo.io', 'Hexo') + ' & ' + next_url(next_site, 'NexT.' + theme.scheme)) }} --> |
网站运行时长
还是打开 \themes\next\layout\_partials
,粘贴以下内容:
1 | <!-- 网站运行时间的设置 --> |
页面顶部加载条
依次输入以下命令命令:
1 | cd themes/next |
再打开主题配置文件,然后搜索 pace
修改为 true
即可。
1 | pace: |
选择 theme 的主题和颜色,依据个人喜好(我的就是上面的配置)。
右上角 Github 图标
在主题配置文件中搜索:github_banner
。
修改为这样:
1 | ## Follow me on GitHub` banner in the top-right corner. |
把名字改一下即可。
文末版权申明
主题配置文件中搜索并修改:
1 | creative_commons: |
文章中插入图片优化
通常地,在 .md 文件中插入图片的语法为 ![]()
。
一般来说有三种图片路径:相对路径,绝对路径和网络路径。
网络路径就是直接引用网上的图片,这种方式十分的方便,但是也存在一定的问题:
图片失效导致无法加载;
打开网页后要再请求加载图片
原网站限制,如微信公众号的图片会变得不可见等。
这种方式算是有利有弊。
绝对路径是图片在计算机中的绝对位置,相对路径是相对于当前文件的路径。
由于博客需部署在网站上,部署后会生成新的文件目录,所以我们选择使用相对路径的方式。
在根目录下的配置文件修改:
1 | post_asset_folder: true |
那么在 \source
文件夹里,每篇文章会成相同名字的文件夹,也就是文章资源文件夹,我们可以将图片存在里面。
但是这样还不够,引用相当麻烦。
下载插件:
1 |
|
之后在根目录下的配置文件修改:
1 | post_asset_folder: true |
接下来,假如文章资源文件夹(即同名文件夹)里存放着 image.png
,那么我们使用 ![](image.png)
就可以插入了。
浏览进度
打开主题的配置文件,搜索 scrollpercent
,修改:
1 | back2top: |
文章优先级置顶设置
先卸载一个插件,再安装一个(否则后者不会生效):
1 | npm uninstall hexo-generator-index --save |
这样,你就可以在文章的设置区(即 titile 下面那一块)加入 top: true
来使之置顶。
如果想要优先级排序,则可以使用 top: 1
来修改优先级(优先级越低越靠后)。
添加代码块一键复制按钮
修改主题下的配置文件,搜索 copy_button
,改为 enable: true
。
修改标签的“#”图标
打开 themes/next/layout/_macro/post.njk
,搜索:
1 | rel="tag">{{ tag_indicate }} {{ tag.name }}</a> |
改为:
1 | rel="tag"><i class="fa fa-tag"> {{ tag.name }}</i> |
修改文章目录自动编号
发现文章目录又自动编号的问题,不是很能忍。
修改主题的配置文件,搜搜 toc
,修改为 enable: false
。
添加 mathjax 渲染(可渲染 markdown 与 LaTeX)
安装插件:
1 | npm install hexo-math --save |
打开主题的配置文件,搜索 math
,可以看到有 math
和 mathjax
两个选项。
1 | math: |
如果打开上面那个,则全部文章都开启,只是会比较卡。
打开下面那个,不会全部开启,对于想开的文章则需要在文章设置区(即标题下面)添加 mathjax: true
,接着就可以用了。
添加文章折叠
下载插件:
1 | npm install hexo-sliding-spoiler --save |
同时更改设置,打开 node_modules\hexo-sliding-spoiler\assets
,修改:
1 | .spoiler.collapsed .spoiler-title:before { |
修改其中的 content 即可更改前面的字。
使用:
1 |
|
效果:
Hello world!
添加加密
下载:
1 | npm install --save hexo-blog-encrypt |
使用方法如下:
1 | --- |
如此使用就完了。
后记
只更新了这么一点,希望能帮上你。