老张除了有这个老张博客之外,还有一个张sir随笔,这个随笔坚持有三年的时间了,虽然期间换过两次域名。张sir随笔从最初的定位就是“记一些点滴,发一点牢骚!每篇不超过200字”。从建博之初,也就是当成了老张博客的后花园,更或是说是拿来当“微博”、“朋友圈”来用的。而这段时间一直在折腾着Memos,而Memos经过大神们重写主题,完全可以拿来当微博或是朋友圈来使用。那这和张sir随笔就有点冲突了。
前几天就想着把张sir随笔上1136篇博文给搬到Memos上来。我一直都是使用的宝塔面板,那今天就以宝塔面板来举例。必须要说明是,只是把Typecho的博文的内容给导入到Memos,评论没有办法导,因为Memos没有评论功能,数据库里也就没有评论的数据表。
1.宝塔面板安装phpMyAdmin
phpMyAdmin是一款著名的Web端的MySQL的管理工具,一般情况宝塔安装完成之后,安装网站环境的时候这个是可选项。如果当时没有选择的话,可以到宝塔面板的“软件商店”的“运行环境”里再次安装。
2.导出Typecho博客文章
在宝塔面板的数据库下,找到需要导出的Typecho数据库,直接后面的“管理”,直接跳转到phpMyAdmin管理页面。输入相应的数据库用户名和密码进入管理界面。
打开数据库,找到“typecho_contents”这张表,这张表里保存着你的所有的博客文章。点击上面的“导出”菜单。
导出方式:快速
导出格式:CSV
导出记录:转储所有行
我在这里之所以选择导出格式出CSV,是因为可以直接在Excel里编辑数据。最开始我选择用CSV for MS Excel格式,结果全乱码。自己想折腾的,也可以试其他几种格式。
3.编码转换
在第二步导出的CSV格式的数据文件,首先用Notepad类的工具将编码选择为“使用UTF-8-BOM编码”,然后保存一次退出,然后再用Excel打开。不转换编码直接用Excel打开之后可能会乱码。
4.数据选用
当用Excel打开导出的CSV文件后,你会发现里面有很多例的内容,这个时候我们只需要D、E、F例三例数据。D例created文章创建时间、E例modified文章修改时间、F例text当然是文章内容了。
5.下载Memos数据
首先把你的Memos容器停止运行,再根据老张博客之前的教程《无需代码,宝塔面板Docker部署便签工具Memos》里教程内容,当时是把容器里的数据库文件直接挂载到服务器目录里,找到相应的目录,将memos_prod.db下载到本地。memos_prod.db就是我们的Memos数据库文件。
6.导出Memos数据库Memo表内容
这里我们选择Navicat Premium工具来导出。首先新建连接,选择SQlite类型的数据库。连接名随意写,数据库文件就是我们第5步下载的memos_prod.db文件。Memos数据库中表也不是太多,打开每个表之后你就会发现各个的用处。其中表memo就是存放我们发布的文章的地方了。
分析下memo表的每列内容
ID:文章ID号,特别注意,这里ID号不是顺序号,Memos显示文章的顺序是按时间来的。
created_ts:文章创建时间
updated_ts:文章修改时间
row_status:文章状态,我们这里就默认NORMAL吧,不要修改了。
content:文章内容
visibility:可见状态,Public对应所有人可见、PRIVATE应对自己可见
点击“memo”然后导出。这里同样为了方便编辑,我们导出的文件格式也选择CSV文件格式。
特别提醒:导出的CSV文件也一定要按按第三步操作,把编码选择成UTF-8-BOM编码,否则用Excel打开之后会乱码。
7.合并Typecho数据
一至四步已将导出了我们需要的Typecho博客的CSV文件,五、六步导出来Memos的CSV文件,这个时候,我们只需要利用EXcle,把Typecho的CSV内容复制、粘贴到memos的CSV文件里来即可。
注意文章ID接着写即可,只要不重复就不会出错。
8.将编辑好的Memos的CSV文件再利用Navicat Premium导入到Memo表中。
因为我的Memos原来有内容,所以我选择了“追加或更新”。
9.覆盖原memos_prod.db文件
将修改好的memos_prod.db文件直接上传到服务器挂载Memos数据库目录,覆盖原文件,重启Memos容器。
10.总结
现实当中,像我们这需求把Typecho博客的文章内容导入到Memos的应该很少。这里也只是讲了一个方法。不仅可以把Typecho的文章导入到Memos,同样也可以将Wordpress等不同类型的数据库里的文章导入到Memos。
只是思路、仅供参考!
张老师出的教程,没毛病
@段先森: 写教程太费时间了。
非常详细了,就喜欢这样的。
@子痕: 感谢你喜欢我!!呵,
过来看看,暂用不上,先收藏了~
@Teacher Du: 杜老师好,这对你来说是个小儿科了吧!
老张现在越来越厉害了,教程出的深入简出
@老刘: 都是折腾的结果呀,
老张你就卷吧,哈哈哈哈~
@林羽凡: 没有卷,只会折腾
好厉害的操作
老张,最近看到你的博客,挺不错的。想问一下RSS不提供全文输出吗?我在Inoreader里订阅只能看到标题,正文一个字都没有。
@liuf: 这个我还真的没有去折腾过,我有时间看看
@老张: 怎么样,有进展没?我今天在Inoreader里面还是看不到正文文字内容。
@liuf: 没办法,找到主题的作者也没有解决。
金屋藏娇
我也在研究如何将memos融合到typecho内,能随性发一些随笔
@JustDoIt: 网上教程很多的。