走出半载,归来仍是 Typecho 。
安装依赖
在 Hexo 站点根目录,运行下面命令,安装 hexo-2-typecho 依赖。
npm install --save hexo-2-typecho
修改配置
修改 Hexo 站点的配置文件_config.yml,加入下面配置,并参考下面的配置说明,按实际情况修改。
typecho: authorId: 1 images: 'images' mid: 10 cid: 10
** 配置说明 **
authorId:对应 `*_users` 表 `uid` 最大的字段值。 images:存放图片的位置,如果使用的图床之类的,无需理会,默认即可。如果像我一样,图片是放在 `source` 目录下,那么需要将这个值改成 `source` 目录里存放图片的文件夹名称。 mid:对应 `*_metas` 表 `mid` 最大的字段值。 cid:对应 `*_contents` 表 `cid` 最大的字段值。
开始转换
执行 hexo g 命令,程序会在 Hexo 根目录生成一个 typecho 目录,里面有个 usr 文件夹,直接覆盖 typecho 中的 usr 文件夹。
contents.sql、metas.sql、relationships.sql 三个文件使用数据库工具进行 sql 导入,需要注意这三个文件生成 insert 语句表前缀(t_)是否和 Typecho 生成的表前缀(typecho_)一致,不同的话,批量修改即可。
遇到问题
我在导入的时候,遇到了一个超出字段范围的异常,这是因为创建和修改时间,typecho 数据库定义的为 int(10) ,但是生成的 insert 语句是 int(13) 导致。
我的做法是找到 node_modules\hexo-2-typecho\index.js 文件,在第 187 行作用,改成下面代码,重新生成 sql 就可以了。
created: new Date().getTime() / 1000, modified: new Date().getTime() / 1000,
还有一种更简单的做法,直接修改字段定义,改为 int(13) 。
[hexo-2-typecho](https://github.com/jiangmitiao/hexo-2-typecho) [Typecho数据库设计](https://docs.typecho.org/database)