前几天我为了降低成本把博客迁移到了 Hugo,具体可见《博客迁移至 Hugo》。文章我基于前人的脚本自制了 Export2Hugo 插件进行导出,但是发现评论居然没有相关的同学折腾过。大部分都是使用了 ByeTyp 和 TypExport 插件将数据导出成 WordPress ,然后再通过 Disqus 桥接到 Valine,非常的麻烦。
Valine 使用的 LeanCloud 存储服务是支持文件导入的,于是我写了个 Node.js 脚本将 Typecho 数据导出成了支持导入的文件格式完成了导入。基于该脚本的逻辑我将其转成了 Typecho 插件 Export2Valine 方便大家迁移。
插件使用非常简单,启用插件后在左上角 控制台 菜单中会新增 评论导出 选项。点击后直接点击导出 LeanCloud JSON 文件按钮稍等片刻就可以拿到导出的 JSON 文件了。
在 Leancloud 后台新建应用后,选择 存储-导入导出-数据导入。Class 名称输入Comment
,数据文件选择刚才导出的 JSON 文件。点击导入按钮即可等待导入成功。导入的时间会随着评论数的增加而增加,如果评论数比较多的请耐心等待提示。
这里需要注意两点:
LeanCloud 应用中如果已经存在了
Comment
表的话需要删除,否则数据不会导入。插件导出的评论对应的文章 URL 格式为
/{slug}.html
,为了能让文章和评论数据正确映射,需要将你的文章设置成对应的格式才能正确显示评论。以 Hugo 为例,在config.toml
中需要配置:uglyurls = true [permalinks] posts = ":slug"
下载地址:Github
能不能在导回TYPECHO🤣
我就是想导回来
@夏目贵志 , 目前没有这个功能,我觉得可以加,你可以试试。目前唯一的问题在于 Valine 中是通过 URL 关联文章,而 Typecho 是通过文章 ID 关联的。通过 URL 反算出文章 ID,且还需要适配各种 Typecho 的配置,这块会复杂一点。
@怡红公子 , 是,太麻烦了 我刚才导出来,想导入回typecho json o(╥﹏╥)o