0%

Hexo 博客搭建记录

Qing-LKY 的个人博客

前言

博客园不知道为什么不能实时更新了。感觉很蛋疼。所以想试着自己搭一个博客。

使用的是 github.io + hexa 的经典组合。暂时选了 next 作为主题。

本文整理了在搭建过程中遇到的问题和解决的思路。

问题与解决过程记录

  1. npm 显示如下警告信息,但仍可正常使用:

    npm WARN config global --global, --local are deprecated. Use --location=global instead

    首先尝试更新 npm 版本 npm install -g npm

    查阅资料,发现 github 上有过这个 issue

    我选择的解决方法如下:

    用管理员权限打开记事本,然后用带管理员权限的记事本去修改 nodejs/npm 和 nodejs/npm.cmd。

    把里面 prefix -g 替换成 prefix --location=global。

  2. hexo 的工作目录与 github.io 应该是两个不同的仓库

    一开始没有注意到这个问题,直接把 hexo 新建好的工作目录推到我的 github.io 仓库里了。

    后面完成基本配置 deploy 的时候才发现部署时会用生成的静态文件完全覆盖 github.io 那个仓库。

    github.io 这个仓库放的是你的网页,hexo 的工作目录需要放到另外的一个仓库里。

    于是我新创了一个 MyBlog 的远端仓库,改了 .git/config 里的 remote 地址。

  3. 添加 next 主题后,git 提示你套了一个 repository

    我是直接在 themes 里 clone 的。所以弄下来的这个会带有 .git 文件夹,就变成了仓库套仓库了。

    我没有按提示的设置子模块。而是先取消追踪,然后直接删掉了next 里的 .git 文件夹。

    如果想要设置子模块的话,fork 一个到自己的账户下会比较好。而且修改配置的时候会比较麻烦。我懒得弄了。

  4. latex 在本地预览时正常渲染,推到远端时无法渲染

    我一开始只用的 next 和 hexo-renderer-pandoc。

    卸掉 hexo-renderer-marked,装了 hexo-renderer-pandoc,改了下 next 里的配置(enable)。

    这时候本地已经能渲染出来了(hexo s)。

    但是推到远端去看不到。所以我陆陆续续采用了下面的手段尝试补救。我不知道哪个是关键的,所以我全部记录了下来:

    首先,我重新安装了 pandoc。然后,我又安装了 hexo-math。然后,我又安装了 hexo-filter-mathjax。然后,我把 next 配置里面 mathjax 的 mhchem 设成了 true。然后我又把它改回了 false。然后我又重启电脑重复了一遍上述的某些操作。

    最后我查阅资料发现以前版本的 next 的 math 配置长得和现在不太一样。(参考的是这篇文章

    把 cdn:xxxxx 那一行配置复制到 next 的配置文件的对应位置上,再次部署。发现它好了。