Building Hexo-Next Blog with GitHub
Theme GitHub & Docs
Hexo Next 博客搭建指南
博文自定义排序
打开 \node_modules\hexo-generator-index\lib\generator.js 。
在末尾添加如下代码:
复制
1 | posts.data = posts.data.sort(function(a, b) { |
在博文设置中加入 top: x 即可,会以 top 为第一关键字,时间为第二关键字排序。若 top 为空则视作 -INF 。

折叠块
自定义404页面
首先写一个 \source\404.html 。
至于怎么写html..这里地方太小写不下。
需要注意的是,一个真正的 404 页面应当在访问时返回 404 代码。在 HTML 中,可以使用 <meta http-equiv="Content-Security-Policy" content="connect-src 'self'"> 实现。(似乎不加这个也会返回 404?不是特别清楚。)
可以参考一下我的:
复制
1 | <html> |
然后,如果直接这样发布,html 会被渲染,就跟一个自定义页面(hexo new page)一样了。
所以要修改根目录下的 _config.yml,在 skip_render: 后添加 404.html,如果有多项用 - 隔开:
复制
1 | skip_render: |
发布完成后,访问一个错误的网址,比如 你的域名/qaq 就可以查看效果了。
一言(ヒトコト)
大约是这个。
网上没找到教程,自己随便瞎研究了一波,所以方法比较丑陋,仅供参考..
本来想稍微写一下自己研究的经过,想了想自己也没完全搞清楚,就来一波授人以鱼吧…
\themes\next\layout\_macro\sidebar.swig:
复制
1 | …… |
\themes\next\layout\_scripts\commons.swig:
复制
1 | …… |
\themes\next\source\css\_custom\custom.styl:
复制
1 | …… |
大约就这样,省略号表示文件中本来就有的其它部分。不保证在其他人电脑上可以用。大致思路就是搞个空 div 指定一个 id,用 js 往里面塞东西。所以即使我这个“鱼”不能直接用大约也是可以稍微研究研究来用的。
博文复制提醒
在 \themes\next\layout\_scripts\commons.swig 中加入:
复制
1 | <script type="text/javascript"> |
更改 CSS
大概按照 谢益辉博客 魔改了一下。
Emoji
详见 crimx/hexo-filter-github-emojis 🤔 。
安装的时候遇到了一些问题,具体来说执行 npm install hexo-filter-github-emojis --save 不会安装 peer dependencies,需要手动安装(从警告信息就可以看出需要安装哪些)。而在安装 canvas 时出现错误,更新 node-pre-gyp 后得到了解决。
大约是为了保证用户能够看到,很多显示 emoji 的库(如 emojione)都是使用 cdn 加载图片,然而我还是觉得 Win 10 本身的 emoji 样式比较好看,Linux 的也不错,所以又稍微魔改了一下,改成了显示 Unicode 字符而非图片。具体来说,将 \node_modules\hexo-filter-github-emojis\index.js 中的 renderEmoji 函数中的全部内容替换成了 return emojis[name].codepoints ? emojis[name].codepoints.map(c => &#x${c};).join('') : ' '; 。
撰写博客前的准备
打开根目录下的 _config.yml ,将 post_asset_folder 设为 true。
这样就可以把图片放到博客里而不用其它图床了。
然后把 \source\_posts\hello-world.md 删除。
博文的撰写
新建一篇博客:hexo new "博文标题"。
然后等几秒钟,在 \source\_posts 文件夹下,就会生成 博客名 这个文件夹(如果你把 post_asset_folder 设为 true 了)以及 博客名.md。
撰写博客就是编辑 博客名.md。
这个文件的开头是博客的一些设置,可以在 \scaffolds\posts.md 中修改默认设置,我的默认设置是:
复制
1 | --- |
然后就可以写 Markdown 格式的文章了。(top 是自定义文章排序,上文中介绍过)

需要注意的是,在洛谷代码块可以不加”cpp”,但在 hexo 上,一定要加上”cpp”:

复制
1 | #include <iostream> |
复制
1 |
|
更多博文模板
在 \scaffolds 文件夹中可以增加更多的模板,比如我就搞了一个 \scaffolds\tutorial.md,这样的话,新建一篇题解的时候输入命令 hexo new tutorial "博文标题" 就可以使用模板了。

引用本地图片
引用链接/网络上的图片格式与普通 Markdown 相同([链接名称](链接地址) 和 ),引用本地图片需要把 post_asset_folder 设为 true ,然后把图片放在与博客同名的文件夹中,然后只用  就可以引用了。


在编辑器里显示不出图片是正常的。
还有另一种方式引用图片,
用这种方式引用图片的话,把鼠标放在上面会显示图片描述(上面这张图就是用这种方式引用的)。
只有这种方式引用图片才能在博客首页正常显示图片,否则只能点进博客才能看到图片。
设置页面宽度
打开主题文件下:source/css/_varibles/Pisces.styl文件.
然后修改以下内容:
1 | $content-desktop-large = 70em |
保留CNAME、README.md等文件
提交之后网页上一看,发现以前其它代码都没了,此时不要慌,一些非md文件可以把他们放到source文件夹下,这里的所有文件都会原样复制(除了md文件)到public目录的:
由于Hexo默认会把所有md文件都转换成html,包括README.md,所有需要每次生成之后、上传之前,手动将README.md复制到public目录,并删除README.html.[小茗同学的博客园][1]
Live2D
[游戏解包看板娘][2]
自定义背景
[自定义的背景图片以及轮播功能][4]
自定义
利用 Hexo-Next 搭建个人博客 – CSS自定义样式
为hexo next8.0主题添加一个可以切换的黑色/夜间模式
评论系统
站点地图(sitemap)及访客地图
Live2D-Widget
侧边栏
Markdown功能
打赏&广告
网页SEO
开启网页转载协议申明
GitHub Action源代码自动部署
TBD
参考博客&重要的资源
[GitHub Action的CI服务][3]
如何使用 GitHub Actions 自动部署 Hexo 博客
Hexo+Next主题搭建个人博客+优化全过程(完整详细版)
使用Hexo+Next制作博客时,如何把博客美化的更加漂亮?
[Hexo-Next主题的个性化设置(1)][4]
Reference Links
[1]: https://www.cnblogs.com/liuxianan/p/build-blog-website-by-hexo-github.html “使用hexo+github搭建免费个人博客详细教程”
[2]: https://www.south-plus.net/read.php?tid-1834173.html “unity的live2d解包相关 “
[3]: https://www.ruanyifeng.com/blog/2019/12/github_actions.html “阮一峰的网络日志”
[4]: https://sunderarmor.ink/2019/06/23/Hexo%E4%B8%BB%E9%A2%98%E7%9A%84%E4%B8%AA%E6%80%A7%E5%8C%96%E8%AE%BE%E7%BD%AE/ “Hexo-Next”