Hello, I was wondering if it was possible to add some kind of incremental cloze deletion feature to Anki.
What I mean is the ability to hide parts of the card that are not the one supposed to be learnt.
For instance, if I wanted to learn a set of related information, I could have something of the form
My first information is {{c1::something}}, then come {{c2::french fries}}, and then finally {{c3::Rust}}.
Oh, and did I mention {{c1::something else}}?
The problem is that, if the deleted parts are too related, I could infer from non-deleted parts the one that is missing, and thus reliably find the missing one without memorizing a thing.
This could be solved by showing only progressively the information. When I study the c1
part, I don’t get to see c2
or c3
. When I study c2
, I can see c1
, and when I study c3
, I can see everything else. This way, if I tried to actually remember all the information out of nothing, I could sequentially find everything.
This simple feature is actually a “superset” of some other add-ons (for instance, LCPG), so it’s a sign that it would be useful (even the very used IO add-on provides this feature), and it’s simplicity matches the design of cloze-deletions.
What I am unsure about is what syntax could it be given. I though about something like
{{c1::...}}
works just like it currently does. To add conditions on when to hide a certain part of text, add (optional) parenthesis after the identifier.
{{c3(<)::.}}
would hide this part if the identifier of the current cloze-deletion is greater than this one (ie. it would be hidden when studying {{c4::...}}
, but not {{c2::...}}
). Similarly, {{c3(>)::...}}
would hide it when the cloze-deletion is less than the current one. Specific id could also be given: {{c2(5)::...}}
, or simply hide it always {{c3(*)::...}}
. Finally, multiple (or-related) conditions with {{c3(>,5,8)::...}}
, meaning hide it for for clozes 1
, 2
, 5
and 8
.
This has the advantage of being short, quickly understandable, not too verbose and it covers all the use-cases I could think of. The disadvantage is that it doesn’t match any other template-like syntax that Anki provides, and adding tons of different syntax leads to Perl (or Dr.Racket)…