xxhk.org

学习骇客

Mubu to Anki 3.0 更简单,更方便,却更强大|学习骇客

2025 / 4 / 20

简而言之:从幕布导出 HTML,从 Anki 导入 HTML。


2.0 版 更简单、更方便却更强大。新版不需要通过在线转换网站上传、转换、下载了,没有层级要求了,不会再因为特殊字符报错了,处理效率也更高了。

顺便更新了 2025 卡片系统:以 Anki 为中心的终身学习系统 一文中的幕布环节。

理由

  • 沿用幕布工具和主要习惯;

  • 保留课本、课程或其他资料的结构;

  • 多一份讲义的备份,便于将来打印或分享;

  • 防止笔记里的实体图片过多导致存储和同步的麻烦;

  • 在不方便用 Anki 的场合快速记到幕布里;

  • 在复习自己的笔记之余,利用幕布的“AI 闪测”给自己出题作为补充测验;

  • 通过幕布,将 Xmind 的思维导图笔记导入 Anki;

  • 通过幕布,把 Markdown 一类笔记导入 Anki,如 Obsidian 等。

用法

准备:安装插件 ,导入模板 ,重启 Anki。

流程:从幕布导出 HTML 文件,从 Anki 里依次选择菜单栏的“工具 - Import HTML from Mubu”。

记法

直接记正文(Alt+4),或者在标题下记(Alt+1,2,3)。

支持内部引用以外的所有原生格式,例如标题、正文、描述;加粗、斜体、下划线、删除线;文字颜色、高亮颜色;代码块、公式、超链接等。

如果需要忽略某些笔记,可以标记为“完成”,或者将上级标题折叠后再导出(暂时性用法)。

层级

记住一点即可,不要把正文(Alt+4)用作标题(Alt+1,2,3)。

你可以在全篇文档下全记正文。

如果希望拥有层级结构,可以先创建标题,然后在标题下新建正文节点。

标题的选择也完全自由,可以只用一个 h1、h2 或 h3 一级标题,也可以记 h1 - h2 或 h2 - h3 的两级标题,还可以用 h1 - h3 三级标题,总之随便怎么用都行。

对标题的应用也没有统一的要求,例如你可以在 第 2 章标题下记本章介绍部分的笔记,然后在 第 2 章、第 1 节标题下记本章正式开始后的内容。

你也可以先随便记正文,记完以后再将某些正文设置成标题样式(Alt+1,2,3)。

题型

只有一种模板,但会根据笔记自动适应题型。

一个节点就是一条浏览题型。

在一个节点里给某些文字设置下划线样式,就是填空题型。

一个节点下可以选择是否继续添加下级节点,如果节点是陈述句,那下级就是它的补充。

如果一个节点是疑问句(不需要问号标记),再在该节点下新建下级,笔记就是问答题型。

正文节点可以添加无限多个下级,以及下级的下级。

标签

结构标签

文档标题和标题节点(Alt+1,2,3)会拼接成 Anki 里该笔记的多级标签,例如“文档名::章名::节名”。

如果没有上级标题节点(Alt+1,2,3),文档标题会作为 Anki 里该笔记的标签,例如“文档X”。

在 Anki 的浏览窗口,左侧可以像展开章节一样展开多级标签。

在 Anki 的浏览窗口,可以选中多级标签,然后选中其中的笔记创建筛选的牌组,例如在学习第 5 章之前先集中复习一轮 第 4 章的笔记,这样可以大大避免学习新知识时遇到理解障碍。

主题标签

在幕布里记 #间隔效应 这样的标签,导入 Anki 后标签也会附带在笔记里。

在幕布里记 #间隔效应丨定义 这样的标签,导入 Anki 后标签会成为“间隔效应::定义”这样的多级标签。“丨”不是制表符,而是汉字“gun”。

在 Anki 的浏览窗口,可以搜索主题标签,然后创建筛选牌组进行专题复习,例如从 X 书、Y 书、Z 书都记了“间隔效应”的主题笔记,就可以通过筛选牌组集中复习。在熟练掌握单个卡片的情况下,进行这样的专题复习不仅更有趣,也能切实提高知识的掌握和应用的水平。

即使在幕布里,点击一个标签后,也可以聚合显示。

更新

默认情况下,Anki 会根据正面(首字段)判断笔记是否重复,如果重复了就会在导入时忽略。

