Hexo框架的回顾总结
将近一年多的时间没怎么整理过文档,更多的时候放在笔记里。但是笔记里的记录总是太随意。回过头来看,还是记录在网络上更为安全和踏实。
若干年前接触到 Hexo 这个框架,从起初的好奇到后来的放弃,中间经历了许多。现在回头看看,也是不错。之前的文档只求快速实现,自此之后,更多关注细节或者更深入的一些东西。
开始使用
什么是 Hexo?
Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
想象一下,为什么要使用这个框架来实现一些东西呢?答案是快速和简单。作为当今时代的一个技术从业者,基本有部分人知道 Markdown 是个什么。恰巧我很喜欢这种语法格式,简洁且快速,不用再纠结于格式的调整和样式的美化。
所以当初选择了 Hexo。
安装
此处没有什么可说的。依赖环境就是 Node.js。跨平台,大部分设备都可以使用。
1 | npm install -g hexo-cli |
官方说的,强烈建议永远安装最新版本的 Hexo,以及 推荐的 Node.js 版本。
建站
安装完 Hexo 完成后,请执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。
1 | cd <folder> |
目录介绍
- source 资源文件夹是存放用户资源的地方。除
_posts
文件夹之外,开头命名为_
(下划线)的文件 / 文件夹和隐藏的文件将会被忽略。Markdown 和 HTML 文件会被解析并放到 public 文件夹,而其他文件会被拷贝过去。 - themes 主题 文件夹。Hexo 会根据主题来生成静态页面。
配置
网站
网址
目录
如果您刚刚开始接触 Hexo,通常没有必要修改这一部分的值。
文章
相对地址
默认情况下,Hexo 生成的超链接都是绝对地址。例如,如果您的网站域名为 example.com,您有一篇文章名为 hello,那么绝对链接可能像这样:http://example.com/hello.html
,它是绝对于域名的。相对链接像这样:/hello.html,也就是说,无论用什么域名访问该站点,都没有关系,这在进行反向代理时可能用到。通常情况下,建议使用绝对地址。
常见问题
文件修改,但是内容没有变化
- 文件没有提交
- 检查 public 目录是否有对应的新的 HTML 文件
- 检查 Git 仓库是否是否有对应的新的 HTML 文件
- 仓库地址不对
搜索,总是转圈
搜索插件没有配置好
问题分析:
- 打开浏览器开发者工具,查看 search.xml 状态,是否 404,如果是则说明不存在
安装插件:npm install hexo-generator-searchdb --save
修改根配置文件:
1 | search: |
修改主题配置文件:
1 | # Local search |
文章中包含特殊字符
问题分析:
- 打开浏览器开发者工具,查看 search.xml 状态,文件存在
- 浏览器访问域名+search.xml,提示报错信息
- 根据报错提示,在控制台定位具体文章标题
- 用Sublime Text3和Visual Studio Code分别打开文件对比看看,这两个编辑器都找到了特殊字符。删除特殊字符并保存。
优化方案
在使用过程中,search.xml文件报错的机率越来越高,有没有个好的方法一劳永逸呢?是的,使用JSON。更改文件后缀为JSON即可。
1 | # 修改_config.yml |
valine.js加载慢
获取最新的 Valine.min.js 获取地址:https://www.jsdelivr.com/package/npm/valine
拿到URL之后修改文件,替换链接即可:
1 | vim themes/next/layout/_third-party/comments/valine.swig |