Qing-LKY 的个人博客
前言
博客园不知道为什么不能实时更新了。感觉很蛋疼。所以想试着自己搭一个博客。
使用的是 github.io + hexa 的经典组合。暂时选了 next 作为主题。
本文整理了在搭建过程中遇到的问题和解决的思路。
问题与解决过程记录
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。
hexo 的工作目录与 github.io 应该是两个不同的仓库
一开始没有注意到这个问题,直接把 hexo 新建好的工作目录推到我的 github.io 仓库里了。
后面完成基本配置 deploy 的时候才发现部署时会用生成的静态文件完全覆盖 github.io 那个仓库。
github.io 这个仓库放的是你的网页,hexo 的工作目录需要放到另外的一个仓库里。
于是我新创了一个 MyBlog 的远端仓库,改了 .git/config 里的 remote 地址。
添加 next 主题后,git 提示你套了一个 repository
我是直接在 themes 里 clone 的。所以弄下来的这个会带有 .git 文件夹,就变成了仓库套仓库了。
我没有按提示的设置子模块。而是先取消追踪,然后直接删掉了next 里的 .git 文件夹。
如果想要设置子模块的话,fork 一个到自己的账户下会比较好。而且修改配置的时候会比较麻烦。我懒得弄了。
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 的配置文件的对应位置上,再次部署。发现它好了。