st3v3nmw / obsidian-spaced-repetition

Fight the forgetting curve by reviewing flashcards & entire notes on Obsidian
https://www.stephenmwangi.com/obsidian-spaced-repetition/
MIT License
1.53k stars 184 forks source link

[Feat] Allow for fixed chain repetition #43

Closed mkschulze closed 3 years ago

mkschulze commented 3 years ago

It would be a great help to learn schemata that have a fixed order of steps.

Say I want to learn a scheme to solve a legal case, for example:

Title: Scheme to argue on claim XY

  1. condition 1 (card 1 front) / explanation (card 1 back)
  2. condition 2 (card 2 front) / explanation (card 2 back)
  3. condition 3 (card 3 front) / / explanation (card 3 back) intermediate result

So, if I want to learn this scheme, the cards would need to be a fixed chain for the repetition.

Idea:

Maybe the title could be a card deck and with a certain tag on the #flashcard, the ordering could be fixed.

Like a YAML instruction cards-deck: schemefolder::subdeck-schemexy

This is how card decks and subdecks can be done in Anki with Obsidian Flashcards Bildschirmfoto 2021-05-01 um 23 28 53 Bildschirmfoto 2021-05-01 um 23 29 13

Then having the order fixed with further tags, within the deck container.

  1. condition 1 #card1
  2. condition 2 #card2
  3. condition 3 #card3

I could then open the deck and start the repetition chain.

This would be a huge help for me.

Thanks for consideration! Mark

st3v3nmw commented 3 years ago

Since this issue also mentions decks, I'll start with that (also opened #30) then get to the fixed chain repetition.

st3v3nmw commented 3 years ago

For clarification, here's how I've thought of this: If we start a review session, we go through all the cards & schedule the scheme as a whole. Such that the "sub-cards" (i.e. condition 1 #card1) are not scheduled independently. & then they'll all show up at once in the same order during the next review.

Is that right?

mkschulze commented 3 years ago

For clarification, here's how I've thought of this: If we start a review session, we go through all the cards & schedule the scheme as a whole. Such that the "sub-cards" (i.e. condition 1 #card1) are not scheduled independently. & then they'll all show up at once in the same order during the next review.

Is that right?

Yes, that's right. The spaced repetition on the sub-cards could be deactivated and instead the spaced repetition could work on the deck as a whole.

mkschulze commented 3 years ago

Hey, just wanted to ask, wether this is getting closer for consideration?

st3v3nmw commented 3 years ago

I've been interning, haven't had enough time on my hands, but we'll get there soon.

st3v3nmw commented 3 years ago

Apart from bug fixes, I'll be working on this next.

mkschulze commented 3 years ago

Nice, maybe it could work with a new tag category, alphabetical or numeral. For example, #A-1 #A-2 #A-3 which would be Deck #A and then the sorting reference number. Just an idea maybe.

st3v3nmw commented 3 years ago

I've given this some thought & think that this particular use case is better served by multiline cloze cards. This way, the subcards are scheduled independently to make sure that they're all memorized independent of each other. So if one is having issues remembering condition 2 (card 2 front) / explanation (card 2 back) it shouldn't prevent condition 3 (card 3 front) / explanation (card 3 back) from making progress if it's an easy "subcard". Also, the upcoming release makes sure that one will always see new "subcards" in cloze cards in order even when randomizing card order (like in Anki). & since your donation was a feature request for this issue, I have refunded both payments. Thanks. Closing...

mkschulze commented 3 years ago

Ok, so this would look like:

Learn the steps in order:

  1. ==CONDITION1==
  2. ==CONDITION2==
  3. ==CONDITION3== ?
  4. Title of CONDITION1 + Explanation
  5. Title of CONDITION2 + Explanation
  6. Title of CONDITION3 + Explanation

But wouldn't that essentially mean, that this all sits in one CLOZE card? I think I don't get the subcard point yet.

Also, the upcoming release makes sure that one will always see new "subcards" in cloze cards in order even when randomizing card order (like in Anki).

This means I make a #deck1 and all the subcards appear in order?

st3v3nmw commented 3 years ago

I think something like this would work:

  1. Condition 1: ==explanation for 1==
  2. Condition 2: ==explanation for 2==
  3. Condition 3: ==explanation for 3==
mkschulze commented 3 years ago

ok, will try. thx!

mkschulze commented 3 years ago

Sorry to bother you again @st3v3nmw

I struggle with setting things up, like you described, I think.

How do I get this to work:

Also, the upcoming release makes sure that one will always see new "subcards" in cloze cards in order even when randomizing card order (like in Anki).

I now created the following multiline flashcard with cloze tag:

#clozeexample
Condition 1: ==explanation for 1==
Condition 2: ==explanation for 2==
Condition 3: ==explanation for 3==
?
Condition 1: ==Test1==
Condition 2: ==Test2==
Condition 3: ==Test3==

This is nice, but it doesn't help so much, if I have like 20 conditions I want to remember. Then I'd ideally have separated flashcards. But how do I get them to appear in exact order within the chosen deck?

Do you have an idea, am I missing something?

st3v3nmw commented 3 years ago
?

This mixes up card types (cloze & multiline basic), currently the plugin only works for one card type at a time.

This is nice, but it doesn't help so much, if I have like 20 conditions I want to remember.

Yes, I agree, the cards would be too big. Not sure how I can help though, since it's the source material that's the issue here. Is there a way to break them down & create clozes for subsections of the schema?

mkschulze commented 3 years ago

Ok, I think I got the idea now. With multiple cloze tags, they will need to be answered one by one in a fixed order, right? I didn't work with cloze tags yet, but that would work, yes.

However, I think there is a bug, maybe.

Having this card here:

#cloze<br>
Condition 1: ==explanation for 1==<br>
Condition 2: ==explanation for 2==<br>
Condition 3: ==explanation for 3==<br>
Condition 4: ==explanation for 4== <br>

Bildschirmfoto 2021-08-30 um 21 34 25 Bildschirmfoto 2021-08-30 um 21 34 58

So this goes through the single cloze tags, but meanwhile always shows the other tags that should be hidden, I think.

If that could be fixed, it would be perfect I think, yes.

I'll make a new [BUG] issue, to track this better.