本来是在模仿hexo写一个基于fs管理内容的静态博客,后来发现hexo其实是用一个db.json缓存数据的,于是我也做了类似的功能,选择了sqlite,最后写着写着我又想基于sqlite加入动态功能了
看了一下hexo是用md文件的fs路径做key储存数据的,一旦文件名变化,旧的文章将从db.json里删除。
而我目前实现的系统会自动为新识别到的文件创建一个db key,再把db key写回mdx文件上,今后将以这个key来读取本地文件并操作数据库,从而不再依赖文件名做db索引。这样的意义是用户既可以在本地文件系统上直接编写mdx/md文件,也可基于db拓展动态功能,比如统计、留言数据等功能,甚至还可以提供web端的编辑器在网页上编辑mdx/md文件。
这套系统的数据库既可以选择sqlite,并借助github等外部储存服务同步db以直接部署到vercel等serverless服务上;也可以选择pg或mysql以将其转为完全动态的CMS
@mashiro 不上不下不尴不尬的感觉