Hexo静态博客方案

hello world

打开两年没更新的博客,简直不堪入目,索性推倒重来,先从如何搭静态博客开始。

Hexo + Github Pages

Github提供了快速部署静态网页方法,Github Pages需创建一个Github Pages repository,与普通的repository唯一的区别是名字必须是 username.github.io。 Hexo完美支持Markdown,渲染速度极快,依赖Node.js,可以一键部署,使用npm可以方便的管理插件。 但是静态博客存在一个问题,发布的内容是在本地渲染好的网页,如果更换电脑或者常用的电脑挂了就不能更新。我的解决方案是建一个新的repository,把本地hexo的整个working directory全部push到新的repository上,更新blog的操作:

在一台新电脑上,安装hexo后,更新blog操作:


和新建一个hexo项目执行hexo init不同的是,在clone hexo的目录下,执行
1
npm install

Config

技术文档经常要写数学公式,Hexo默认采用”hexo-renderer-marked”插件渲染Mathjax公式,一个常见问题是公式内换行符会被错误解析,解决方法是修改node_modules/marked/lib/marked.js中464行,去掉对双反斜杠的转义:

1
escape: /^\\([\\`*{}\[\]()#+\-.!_>])/,

改为

1
escape: /^\\([`*{}\[\]()#+\-.!_>])/,

使用Mathjax公式需在Hexo的_config.yml中添加mathjax: true,同时在每个用公式的markdown文件的front-matter添加mathjax: true

为了与Typora的markdown公式、流程图匹配,流程图采用插件hexo-filter-flowchart ,与Typora中的流程图语法基本一致。
Theme选了一个极精简Maupassant,依赖hexo-renderer-pughexo-renderer-sass两个插件。Maupassant这个单词的意思竟然是莫泊桑……