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] Support richer set of flashcard ordering during review; e.g. random card from random deck #814

Closed ronzulu closed 9 months ago

ronzulu commented 10 months ago

Current Functionality

At present the plug-in has two methods of ordering flashcards during review. These are based on the setting: image

Where this option enables randomization within a single deck.


Solution Implemented

I have implemented greater flexibility with the following options: image

image


Feedback wanted

This enhancement was beta tested successfully for https://github.com/st3v3nmw/obsidian-spaced-repetition/issues/610.

However I would appreciate wider feedback from anyone before opening a PR.

ronzulu commented 10 months ago

Hi

Here is the code from: https://github.com/ronzulu/obsidian-spaced-repetition

Or pre built main.js main_2023-12-14.zip

Note that this also contains post 1.10.5 fixes:

Cheers Ronny

ronzulu commented 9 months ago

Hi @st3v3nmw thanks for including this on the latest release.

4Source commented 9 months ago

Random card from random deck breaks the heading. Normally you would get as heading the name of the deck you clicked with this option you get the sub deck it choose randomly in the deck you clicked.

ronzulu commented 9 months ago

Hi @4Source thanks for the prompt, it wasn't something I was particularly happy with.

For "Random card from random deck" ordering, what do you think of: ${deckName} (and ${subdeckCount} subdecks): ${cardCount}`

Where: deckName - the name of the deck chosen by the user (doesn't change as cards from different subdecks are shown) subdeckCount - count of subdecks under the deck chosen by the user. I'm leaning towards this being the remaining count, i.e. the count of subdecks that have remaining cards for review cardCount - total number of cards remaining (I.e. not the count of cards remaining in the current randomly chosen deck).

Let me know what you think.

Cheers Ronny

4Source commented 9 months ago

Sounds good, but subdeckCount counts only the top level of subdecks or count it each subdeck at each level below?

Maybe change the Format to: ${deckName}: ${cardCount} and a subtitle: Subdecks: ${subdeckCount}

Other option: ${deckName}: ${cardCount} and a subtitle: ${subdeckName}: ${subdeckCardCount}

ronzulu commented 9 months ago

Sounds good, but subdeckCount counts only the top level of subdecks or count it each subdeck at each level below?

Maybe change the Format to: ${deckName}: ${cardCount} and a subtitle: Subdecks: ${subdeckCount}

I was thinking that the ${subdeckCount} would be the total number of descendant decks. That way a person would see this number decrease every time all cards completed review in any descendant deck and see some progress during the review.