waline评论迁移到twikoo

警告
本文最后更新于 2022-09-02,文中内容可能已过时,请谨慎使用。

进入waline管理后台(部署网址/ui),导出保存的所有评论,会得到一个waline.json文件

/images/all/waline_output.png
导出

waline.json内容如下:

{
	"type": "waline",
	"version": 1,
	"time": xxx,
	"tables": [
		"Comment",
		"Counter",
		"Users"
	],
	"data": {
		"Comment":[
            // 只需要这里的数据
            {xxx},
            {xxx},
        ],
        "Counter":{
            xxx
        },
        "Users":{
            xxx
        }
    }
}

由于和后面twikoo导入格式不匹配,所以需要稍作修改!我们只需要留下"Comment"中的内容,并作为"results"的值.

修改后的 json 内容如下:

{
	"results": [
        // 导出的waline.json中的data字段中的"Comment"中的内容
        {xxx},
        {xxx},
    ]
}

保存修改后的waline.json文件

选择valine源系统,上传修改后的waline.json文件

/images/all/twikoo_input.png
导入

不出意外的话,就导入成功了!

导入评论后可能有这么两个问题:

  1. 评论内容前有一些无用信息
  2. 部分链接中的评论没有显示

重新查看waline.json文件,回复评论中会在评论内容前加入一些无关信息,我们要手动删除。没有显示的评论是由于评论数据保存的url中包含中文字符,导致解析失败。

/images/all/error_comments.png
导致错误的评论

对于中文路径解析的问题,我们可以进行编码转换

/images/all/url_encode.png
编码转换

不过,如果你已经导入了评论,那么除了先删除之前导入的错误评论再重新导入(太麻烦,除非你评论不多)外,还有一个办法,那就是修改部署 twikoo 中的数据库保存的评论数据.

我使用的是独立部署的方式,所有评论保存在db.json.0文件中,其他部署方式没有了解,可以查看官网

/images/all/db.png
数据库文件

本站为什么突然放弃了 waline,原因大致如下:

  1. waline之前是部署在vercel上,但是不太稳定,经常被墙。虽然我后面知道怎么解决。而且上周我重新部署正好碰上vercel更新,导致waline一直报 500,一气之下就换twikoo
  2. leanCloud使用体验极差,而且现在必须使用备案后的域名
  3. 评论数据还是要自己管理比较踏实
  4. twikoo的使用体验确实不错