白衣苍狗

天上浮云似白衣,斯须改变如苍狗

0%

从WordPress迁移到Hexo

原来在阿里云有一个wordpress的博客,不过这两年没怎么写过。前几天看到一个hexo博客,原生支持markdown,感觉不错,看了下官方文档,发现部署挺简单的,而且从wordpress迁移有插件挺简单的,于是试着弄了下,目前来说确实很方便。简单记录下过程。

  1. 本地安装node.js,这是为了安装Hexo

  2. 使用npm安装Hexo

    1
    npm install -g hexo-cli

    将hexo所在路径添加到环境变量后可以直接使用hexo命令,很方便

  3. 新建Hexo项目

    在想要创建hexo网站的目录使用

    1
    hexo init <path>

    然后进入目录

    1
    npm install

    完成项目创建。

  4. 将hexo部署到vercel

    vercel是一个托管服务,可以免费托管静态网站,可以自动部署,我自己访问感觉速度挺快的,这对于hexo来说再合适不过。

    部署到vercel也很简单,只需要将本地项目放到GitHub上,然后用GitHub账户登录vercel,在dashboard中选择部署新项目,然后选择自己的hexo项目即可,vercel会自动完成剩下的工作。部署完成后会有一个免费的二级域名可以用,我自己注册了一个新域名更换了,跟着提示几分钟即可完成。

    日后有文章更新只需要将本地推送到GitHub上,vercel会自动触发并重新部署。整个过程非常顺畅。

    另外,vercel部署时会将整个库clone下去,这会导致markdown文件的修改时间改变,而hexo生成网站时文章的更新时间是根据markdown文件的修改时间确定的,这就会导致每次更新hexo时博客的所有文章的“修改时间”都会改变,使得修改时间失去意义。为了解决这个问题可以为每篇文章添加一个updatedFront-matter属性,这会显示指出文章的修改时间,以后修改文章后记得更行这个属性即可。

    当然如果是别的部署方案就不需要这么麻烦了。

    日后想部署到自己管理的vps上也是非常简单的,hexo有现成的解决方案。

  5. 安装Next主题

    hexo默认的主题还是比较简陋,好在官方有上百个主题可供挑选。我选择的是中文hexo中比较常见的Next主题,好处就是用的人多配置方案也多,跟着抄作业即可。

    安装Next主题很简单,直接从Github仓库上clone到themes/目录下即可

    1
    git clone https://github.com/theme-next/hexo-theme-next themes/next

    然后在hexo配置文件_config.yml中修改theme:为next即可。

  6. 对Next主题设置

    对Hexo配置比较繁琐,我参考(抄作业)了以下这些文章:

    另外应该注意,Next默认有4种布局,其中Gemini,Pisces两种布局看起来很像,区别就是Pisces首页文章之间使用短横线分隔,Gemini文章之间分块分隔。

  7. 将WordPress数据迁移到Hexo

    最后就是将原来WordPress上的文章迁移到Hexo中。Hexo官方有迁移插件,安装

    1
    npm install hexo-migrator-wordpress --save

    然后将WordPress导出的xml文件导入即可

    1
    hexo migrate wordpress <source>

    不过这个插件还是有点小问题,主要在文章的分类,tag和表格等方面可能出现问题,导入之后应该全面检查一遍。我本来就没多少文章,所以修正一些错误之后就可以很愉快地使用了。