hexo 搭建博客

之前用jekyll在Github上面搭建了一个博客,但是发现语法高亮什么的,并不完全是markdown格式的,而且迁移起来也奇奇怪怪的,于是决定换成hexo来搭建。另外一个原因是想在博客里面写一些数学公式等等,但是却发现没有什么主题是支持的,然后就想自己改一个,结果发现自己改的实在太丑,不想用,当然,作为工程师型的人,丑不丑倒是无所谓,主要是配来配置去把耐心给消耗了,最后决定用别人写好的主题,选择了next漂亮而且支持数学公式等等(当然数学公式的支持就是添加一个js库MathJax就可以搞定了,也不是什么难事)。

hexo的部署可以参考官网和一些网上的资料,已经有很多了。这里主要记录一下hexo的一些主要使用方法。

写作

  1. 草稿

    通过 hexo new [layout] <title> 这样的命令就可以生成对应的文件,比如草稿 hexo draft "draft"(如果题目有空格,要带双引号,layout 默认是 post,这些 layout 都存在 _scaffolds 下面)。可以通过 hexo 设置是否在网站上显示草稿,我设置的是显示(设置 _config 里面的 render_draftstrue 即可)。

  2. 发布

    发布可以选择草稿发布,也可以选择直接发布新文章,对应的命令分别是 hexo publish [layout] <title>hexo new [post] <title>,这个时候生成的静态文件里面就可以看到新的文章了。

  3. 前缀

    tags 和 categories 里面的内容,按照 [content1, content2, ...] 的格式就可以分开显示在标签栏里面。

  4. 特殊插入

    tag-plugins 中可以找到一些特殊需要的插入,比如插入 gist、twitter 的引用或者 youtube 视频等等。

  5. i18n

    支持国际化,在 _config.yml 下面设成

    1
    2
    3
    language:
    - zh-CN
    - en

    设置 _config.yml 里面的 i18n_dir 可以根据路径前缀判断对应的语言。在发布的时候带上 --lang 选项设置语言,比如 hexo new "Hello World" --lang tw 就可以针对不同的语言产生对应目录。

  6. 数学公式

    数学公式主要依赖于 MathJax,在编辑文本的时候 $$...$$ 用来表示行间数学公式,\\(...\\) 用来表示行内数学公式,比如 \\(a^2+b^2=c^2\\) 的效果是 a2+b2=c2a^2+b^2=c^2。而 $$ a^2+b^2=c^2 $$ 就会另起一行:

    a2+b2=c2a^2+b^2=c^2

    具体的使用可以在这里查看。注意 markdown 的一些符号需要在公式里面转义,省的被 markdown 语法误解。

补记:本站已于 2026 年从 MathJax 切换到 KaTeX,行内公式统一用 $...$,行间公式用 $$...$$\\(...\\) 这种写法不再需要。