想要达到的效果
使用 markdown 总结笔记
利用笔记批量生成 anki 卡片
前期准备
批量制作 anki 卡片的两个思路
就这两个思路来说,第二个思路一劳永逸。而且作为一个程序猿,闭着眼睛也会选第二个的嘛 /w\。
我的工作流和“原料”
我一般是在 Sublime Text 上用 markdown 记各种笔记,然后通过 Sublime 的 OmniMarkupPreviewer 插件(在编辑页面 -> 右键 -> Preview Markup in Browser)在浏览器中实时预览 markdown 得到的 html 的。
简而言之, MD + ST(OmniMarkupPreviewer) => HTML 。
于是现在,我的手头有两种“原料”:
最开始的 MD 文件
实时的 HTML 文件
脚本语言的选择
看到 .html 文件,就想到了 JavaScript。所以,我选择使用 .html 文件作为“原材料”,用 js 对其进行加工,得到制作 anki 卡片所需要的 .csv 文件。
约定
P.S. 这里简单起见,只制作具有正反面的、静态的(没有完形填空等的) 、纯文字内容的(没有图片、音频的) 卡片。不过,卡片可以包含图片和表格。
思路中提到的 “遵循某种规则” 是指书写 .md 文件的时候,你需要想好用什么特殊的符号区分开卡片的正面和背面。
这里,我在 markdown 中使用第二级标题 ## 来表示卡片的正面,在 HTML 对应为 h2 标签;而在两个第二级标题之间的所有内容表示卡片的反面。
代码