用 hexo 搭建博客踩过的坑

路是人走出来的,但有些路,希望你不用再摸索着走一遍。

本文将持续更新记录使用 hexo 框架 NexT 主题搭建博客过程中遇到并解决的坑。以供使用此方式搭建博客的人作参考之用,避免再重复踩坑。

hexo-leancloud-counter-security插件

当你需要按照 这篇教程 去集成 hexo-leancloud-counter-security 插件时,一定要注意要先让 Counter 初始化成功后,再集成 hexo-leancloud-counter-security 插件,否则文章阅读次数的地方会显示未初始化。

也就是说:你需要先别配置部署 hexo-leancloud-counter-security 插件,而只需按照 这篇教程 去为 NexT 主题添加文章阅读量统计功能,登陆LeanCloud后台看到 Counter 初始化成功并有数据后,再回来按照 这篇教程 的步骤去集成 hexo-leancloud-counter-security 插件。

原因: 当初是先有 为NexT主题添加文章阅读量统计功能 这个功能,然后考虑到阅读次数统计数据的安全性,防止被恶意篡改,才产生了 hexo-leancloud-counter-security 这个插件去解决这个问题的。所以老用户直接按照教程直接升级是不可能遇到这个坑的,因为他们原本就已经初始化了 Counter 。而如果你是初次添加 为NexT主题添加文章阅读统计功能 ,而且也是初次集成 hexo-leancloud-counter-security 插件,则必须先初始化 Counter

关于 必须先初始化 Counter, 再集成 hexo-leancloud-counter-security 插件 这点说明,官方的使用教程 ([中文版] [English]) 目前好像还没有很明确的说明。如果你是按照官方使用教程的说明来操作,则需要注意这点,避免踩到坑。

注: 由于时间有限,并没有制作针对小白的详细操作步骤,如果你按照本避坑说明集成 hexo-leancloud-counter-security 插件还是遇到问题,可通过邮件联系我获得具体每一步的操作指导。

让 MarkdownPad 编辑器支持表格

如果在 Windows 系统下用 MarkdownPad 来写 hexo 博客,MarkdownPad编辑器的默认设置是不支持显示表格的。即常用的Markdown语法书写表格的方式(|:—-:|:—:|)在MarkdownPad编辑器中是无法正确识别并预览的。

所以,你需要修改 MarkdownPad 编辑器默认的处理器。修改方式如下:

点击: Tools –> Options –> Markdown –> Markdown Processor,改成Markdown (Extra) 即可。

如果你是中文环境,点击: 工具 –> 选项 –> Markdown –> Markdown 处理器,改成 Markdown (扩展) 即可。

hexo g 出错怎么办

当你写完博客,hexo g 出错,若报错如下:

1
2
3
4
5

FATAL Something's wrong. Maybe you can find the solution here:
http://hexo.io/docs/troubleshooting.html
Template render error: unexpected end of file at Object._prettifyError

说明 hexo 框架无法正常渲染你的文章,很有可能是你在书写文章时一不小心哪里的格式没写对造成的。

举个例子,使用 NexT 的 centerquote 标签时,如果不小心在关闭标签 endcenterquote{% 之间多加了一个空格,写成了:{ % centerquote %}

则会出现上述的 hexo 无法帮你渲染文章的错误,而这种格式的错误当你写完长篇的文章后,是很难再发现的。

所以,在你写文章之前,一定要熟悉 hexo 和 NexT 的文档和写作指南,避免因书写格式不对而造成无法渲染。

hexo的标签使用说明

NexT的内建标签使用说明

当然,当你遇到 Template render error 文章无法渲染的问题时,可按提示参阅 hexo的问题解答 查看其他常见的问题,看是否可以找到对应的解决方案。

关于 Gitment 评论系统无法登陆的问题

如果你是按照 NexT 默认的方式去配置 Gitment 评论插件的话,你会发现 Gitment 现在登陆不了了。 授权登陆 Github 时会发生 Object ProgressEvent 异常。

因为 https://gh-oauth.imsun.net 域名的 HTTPS 证书今年九月份就过期了,导致无法再正常访问,作者也一直没有更新维护。

详情请参见:

https://github.com/imsun/gitment/issues/170

gitment 登录失败

Gitment 的安全性争议

目前网上也有一些对这个问题的解决方案,总结来说就是需要自己搭建个服务器,或者用别人搭好的服务器替换,但万一哪天别人换了你就又不能用了,不是长久之计,所以如果还想用 Gitment 最好还是能自己搭服务器,不然就用别的评论系统吧,比如来必力。而且,网上也存在 Gitment 安全性争议的讨论。

让我们来一场点赞之交?
0%