跳到主要内容

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 完全相同, 只是底层笔记的结构变了,所以已同步过的任务列表会显示一次差异。
  • 嵌入现在保持 ![[...]] 形式。已经用旧的压平写法 ![](...) 同步过的笔记 维持原样——只有新的转换会保留嵌入。