我有两个卡在我的卡片类型,这是我创建的填空删除类型,通过复制它。
如果我的卡的位置是1,比文档中描述的那样,{{cloze:MyDataField}}
工作,我喜欢。但如果卡的位置为2,则填空删除扩展部分似乎被禁用。
在第二位置的卡片上,我只需要显示句子,没有{{c1::word1}}
,.,{{cN::wordN}}
标签,但是用这些词包装。
是否有一种方法可以使用我的卡片类型模板中的一个封闭类型创建两张卡片?或者,是否有一种方法可以获得我的字段的纯文本,以便我可以使用JavaScript解析它?或者,我可以以某种方式显示字段的内容,忽略{{c1
表达式,但显示内容吗?
发布于 2017-10-08 13:17:57
如果您熟悉Python2,就可以编写一个Anki外接程序来实现这一点。安装了这个插件的桌面Anki编译的卡片可以在AnkiWeb上工作,而不会显示胡言乱语。这是一个(未经测试的!)加载项应该注册一个特殊的fmod
,允许您编写{{uncloze:fieldname}}
以获得纯文本、无标记、{{cn::
和}}
标记。
import re
from anki.hooks import addHook
from anki.template.template import Template
"""Adds support for the unclose Moustache tag.
Blame wizzwizz4 if this does / doesn't work.
Modified to work for <anki_version> by <your_name>."""
open_cloze_regex = re.compile(r"{{c\d+::")
def fmod_uncloze(txt, extra, context, tag, tag_name):
field_name = tag_name[8:] # Strip off "uncloze:"
field_content = Template("{{" + field_name + "}}", context).render()
return open_cloze_regex.sub("", field_content).replace("}}", "")
addHook("fmod_uncloze", fmod_uncloze)
将它放入Anki加载项目录中的一个文件中,然后重新启动Anki来安装它。
这段代码大部分来自this answer。
https://stackoverflow.com/questions/40333508
复制相似问题