本插件更进一步,如果首字段相同,但结构标签(章节)和主题标签都不同,仍然支持导入,例如你在第 1 章记了某概念的笔记“主动回忆的例子”,又在第 5 章记了它的例子,那么这两个例子都可以导入。

你也可以把已经导入过的章节标题标记为“完成”,那么标题和它的下级笔记都不会再导入 Anki。

你还可以把不希望导入的章节标题折叠起来,那么在导入时这部分就会被忽略。这是利用了幕布的一个 Bug,即折叠的部分在导出为 HTML 时丢失,可能在将来修复后失效(幕布的更新日志 )。

牌组

打开 Anki 插件的设置,可以自定义导入的目标牌组。如果你经常需要变动牌组,可以先导入到默认牌组,再定期进入浏览窗口、根据多级标签显示的文档和章节信息逐个更改到细分的牌组。但不建议牌组分得太细,这样会丢失必要难度(Desirable difficulty),导致你平时做惯了单元测验(细分牌组)后很难适应期末考试(大牌组),而且笔记之间的关联机会变少了,会导致复用率和创造性都因此降低。

每次笔记导入 Anki 的顺序与文档里笔记的从前往后的顺序一致,如果分批导入则批次靠后的笔记的顺序也靠后。

模板

导入配套的模板后,可以自定义样式,打开模板的代码窗口,能看到逐行注释。

如果你想自定义幕布的样式在 Anki 里的显示效果,跟着模板代码的注释修改即可。当你将其当作代码时可能会觉得很难,但当你把它们当作英语单词时就简单多了。

如果你想自定义 Anki 自带的加粗、斜体、等按钮的样式,请参考(视频)课程 学习的技术 V5 中的 8.2 增强按钮 一节或者(文章)自定义加粗等按钮的强调效果 一文。

难点

从幕布导入 Anki 的笔记使用幕布的样式,在 Anki 的编辑窗口点击字段右上角的尖括号,进入 HTML 模式后就能看到样式对应的 HTML 代码了。

如果在 Anki 里修改笔记,通常不需要进入 HTML 模式,只要在原有样式前中后修改,都会沿用原有样式。如果另起一段,因为不具有幕布的 HTML 样式,新增内容的样式可能就不一致。又或者插入的内容不再原有样式标签对之间,就不会沿用上下文的样式。

把 HTML 代码发给 DeepSeek,然后指示“将这段代码进行结构化重组并分层解释”便能了解其中的含义了。不要畏难,其实就是几个英语单词的问题,最重要的是你也可以完全不管它们。

局限

插件不支持手机版 Anki。

插件不支持双向同步。

折叠的笔记在导出为 HTML 文件时,被折叠的部分缺失,这可能是幕布的一个 Bug 🐞,已经反馈给官方修复了。可以暂时利用这个缺陷设置某些笔记不导入,或者在导出为 HTML 前(暂时)全部展开(快捷键为 Ctrl+Shift+Alt+.)。

进阶

转入 Anki 后,笔记里的图片依然是使用幕布的云存储,如果希望下载到本地使用,可以安装 Images Transfer 插件,从菜单栏里选择“工具 - Images Transfer - 下载⋯”即可。

使用 Schema Weaver 插件,即可在 Anki 里呈现类似于幕布里的结构层级和主题聚合。

Xmind(思维导图)导出的 .xmind 文件可以直接导入幕布,将非笔记正文设置为标题样式后,就可以直接导出为 HTML 文件后使用本插件导入 Anki。

其他笔记的 Markdown 文件也可以通过粘贴或导入到幕布,然后使用本插件,可能需要微调正面和背面字段对应的层级。

幕布自身也加入了“AI 闪测”功能,可以让 AI 根据当前文档自动出题,可以作为复习后期的补充测验。

其他

旧版方案的同学如何过渡?只需要把原来的前三级标题批量设置为标题即可,例如 Shift+Alt+2 可以把全部二级节点(正文)一键设置成二级标题节点,再通过 Shift+Alt+R 一键设置成红色(颜色不是必须项)。再从头开始用本插件,先安装插件,再导入配套模板即可。

相似模板如何合并?填空题和字段数量不等的填空题可以合并,问答题和字段数量不等的问答题也可以合并,但填空题和问答题不能相互合并。先导出(.colapkg) 进行全局备份,确定是否可以合并,再比较字段的对应关系,然后到浏览窗口选中左侧的 A 模板,接着全选笔记,再从右键菜单里选择“更改笔记模板”,选择旧模板和新模板并将字段一一对应。最后删除旧模板即可。