基于文件系统的数据管理一期
博客、API 文档等的最终产物都是静态页面,它们的数据源就是符合一定标准、格式的本地文件——可将这些文件视为元数据与数据记录的混合体。
当文件多了、站点复杂了之后,单纯的本地文件形式存在几个重要痛点:
- 无法方便地知道自己有哪些文档;
- 查找与编辑不方便;
- 文档间的关系不明了也无法管理。
需要一种方式,能够像中后台业务系统一样管理本地文件,并能够通过某种方式将本地文件的数据进行转换。
需求分析
- Observe file changes with node.js - Stack Overflow
- 精读《如何利用 Nodejs 监听文件夹》 - 掘金
- Node.js 执行 shell 命令 主进程获取返回值 | Laravel China 社区
定义
数据存储的定义方式参照 QiiDB 的数据规范。
关联关系
(引入字段数据类型?)
功能
数据读取
以某个文件夹作为数据读取时所用的根目录,看作是个「数据库」。
数据转换
设计
数据读取
目录结构
- Directory-Based Routing(严格遵守 QiiDB 数据规范)
- File-Based Routing(部分遵守 QiiDB 数据规范)
content
字段对应文件名可自定义,可以为 readme
、index
或其他。
国际化
常见几种模式:
:slug.:locale.:ext
:slug-:locale.:ext
:locale/:slug.:ext
:slug/:locale.:ext