MemoFlow
基于 DataviewJS 的 Obsidian 记录与回顾面板,提供:
- 快速写入时间戳笔记 / 日记
- 任务 / 列表模式切换
- 日记、时间戳、任务、普通笔记统一回顾
- 标签 / 日期范围筛选
- 单文件版与拆分脚本版两种使用方式
从 v2.0.0 开始,本仓库只维护一个官方版本:-MemoFlow-.md。
旧的 MemoFlow / MemoFlow2 双版本体系,以及历史拆分脚本,统一移入 legacy/ 目录保留,不再继续维护。
当前发布内容
-MemoFlow-.md:官方单文件版,包含输入区 + 结果区MemoFlowInputbox.js:官方拆分输入模块MemoFlowTasksView.js:官方拆分结果模块MemoFlowTest.md:拆分脚本测试样例legacy/:历史版本与旧试验稿
当前主线包含的改动
相对于仓库里原来的 -MemoFlow-.md / -MemoFlow2-.md,当前主版本已经合并近阶段正式使用中的主要行为改动:
- 合并原先双版本思路,统一为可配置
PathToDiary + DiaryFormat + FlowFormat - 支持更紧凑的顶部布局、分页与筛选面板入口
- 顶部复选框会根据可用宽度在单行 / 多行 / 面板之间自适应切换
- 新增三态折叠按钮:自动 / 全部折叠 / 全部展开
- 支持渐进扫描与分页锁定,刷新时减少闪烁感
- 支持 sender 草稿缓存与筛选条件持久化
- 写入日记时优先兼容官方 Daily Notes 配置
- 标签筛选支持
!tag、a,b、a;b与层级标签树匹配 - callout 压缩样式仅作用于 MemoFlow 区域,并统一了
quote/todo/tip的内边距表现 - 标签筛选固定为按文件级 frontmatter 标签过滤
旧版本差异
旧 MemoFlow
旧版特点:
- 默认按
PathToDiary/{年份}/YYYY-MM-DD.md自动创建日记 - 日期格式基本固定
- 布局与筛选能力较早期
旧 MemoFlow2
旧版特点:
- 已支持自定义
PathToDiary - 已支持
DiaryFormat/FlowFormat - 是后来很多行为的基础
当前主版本
当前官方版本可以视为:
- 以旧
MemoFlow2的可配置路径/命名能力为基础 - 吸收正式使用版里已经验证过的一体化 UI / 筛选 / Daily Notes / 样式改进
- 不再继续维护“双版本分叉”
如果你以前依赖“自动创建年份子文件夹”的旧行为,可以继续参考 legacy/-MemoFlow2-.md 或旧仓库历史,自行保留那套策略。
标签筛选规则
当前版本的标签筛选规则已经收敛为:
- 时间戳笔记:按该文件 frontmatter 中的
tags或tag过滤 - 日记:按整篇日记文件 frontmatter 中的
tags或tag过滤 - 日记中的每一条闪念/任务:只继承所属日记文件的标签,不单独解析正文内联 tag
也就是说,当前版本不按正文里的 #标签 做筛选依据。
筛选表达式语义:
a,b:表示a AND ba;b:表示a OR b!a:表示NOT a- 层级标签按
/处理:项目会同时命中项目、项目/PKM、项目/AI - 输入时带不带
#都可以,内部会自动归一化
组合规则保持一致:
a,!b:表示a AND NOT ba;!b:表示a OR NOT ba,!b;c,!d:表示(a AND NOT b) OR (c AND NOT d)项目,!归档:表示命中项目这一整棵层级,同时排除归档这一整棵层级
示例:
FilterTags:
- 日记
- 项目,重要
- 项目,!归档
- 项目/PKM
含义是:
- 命中
日记 - 或同时命中
项目与重要 - 或命中
项目且不命中归档 - 或命中
项目/PKM及其更下层子标签
使用方式
1. 官方单文件版
直接使用 [ -MemoFlow-.md ],复制到你的库中即可。
适合:
- 想直接复制即用
- 不想拆分维护脚本
- 希望一个文件里就包含完整逻辑
2. 官方拆分脚本版
在一个 Markdown 笔记中分别引用:
await dv.view("Project/MemoFlow/MemoFlowInputbox");
await dv.view("Project/MemoFlow/MemoFlowTasksView");
如果你把仓库放在别的目录,请把 Project/MemoFlow/ 改成你自己的 vault 相对路径。
YAML 参数
| 参数 | 默认值 | 说明 |
|---|---|---|
PathToTimestamp | data/timestamp | 时间戳笔记目录 |
PathToDiary | Mindscape/Diary | 日记目录 |
PosToDiaryList | 闪念 | 日记中普通列表写入的标题 |
PosToDiaryTask | 计划 | 日记中任务写入的标题 |
DiaryFormat | YYYY-MM-DD | 日记文件名格式 |
FlowFormat | YYYY-MMDD HHmmss | 时间戳笔记文件名格式 |
DefaultToDiary | false | 默认写入日记还是时间戳 |
DefaultAsTask | false | 默认按任务还是普通列表写入 |
ShowTask | true | 结果区默认显示任务 |
ShowList | true | 结果区默认显示普通列表 |
ShowDiary | true | 结果区默认显示日记来源 |
ShowMemo | true | 结果区默认显示时间戳来源 |
LimitNum | 32 | 每页显示数量 |
FilterTags | [] | 默认标签筛选条件 |
TimestampNoteCallout | quote | 时间戳普通笔记的 callout 类型 |
DiaryNoteCallout | tip(官方文件预设) | 日记普通笔记的 callout 类型 |
示例配置
---
PathToTimestamp: data/timestamp
PathToDiary: Mindscape/Diary
PosToDiaryList: 闪念
PosToDiaryTask: 计划
DiaryFormat: YYYY-MM-DD
FlowFormat: YYYY-MMDD HHmmss
DefaultToDiary: false
DefaultAsTask: false
ShowTask: true
ShowList: true
ShowDiary: true
ShowMemo: true
LimitNum: 32
FilterTags: []
TimestampNoteCallout: quote
DiaryNoteCallout: tip
---
legacy 目录说明
legacy/ 中目前保留:
-MemoFlow2-.mdMemoFlowInputbox5.jsMemoFlowTasksView1.js~MemoFlowTasksView5.js
这些文件用于对照历史实现与兼容旧方案,不再作为当前发布主入口。
发布说明
当前建议发布版本号:v2.0.3
v2.0.3 在 v2.0.2 基础上主要完成了界面与样式收尾:
- 继续稳定
quote/todo/tip三类 callout 的边距与内边距表现 - 修正
quote中嵌入 markdown 与 Dataview 任务列表带来的额外空白 - 保持拆分版、官方单文件版与库内实际使用版的样式一致
- 对当前 callout CSS 做最终整理核对,保留必要的防御性规则,避免误删导致回归
v2.0.2 主要补充了:
- 根据实际渲染结构继续修正
quote顶部空白与底部贴边问题 - 统一
quote卡片与todo/tip的内容区观感
v2.0.1 主要补充了:
- 标签筛选支持
!tag否定语义 - 层级标签按
/自动匹配整棵子标签树 - 结果区顶部控件改为按实际可用宽度自动切换布局
- 右侧新增批量折叠 callout 卡片按钮,并扩展为自动 / 折叠 / 展开三态逻辑
v2.0.0 的里程碑意义仍然成立:
- 正式结束
MemoFlow/MemoFlow2双主线 - 确认
-MemoFlow-.md为唯一官方主版本 - 将历史脚本和旧版本移入
legacy/
如果你只想下载一个文件,请直接使用 -MemoFlow-.md。
How to Install
- Download the ZIP or clone the repository
- Open the folder as a vault in Obsidian (File → Open Vault)
- Obsidian will prompt you to install required plugins
Stats
Stars
11
Forks
1
Last updated 1mo ago
Categories