Hexo

Stella981
• 阅读 582

动机

好久没去Hexo官网逛逛了,陡然发现有新版本了,其重要的改进在于生成静态文件的速度,对于文章越写越多,生成时间越来越长的我,是个极大的诱惑。作为一个还停留在2.X版本的Hexo党,毅然决然地要尝一下鲜。

思路

1.先全局升级hexo-cli:

npm i hexo-cli -g

通过hexo version查看下版本:

hexo: 3.2.0 //版本号已变
hexo-cli: 1.0.2
os: Darwin 15.5.0 darwin x64
http_parser: 2.7.0
node: 6.2.1 
v8: 5.0.71.52
uv: 1.9.1
zlib: 1.2.8
ares: 1.10.1-DEV
icu: 57.1
modules: 48
openssl: 1.0.2h

注:我的node版本略高,不建议使用高版本,因为经常踩坑,5就足够了。当然,可以使用nvm工具来管理node版本。

2.初始化:

hexo init new_blog && cd new_blog && npm i && hexo s

3.访问

访问下http://localhost:4000,确认下初始化成功了么。正常的话,看到的是默认主题的首页。

4.迁移

把原博客目录source下的东西全部拷贝到新目录对应位置上。这是关键的一步,相当于迁移数据源。

5.接下来...

接下来,是容易踩坑的地方了,不要把原Hexo的配置文件_config.yml直接覆盖过来,因为新版本的Hexo有些插件不走配置文件了,容易出错。所以我在踩了这个坑之后,索性基于新_config.yml来更新对应值,至于插件的配置,全部放弃。

6.主题更新

接下来,是主题的更新,我使用的是Next。发现这个也有新版本了,索性一起更新了。具体步骤请参照这里。另,原有主题我更改了一些地方,又花了点时间把琐碎的增量更改也做了。

7.插件

接下来,hexo g一下, 发现有报错,看了下报错信息和我使用hexo-qiniu-sync插件有关,于是把七牛插件给装上:npm install hexo-qiniu-sync --save。注意,别忘了更新_config.yml对应的配置,这个可以从原来的地方拷贝过来。

8.两个插件

我还用到了两个插件hexo-generator-sitemap,hexo-generator-feed,一行代码搞定:

npm i hexo-generator-sitemap hexo-generator-feed --save

9.坑

下面到了最坑的地方了,平时使用hexo-browsersync来边写边看效果,所以升级后自然也得想着它。装上这个插件在我的环境下会导致大部分页面白板,动画效果也没有了。查看了下生成的页面代码,底部有乱码。估计是我的node版本太高导致的,使用nvm降到5,问题依旧。然后去插件Github地址逛逛有没有遇到类似问题的同学,很遗憾,就四个提问题的,和我遇到的问题无关。转变思路,看看是不是版本依赖问题,hexo-browsersync最重要的依赖便是browsersync,将其升级到最新版本:修改该模块的package.json对应的browsersync版本号为*,然后npm update --save。接下来,试试问题有没有解决,果然!不出所料!这样做并没有什么卵用…o(╯□╰)o。 纠结到最后,还是暂时去掉了这一功能:npm uninstall hexo-browsersync --save。以后会看一下里面源码,看看到底哪儿的问题。而现在,我需要的就是一个可以写文章和发布的Hexo,虽然用起来不是很便捷,但这已足够了。

10.最后:

npm i --save hexo-deployer-git,配置下_config.yml对应的git选项。

参考资料

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Stella981 Stella981
3年前
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解2016年09月02日00:00:36 \牧野(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fme.csdn.net%2Fdcrmg) 阅读数:59593
Stella981 Stella981
3年前
Hexo博客主题安装和优化(二)
一、Hexo自定义晚枫博客(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwhitesirblog.top%2F)\
Stella981 Stella981
3年前
Jenkins+Ansible+Gitlab自动化部署三剑客
JenkinsAnsibleGitlab自动化部署三剑客小中大showerlee2016031113:00Ansible(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.
Wesley13 Wesley13
3年前
P2P技术揭秘.P2P网络技术原理与典型系统开发
Modular.Java(2009.06)\.Craig.Walls.文字版.pdf:http://www.t00y.com/file/59501950(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.t00y.com%2Ffile%2F59501950)\More.E
Stella981 Stella981
3年前
Golang注册Eureka的工具包goeureka发布
1.简介提供Go微服务客户端注册到Eureka中心。点击:github地址(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2FSimonWang00%2Fgoeureka),欢迎各位多多star!(已通过测试验证,用于正式生产部署)2.原理
Stella981 Stella981
3年前
Git提交本地以及远程仓库
项目方法Gc75n047Fm3109gDDPJ2006.07.14101007MpkyG专访抖音绽放公会「分享」运营经验(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fhzcya.com%2Fdywh%2F320.html)00azE2
Easter79 Easter79
3年前
The Complete Guide To Rooting Any Android Phone
PhoneWhitsonGordon(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.lifehacker.com.au%2Fauthor%2Fwhitsongordon%2F)7April,20118:00AMShare(https://ww
Stella981 Stella981
3年前
Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法
Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法参考文章:(1)Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.codeprj.com%2Fblo