Dazeng 又开始折腾了!

本站是基于“一本笔记”(安卓端+windows 端)+ Ucms 模式实现的,客户端编辑文章,利用同步自动发布文章,中间实现桥梁是“一本笔记”的的备份文件 json ➡️ MySQL ,用起来挺好,一切顺利,唯一有点遗憾的是,“一本笔记”没有图文混排,虽然通过 json 转 MySQL 时添加变量的形式实现了图文混排,但在客户端的时候还是没有的,有点分离感,还有一点,就是windows 客户端编辑内容时无法使用右键(可以使用键盘快捷键)。

前几天在试用各种日记、笔记软件的时候,发现一款不错的,就是“知拾笔记”,它是一款笔记类软件,使用后发现好像比“一本笔记”还是和我的使用场景:

  • 支持 Markdown 编辑,支持 Markdown 图文混排(本地图片),支持插入本地文件(附件);
  • 多端同步,有我需要的安卓端和 windows 端;
  • 备份,备份是图片压缩一个文件,其余附件压缩一个文件,数据库(数据库为Sqlite3)一个文件;
  • 同步,同步是数据库文件+一个文件夹(里面是图片和附件),未加密,方便我调用;
  • 数据文件直接就是 db 文件,虽然与 MySQL 相比稍微逊色一丁点,但对于我来说也足够使用,省去再转换为 MySQL 的麻烦;
  • 支持双链,这让笔记(文章)之间的跳转在软件内和web页面上统一起来,方便管理;
  • windows 客户端支持使用鼠标右键。

说干就干,开始折腾:

  1. 数据转换:将数据从“一本笔记”转为“知拾笔记”,这一步没有现成的方法,“知拾笔记”只支持批量导入 txt、Markdown 和 mht 文件,而一本笔记虽然支持导出为 txt 文件,但导出的是一整个,即所有日志都在一个 txt 文件。我的做法是,利用“一本笔记”同步的json 文件,通过 php 将数据导入“知拾笔记”的数据库中,“知拾笔记”支持的数据得以完美保存;
  2. 修改部分文章双链和图片数据,“一本笔记”不支持双链,但我的部分文章通过手动添加链接的形式添加了,这部分文章需要修改,还有就是包含图片或其他附件的文章,需要重新编辑下(当然,也不可不修改,只需保留原来的图片数据即可,但为了统一,我还是修改了);
  3. 废除了转换为 MySQL,不在使用 Ucms ,而是自己写几个 PHP 文件,直接读取“知拾笔记”同步的 SQLite 数据库;
  4. 设置缓存,Sqlite 的并发读取速度不佳(其实我觉得也还可以,毕竟我这个网站没几个人看),于是我对笔记数据做了缓存,初次打开文章将自动缓存,当然,我也搞了个简单的页面,可以设置重置所有缓存、仅重置更新文章的缓存和单独重置某篇文章缓存。

OK,搞定,收工。