笔记管理软件第一版 使用的问题
- 界面太丑
- 作为一个辅助工具 经常被遗忘
- 太散 更换环境后 需要自己配置
hexo
环境github
环境等 不像一个整体
需求
- 制作一个 完整的 软件 安装后不需要自己配置其他环境
- 除了编辑
md
文件,其他的操作均可以在 该软件实现 包括但是不限于- 增加、删除、移动
md
文件 - 建立所有
md
之间的关联性:md: tag 文件夹类别
、笔记之间的引用 - 全局搜索功能
- 将数据库和源文件自动同步到云端
- 一键生成博客
- 增加、删除、移动
- 以文件树的形式展现文件列表
- 文件的移动,重命名,删除,新建
- 文件夹监视通知
- 全局搜索功能
- 切文件时 弹出未保存文件的对话窗
- 文档修改头后 需要更新标签区域的内容,重新扫描全局标签
- 根据标签检索功能
- 打开链接时新建窗口打开,实现多窗口浏览
- 修改文件名字时自动更改文件间的引用
如果要引用一个文件,可以将被引用的文件在某个公共文件夹下建立一个备份,去引用备份文件,监视笔记文件夹
-
某个文件夹重命名或者移动,或者某个文件移动重命名
- 什么都不用做,因为文件本身没有变换
- 将原始文件路径的键删掉,将新路径的键增加
-
某个文件内容被修改了
- 如果它被引用了,就更新一下副本的本地备份
- 将被修改的文件标记为
dirty
表明这个文件信息要更新
-
某个文件、文件夹被删除了
- 遍历要删除的所有文件,查看它有没有被引用关系,如果有,弹出提示框。
- 将被删除的文件标记为
dirty
表明文件信息要更新
- 三级标题,列表,引用,链接
- yaml头
- latex公式
- 图片
- 图片自定义缩放 用 < > 格式的图片存储
- 表格
- check box
- 导入导出时不要删除多余的空行
- yaml头
- 四级五级标题
- latex公式
- 图片查看
- < > 格式的图片显示 用于缩放显示
- 行内图片
- 表格
- 文本高亮
- 代码段高亮
- 四级五级标题
- latex公式
- 按照 md 格式输入图片地址
- 按照md方式输入引用
- 有序下嵌套无序列表 delta 导出 markdown 没有缩进
- 无序下嵌套有序列表 markdown 导入 delta 后有序列表变成了无序列表
- 第二段有序列表编号从2开始 而不自动从1开始
- 相邻行的 引用 / 正文 / 代码块 之间如果在 quill 中没有空行, 导出为 markdown时会自动合并两个块儿
- refined_markdown:可扩展的解析markdown的插件
- markdown 5.0.0:官方维护的markdown解析工具
- flutter_markdown:将markdown文本直接渲染成widget
- file_manager:文件管理器 不支持windows
- zefyr
有这样的需求,文件修改后:
- 标签功能根据修改重新构建标签关系
- 自动引用功能需要重建引用关系
如果文件管理模块都依次向依赖它的模块发送更新数据的请求,必然是复杂的,高耦合的。因此通过事件机制将共同依赖的事件交由事件总线管理。事件生产方只需要发送时间通知,不需要考虑产生的事件会对哪些模块产生影响,由依赖这个事件的模块自行处理事件发生后的数据更新逻辑。
对于模块内部 使用 Provider ;例如标签模块依赖