NexT更新
最近看到好多同学的Hexo用了新的scheme (还有个叫Muse的scheme),于是也想试一下。查了一下NexT的仓库,版本从0.4.5.2直接跳到了5.0.0。目瞪口呆.jpg。
文档也做的很好看了:NexT文档
更新的方式很简单,直接
1 | git clone https://github.com/iissnan/hexo-theme-next themes/next |
因为之前叫hexo-theme-next所以完全不用担心冲突的问题。
但是需要对比修改一下next里的_config.yml,一样的项目可以直接复制,主要需要和发现更新注意的地方有:
- 增加的sidebar仅针对Pisces这个scheme,不过为什么不试试这个5.0的新主题呢
- 多说的方式变成添加shortname即可,shortname自己在多说后台管理里设置的,可以查到,不再需要添加代码,更加易用
- 多说信息如果开启管理员模式需要user_id,这个在dev.duoshuo.com登陆后就可以看到,就是一串数字
- 发现之前没注意到的google_site_verification,因为之前是用Google analytics验证的,所以又做了一次验证
- Mist下右上角的按钮都多了一个小图标,搜索框也变成了搜索按钮+图标
等
顺便今天cc98的markdown功能上线,去github又复习了一下markdown语法,发现```的语法可以支持指定语言,正好对之前代码高亮不太满意,于是学习一下。NexT的代码高亮使用的是Tomorrow Theme的主题,而Tomorrow Theme使用的是highlight.js的实现。看了一下highlight.js支持的语言,比想象中的还要强大的多。顺手把博客里所有代码部分都更新了一下。
升级npm和更新Hexo
坑太多千万不要做坑太多千万不要做坑太多千万不要做
如果一定要做的话:
升级完NexT看了一下Hexo,从3.1升级到了3.2,主要是面向速度的升级。
其中对于highlight做了优化,可以关闭其自动检测语言项目,通过每次代码前手动添加语言。这正好是之前做的事情,于是非常开心。
用法是在_config.yml里加上
1 | highlight: |
不过试了一下会出错就没用 (所以你更新的目的是什么啊喂
不过既然更了还是讲下步骤:
更新Hexo需要先更新npm。一开始在Hexo目录执行了sudo npm update -g
,结果直接从hexo到npm直接报废。查了一下原因是npm update要在~/
里做。
修复的方法是在家目录下执行
1 | curl https://npmjs.org/install.sh | sudo sh |
或者下下下来这个脚本,之后在根目录执行。因为国内npm环境不太好,所以可以考虑开着代理做。
出现It worked之后就可以重新update了。
完成之后参考Hexo官方更新指南
如果npm install hexo-cli -g
这一步出现问题,先做一次hexo clean。还提示permission denied的话可以使用sudo。
第三步npm install hexo --save
一定不要 用sudo,不然之后所有hexo操作就只能sudo才可以执行了。如果不小心手残可以hexo clean
砍掉重来。
最后再把插件全部重新安装一遍
1 | npm install hexo-server --save |
最后之前的_config.yml里有个不明所以的plugins的项,如果留着会导致hexo server不可用(不知道为什么)删掉就好,实测删掉之后sitemap功能还是可以正常使用的。
做完之后依旧
1 | hexo g |
非常完美——就好了
结果不知道为啥把git文件弄乱了,上传了不知道是两个文件夹还是一堆文件夹……最后没办法只能把之前的commit记录都删了……
当然也许是因为git没学好吧……还要努力学习……看看会不会没准哪天能恢复出来了呢(毕竟有手动备份
所以这个故事的教训是,没事不要乱升级……