| name | markji-cards |
| description | 把学习材料(课本、笔记、错题、单词、古诗文、知识点等)整理成「墨墨记忆卡」批量导入所需的标记语法。只要用户提到墨墨记忆卡、墨墨卡片、制作记忆卡片/抽认卡/闪卡、批量导入卡片、把某段内容做成卡片背诵,或给出一段材料要求"做成卡片/挖空/出题/转成墨墨格式",都要使用本 skill。即使用户没有点名"墨墨",只要目标是产出可直接粘贴导入墨墨的卡片文本,也应使用。本 skill 同时内置了制卡的质量原则,确保生成的卡片简短、好记、抗干扰。 |
| metadata | {"author":"tianfangyetan1"} |
墨墨记忆卡 · 批量导入与制卡
「墨墨记忆卡」是一款使用间隔重复(SRS)的卡片记忆软件。本 skill 用于把材料转换成它的批量导入文本格式,并按良好制卡原则组织内容。
输出物始终是一段纯文本,用户复制后即可在墨墨中批量导入。除非用户另有要求,直接把成品放进一个代码块或 .txt 文件,便于整段复制。
一、批量导入的整体格式
批量导入时遵循三条硬规则:
- 一次导入只能进入一个牌组。不要在同一段文本里混入属于不同牌组的内容。
### 开头的行是章节名,用于在牌组内分章。
=== 单独成行,是两张卡片之间的分隔线。
###章节名
卡片1的全部内容
===
卡片2的全部内容
===
卡片3的全部内容
一张卡片内部可以有多行(题目、---、答案、挖空、选择题等),只要不出现 === 就都算同一张卡。章节名之后、下一个 ### 之前的所有卡片都归入该章节。
### 和 === 是批量导入时的默认标识符。导入界面可手动改成其他标识符,但一般不需要,沿用默认即可。
二、复习时的呈现机制(决定排版顺序,务必理解)
复习一张卡片时,用户点击任意位置逐步揭示答案。系统从上到下,每次揭示下一个可交互元素的答案。可交互元素有四类,各算一个:
- 一个挖空
[F#…#…]
- 一个选择题
[Choice#…#…]
- 一条答案线
--- 下方的答案
- 一张带遮罩的图片
[Pic#…,MID/…#](整张图的遮罩算一个,见 §9)
全部元素揭示完后,提示用户选择记忆状态(认识 / 模糊 / 忘记),然后进入下一张卡片。
含义:元素出现的先后顺序 = 揭示顺序。设计卡片时要让"先看到的提示 → 后揭示的答案"这一顺序符合记忆逻辑(先给线索,再给答案)。同一张卡片放太多互相独立的元素会让揭示过程冗长,违背"最小信息原则"(见制卡原则)。
注意:行内样式 [T#…]、段落 [P#…]、公式 [E##…]、发音 [Audio#…]、引用 [Card#…]、以及无遮罩的图片 [Pic#…] 只负责显示,不是可交互元素,不会触发揭示步骤,从一开始就直接可见(发音可设置为自动播放、引用可点击跳转,但都不占用揭示顺序)。
每张卡片必须自洽:卡片是随机抽取、逐张复习的——复习时只看得到当前这一张卡片,看不到原本牌组中的其他卡片。因此每张卡片都必须自带理解和作答所需的全部背景信息。
三、元素语法速查
1. 答案线(题目 / 答案)
题目和答案用单独一行的 --- 分隔:
共同进化的定义是什么?
---
不同物种之间、生物与无机环境之间在相互影响中进化发展。
复习时先显示题目,点击后揭示 --- 下方的答案。
2. 文字挖空 [F#分组#文字]
- 基础写法:
[F##文字],被挖掉的文字复习时隐藏,点击揭示。
- 在两个
# 之间填整数作为分组:点击其中一个挖空时,同分组的所有挖空一起揭示。
- 分组在每张卡片内独立计算;新建时默认从
1 开始编号(虽支持负数,但为了好理解一般用正整数)。
光合作用的场所是[F#1#叶绿体],呼吸作用的主要场所是[F#2#线粒体],二者都属于[F#1#双层膜]细胞器。
上例中"叶绿体"和"双层膜"同属分组 1,点击任意一个会同时揭示这两处;"线粒体"属分组 2,单独揭示。
重要:分组数字不代表复习时的揭示顺序。 复习时永远按挖空在文本中从上到下的位置顺序逐个揭示,分组只决定"哪些空一起亮"。分组编号纯粹是为了书写和维护方便,习惯上按出现先后从小到大填,但你完全可以让分组 2 排在分组 1 前面而不影响揭示顺序。
挖空内容只支持纯文本:[F#…#…] 里不能再嵌入任何行内样式(如 [T#…])或公式块([E##…]),写了也不会生效。需要被挖的若是公式或带样式的内容,改用别的方式处理(例如把公式整体作为答案线 --- 的答案,而非挖空)。
挖空是把课本句子快速转成卡片最高效的方式(见制卡原则第 5 条)。
3. 选择题 [Choice#参数#…]
* 开头是正确选项,- 开头是错误选项:
下列哪项是细胞膜的主要成分?
[Choice##
* 磷脂
- 纤维素
- 几丁质
- 淀粉
]
参数(写在两个 # 之间,逗号分隔):
- 默认会随机打乱选项顺序。
fixed:关闭乱序,按书写顺序显示。
multi:多选(标记多个 *)。
- 二者可同时用:
[Choice#fixed,multi#ELEMENTS]。
[Choice#fixed,multi#
* 正确选项
* 正确选项
- 错误选项
- 错误选项
]
选项顺序固定有意义(如时间/大小排序)时用 fixed;答案不止一个时用 multi。
ans 参数(主要给自动化脚本用):ans/字母 用按书写顺序排列的选项字母(A/B/C…)直接指定答案。提供 ans 时以它为准,会覆盖选项里的 * 标记(此时选项一般全写成 -)。多选连写多个字母,如 ans/ABC。
下午茶是什么?
[Choice#ans/A#
- 墨墨记忆卡 CEO
- 应急食品
- 宠物而已
- 一种传统活动
]
由于默认会随机打乱选项顺序,所以手写卡片时一般不用 ans,仍用 */- 标记;ans 是为批量生成脚本提供的便捷写法。
4. 行内样式 [T#参数#文字](字形 / 颜色 / 高亮)
T# 是统一的行内样式标签,参数写在两个 # 之间,可用逗号任意叠加:
B:加粗,如 [T#B#加粗]
U:下划线,如 [T#U#下划线]
I:倾斜,如 [T#I#倾斜]
D:删除线,如 [T#D#删除线]
up:上标,如 [T#up#上标]
down:下标,如 [T#down#下标]
!十六进制:字体颜色(单 !)
!!十六进制:高亮背景色(双 !!)
单 ! 是字体颜色,双 !! 是高亮,别混淆。以上开关可任意组合,例如绿字+浅绿高亮 [T#!36b59d,!!c5f1c0#重点],再加粗就是 [T#B,!36b59d,!!c5f1c0#重点];又如加粗下划线 [T#B,U#关键术语]。
优先使用这 7 种系统内置色(颜色值直接写 6 位十六进制;字体用左列深色,高亮用右列浅色):
| 颜色 | 字体色(!) | 高亮色(!!) |
|---|
| 红 | d16056 | fbc0bc |
| 橙 | dc7705 | fedcb6 |
| 黄 | eb9e27 | fff895 |
| 绿 | 36b59d | c5f1c0 |
| 蓝 | 275bd1 | cfdeff |
| 紫 | 5c2fa6 | dbc9fb |
| 灰 | 90959b | e5e6ea |
写法示例:[T#!d16056#红字]、[T#!!fff895#黄底]。
两条关键限制(务必遵守):
-
行内样式里不能包含挖空 [F#…#…](段落样式 [P#…] 则可以)。若要给一段带样式的文本挖空,把挖空前后的文本各自拆成独立的 [T#…],挖空夹在中间。例如想让整句染绿、但只挖"叶绿体":
[T#!36b59d#光合作用的场所是][F##叶绿体][T#!36b59d#,需要光照]
(注意挖空本身仍是纯文本,被挖的"叶绿体"不带颜色。)
-
行内样式不能自嵌套——一个 [T#…] 里不能再套另一个 [T#…]。若想在已有样式的局部再叠加样式,拆成三个独立的 [T#…]:前段、要叠加样式的中段、后段,中段把所有样式一次写全。例如整句绿字,其中"叶绿体"再加粗:
[T#!36b59d#光合作用的场所是][T#B,!36b59d#叶绿体][T#!36b59d#,需要光照]
中段 [T#B,!36b59d#…] 把"加粗+绿字"一次写全,而不是嵌套。
5. 段落样式 [P#参数#整行内容](块级,必须整行使用)
P# 是块级段落标签,必须独占一整行,不能嵌在句子中间。参数可逗号组合:
H1:标题
center:居中
L:无序列表的一项(每个 [P#L#…] 渲染成一个项目符号)
[P#H1#本章标题]
[P#center#居中的一句话]
[P#L#无序列表第一项]
[P#L#无序列表第二项]
系统不内置有序列表语法,需手动写序号。墨墨主题色是绿色 #36b59d,因此优先用绿色作为序号文字的颜色:
[T#!36b59d#1.] 有序列表第一项
[T#!36b59d#2.] 有序列表第二项
嵌套规则:段落标签 [P#…] 里可以再放行内标签 [T#…],也可以放挖空 [F#…];但行内标签之间不能互嵌,行内标签里也不能放挖空(见上一节的两条限制)。例如:
[P#H1,center,L#前缀[T#B,!36b59d,!!c5f1c0#重点片段]后缀]
表示一个"标题+居中+列表项"的段落,其中"重点片段"被加粗、染绿字、加浅绿高亮,前后为普通文本。
6. 公式 [E##公式](KaTeX,非 LaTeX)
[E##(\sin x)'=\cos x]
公式用 KaTeX 渲染(不是完整的 LaTeX),只能使用 KaTeX 支持的函数与符号,支持范围见 https://katex.org/docs/supported.html。数学/物理/化学的公式、希腊字母、上下标等用它,避免用纯文本拼凑导致歧义;不确定某个命令是否可用时,以该支持列表为准。
只支持块级公式,不支持行内公式:[E##…] 必须独占一行,否则不会渲染。如需"文字+公式+文字",把公式单独拆成一行。
块级元素(选择题 [Choice#…#…]、公式 [E##…]、段落 [P#…]、图片 [Pic#…#])必须独占一行,且行首不能有任何缩进(空格 / 制表符):一旦前面有缩进,墨墨就不会把它识别为块级元素,不会渲染,会原样当作纯文本显示。写这些元素时务必让标记顶格。唯一例外是多张图片:多张 [Pic#…#] 允许并排写在同一行(如 [Pic#ID/3636#][Pic#ID/3637#])。
7. 发音 [Audio#参数#显示文本](行内)
[Audio#ID/3636,A#我爱北京天安门]
ID/ 后接发音文件的 id(需先通过墨墨 API 上传音频取得)。
- 两个
# 之间是参数(逗号分隔),右侧 #…] 是卡面上显示的文本。
A:遇到即自动播放——复习到该卡时碰到此元素会立即发音;不加 A 则需点击显示文本才播放。
- 发音的显示文本内部和外部都不能嵌套行内样式
[T#…]、挖空 [F#…] 或公式 [E##…]。
批量导入暂不支持直接插入音频(与图片同理)。音频必须先通过墨墨的 API 单独上传拿到发音 id 后,才能在文本里用 [Audio#ID/…#] 引用。若材料依赖发音(单词、古诗朗读等),告知用户音频需先走 API 上传取得 id,批量导入文本里留下占位符,提示用户在这里插入发音。
8. 引用 [Card#参数#显示文本](行内)
[Card#ID/7e01-7e02-7e01#查拉图斯特拉如是说]
ID/ 后接被引用卡片的 id;一个引用可挂载多张卡片,多个 id 之间用减号 - 连接(上例挂了三张)。
- 右侧
#…] 是显示文本,点击可跳转到被引用的卡片。
- 同发音一样,引用的显示文本内部和外部都不能嵌套行内样式、挖空或公式。
批量导入暂不支持直接生成卡片链接(与图片、音频同理)。被引用卡片的 id 需先实际创建出那张卡片才能取得,无法在导入文本里凭空写出。若需要卡片间互链,告知用户先建好目标卡片拿到 id,再在批量导入文本里用 [Card#ID/…#] 引用,否则留占位符提示用户后续补全。
9. 图片 [Pic#参数#](块级)
图片需先通过墨墨的 API 单独上传拿到图片 id 后,在批量导入文本里用 [Pic#…#] 引用(不能直接把图片文件写进文本):
[Pic#ID/3636,MID/2828#]
ID/ 后接图片 id。
MID/(可选)后接图片遮罩文件的 id,用于遮挡图片的部分内容。
- 右侧
#] 一般留空。
- 一行可并排多张图片:
[Pic#ID/3636#][Pic#ID/3637#]。
遮罩说明:一张图片的遮罩可遮挡多个区域、点击分别显示;但在揭示机制里,整张图的遮罩算一整个可交互元素(见 §二)。若用默认的"点击任意处揭示",会一次性揭示所有遮罩区域,因此复习时通常手动逐个点击图片上的遮罩来揭示。
批量导入暂不支持直接插入图片。图片必须通过墨墨的 API 单独上传拿到图片 id 后引用。若材料强依赖图片(解剖、地理、几何等),告知用户图片与遮罩需先走 API 上传取得 id,批量导入文本里留下占位符,提示用户在这里插入图片。
四、制卡质量原则(核心,决定卡片好不好用)
把材料切成卡片时,不要简单地照抄"大段问→大段答"。要遵循一套经实践检验的制卡原则,让卡片简短、好记、抗干扰。完整版见 references/制卡20条原则.md,首次为用户做卡片、或材料较复杂时务必先通读它。这里给出最常用的几条要点:
- 先理解再记:不理解的材料不要做成卡片硬背;先建立整体框架,再拆成独立问答。
- 最小信息原则(最重要):一次复习只考一个最小知识点,问题短、答案更短。把一段复杂描述拆成多张极简卡片,而不是一张大卡。
- 多用挖空:用
[F##…] 把课本原句直接转成卡,是最快且效果好的方式。
- 避免集合与枚举:不要让一张卡要求"列出全部 X 项"。拆成多个带语义提示的小问,或用重叠式挖空逐段记忆(古诗文尤其适用)。
- 抗干扰:相似内容容易混淆,措辞要清晰,必要时加上下文提示/标签消除歧义。
- 优化措辞:删掉与答案无关的冗词,让大脑更快"点亮"目标。
- 善用例子与联想:把内容和已知事物、个人经历、生动场景挂钩,显著缩短记忆时间。
- 标注来源与时效:易变信息(统计数据、版本)加时间戳;但时间戳本身一般不作为要背的内容。
参考文档示例的写法 → 墨墨语法(references/制卡20条原则.md 里的例子用"问/答"和省略号占位表述,转成墨墨时照此映射):
| 参考文档中的写法 | 墨墨写法 |
|---|
用省略号 [...] 标记的单个挖空 | [F##文字] |
| 多处需要一起揭示的挖空 | 同分组 [F#1#A]…[F#1#B] |
| 问 / 答 两段 | 题目 + --- + 答案 |
注意:墨墨的挖空只用 [F#分组#文字] 这一种写法。不要写成其他记忆软件的挖空格式,墨墨不识别,会原样显示。
五、完整示例
把下面这段课本内容转成墨墨卡片:
罗伯特森用电子显微镜观察到细胞膜暗-亮-暗的三层结构,提出细胞膜"蛋白质-脂质-蛋白质"三层结构模型。
坏做法(一张大卡,违背最小信息原则):
###细胞膜
罗伯特森的主要贡献是什么?
---
用电子显微镜观察到细胞膜暗-亮-暗的三层结构,提出蛋白质-脂质-蛋白质三层结构模型。
好做法(拆成多张挖空卡,问短答更短):
###细胞膜
[F##罗伯特森]用电子显微镜观察到细胞膜暗-亮-暗的三层结构,提出蛋白质-脂质-蛋白质三层结构。
===
罗伯特森用[F##电子显微镜]观察到细胞膜暗-亮-暗的三层结构,提出蛋白质-脂质-蛋白质三层结构。
===
罗伯特森用电子显微镜观察到细胞膜[F##暗-亮-暗]的三层结构,提出蛋白质-脂质-蛋白质三层结构。
===
罗伯特森用电子显微镜观察到细胞膜暗-亮-暗的三层结构,提出细胞膜[F##蛋白质-脂质-蛋白质]三层结构。
古诗文(重叠式挖空,避免整段枚举):
###醉翁亭记
环滁皆山也。[F#1#其西南诸峰,林壑尤美,望之蔚然而深秀者,琅琊也。]
===
[F#1#环滁皆山也。]其西南诸峰,林壑尤美,望之蔚然而深秀者,琅琊也。
六、交付前自检清单
生成卡片文本后,逐项核对:
- 牌组单一:整段只对应一个牌组。
- 分隔正确:每两张卡之间有且仅有一行
===;### 只用于章节名。
- 标签闭合:每个
[F#…#…] / [Choice#…#…] / [T#…#…] / [P#…#…] / [E##…] / [Audio#…#…] / [Card#…#…] / [Pic#…#] 都正确闭合,方括号成对(含嵌套时的内外两层)。
- 选择题:用
* 标记答案时至少一个 *(多选才有多个 *);提供 ans/字母 时以 ans 为准、会覆盖 *(一般选项全写 -);需要固定顺序加 fixed。ans 一般只在自动化脚本里用。
- 最小信息:没有"列出全部 N 项"式的大卡;长答案已拆分或改成挖空。
- 每张卡片自洽:复习时随机抽取、只看得到当前这一张,看不到原先牌组中的其他卡片;确保作答所需的背景信息(前提、限定条件、所属主题)都已写进卡片本身,没有依赖前后卡片或材料顺序。
- 挖空纯文本且不在行内样式内:
[F#…#…] 内没有嵌 [T#…]/[E##…];挖空也没有被写进 [T#…] 里(需要时拆成"前段 T + 挖空 + 后段 T")。
- 嵌套合法:只有段落
[P#…] 能包住行内 [T#…] 或挖空 [F#…];行内 [T#…] 之间没有互相嵌套(叠加样式时拆成三段、中段写全样式)。
- 块级元素顶格独占整行:
[Choice#…#…]、[P#…#…]、[E##…]、[Pic#…#] 都单独成行、行首无缩进(有缩进会被当纯文本不渲染),没有写在句子中间;唯一例外是多张图片 [Pic#…#] 可并排在同一行。
- 有序列表序号染色:手动序号优先用绿色
[T#!36b59d#1.]。
- 颜色取值:尽量用 7 种内置色;单
!(字体)与双 !!(高亮)没搞反。
- 图片走引用:图片只用
[Pic#ID/…#] 引用已上传的 id;带遮罩的图片记得它在揭示里算一个可交互元素,并已提醒用户图片/遮罩需走 API 上传。
- 公式用
[E##…]:而非纯文本拼凑;公式必须独占一行、行首无缩进才会渲染,和其他文字同行会被当纯文本不渲染。
- 发音 / 引用不嵌套:
[Audio#…]、[Card#…] 的显示文本内外都没有套行内样式、挖空或公式;引用多卡时 id 用 - 连接。
- 音频 / 卡片链接走引用:和图片一样,批量导入不能直接生成音频或卡片链接——音频 id 需先走 API 上传、卡片 id 需先实际建卡取得;文本里只能用
[Audio#ID/…#] / [Card#ID/…#] 引用已有 id,否则留占位符提醒用户。
确认无误后,把成品放进一个代码块或 .txt 文件交付,并简要说明分了几章、共多少张卡。