ZotFlow 1.4.0
这一版只做一件事:让笔记在 Obsidian 和 Zotero 之间往返时,你写的东西还是你写的 样子。标注框(callout)、嵌入、标签、脚注都能原样回来,表格不再被撕开,而一类 针对含代码示例笔记的静默损坏也彻底消失了。
升级是安全的。用了任务列表或嵌入的笔记会出现一次性的小差异——文末有说明——之后 就稳定了。
更新要点
- 标注框能存活——
> [!note]、标题、折叠、嵌套全部原样往返,不再变成> \[!note]。 - 嵌入能存活——
![[笔记]]、![[图片.png|400]]和 PDF 页码链接保持嵌入形式, 不再被压平成普通图片链接。 - 行首的标签能存活——以
#project开头的行重新成为标签,而不是\#project。 - 行内脚注能存活——包括折行到第二行的那种。
- 含代码示例的笔记不再被损坏。 这是本次最严重的问题,见下。
- 表格不再被撕开——单元格里放带别名的 wiki 链接、Zotero 引用或高亮都没问题了。
- 反复同步不再累积变化。
- 新增一页文档,明确写出支持哪些语法,你不必再靠丢东西来发现。
含代码示例的笔记不再被损坏
如果一篇笔记的代码块里放了 Markdown 示例——[[wikilink]]、- [x] 任务、
[^1] 脚注、![[embed]]——这些示例会被改写,而且损坏结果会写回 Zotero,
再同步一次也无法还原。
现在代码块和行内代码里的内容完全不会被触碰。
如果你有讲解 Markdown 的笔记——操作记录、插件片段、教学材料——建议打开看看里面的 代码块。已经写回 Zotero 的损坏依然在那里;这一版能阻止它再次发生,但无法修复 已经丢掉的内容。
表格不再被撕开
单元格里放某些内容会把整行撕开,并丢掉后面的格子:
| 单元格里的内容 | 原来会怎样 |
|---|---|
[[笔记|别名]] | 整行从别名那根竖线处断开,链接被切成两半 |
| Zotero 引用或高亮 | 可见文字里含竖线时同上 |
| 带换行的标注 | 一行裂成两行 |
更麻烦的是,损坏会写回 Zotero,而且每次同步都会继续变。以上全部修复。
反复同步不再累积变化
放在项目列表或表格里的 Zotero 引用,每同步一次就会多包一层不可见的外壳。 一开始看不出任何异常,但笔记会持续变大,而且没有上限。
现在笔记会稳定下来:除了下面说的一次性格式调整,一篇你不去编辑的笔记,无论同步 多少次都保持逐字节相同。
明确知道支持什么
新增了一页——Markdown 语法支持——把所有写法分成 三类列出:
- 哪些原样回来;
- 哪些格式被规范化但含义不变(列表符号、表格对齐等——值得先了解,免得把一次性 差异当成 bug);
- 以及不支持的五项,每项都给了替代做法。
最后一类简单说就是:代码块的语言标注(所以 mermaid 图不再渲染)、YAML
frontmatter、Tasks 插件的自定义复选框状态、没被使用的链接定义,以及表格单元格里
公式内部的竖线。有替代方案的话,通常是
persist region——内容留在条目
旁边,且永不发送到 Zotero。
问题修复
- 下划线文字不再丢失内部链接——
<u>包住链接时,原来会保留文字、丢掉网址。 - 旧版本 ZotFlow 创建的笔记显示正常——内部标记行原来可能显示成可编辑正文。
<u>、<sub>、<sup>保留内部格式,不再被压平成纯文本。- 目标里含标点的 wiki 链接可用——
[[Q&A notes]]、[[snake_case_note]]、[[a~b]]以及非拉丁文标题都能往返。(目标里含星号的仍然不行,见语法页。) - Emoji、从右到左文字和生僻字符完整保留,包括 👨👩👧👦 这类组合 emoji。
你只会看到一次的变化
有两处在已有笔记首次同步时看起来会变,之后就固定了:
- 任务列表改为按 Zotero 自家编辑器的写法存储。两个方向的 Markdown 完全相同, 只是底层笔记的结构变了,所以已同步过的任务列表会显示一次差异。
- 嵌入现在保持
![[...]]形式。已经用旧的压平写法同步过的笔记 维持原样——只有新的转换会保留嵌入。