Skip to content
/ aosr Public
forked from linanwx/aosr

Aosr is another obsidian spaced repetition plugin

License

Notifications You must be signed in to change notification settings

0xorial/aosr

 
 

Repository files navigation

Aosr

Another obsidian spaced repetition.

It uses flashcards to help remember knowledge.

This plugin is similar to spaced repetition, but some changes have been made according to personal habits.

Demo

屏幕录制2022-11-08 17 56 11

Format

Card

A CARD is begin with #Q and ends with an empty line.

#Q
This is a card.
Here, please write your questions and answers in Pattern format. The format of Pattern is described below.
Only content within the #Q and the empty line will be treated as review content.
Pattern formats outside this range will not be processed.
<- There should have an empty line if this is not the end of the document.

In the card, the PATTERN is your question and answer. A card can have not only one pattern but more than 1000 patterns. See the next section for the specific Pattern format.

Using *** to split the card into sub-cards. This would be helpful if you don't want to write #Q and create a new card.

#Q
Card1
***
Card2

The effect of the above writing is the same as that of the following.

#Q
Card1

#Q
Card2

Pattern

Pattern is your question and answer.

:: Pattern

In the card, :: will split this line. The front part will become a question, and the back part will become an answer.

word::definition

Each line will be processed as a separate Pattern.

word::definition
word::definition
word::definition

You can use the symbol ::: to flip cards and complete the reverse memory in addition to the forward memory.

word:::definition

? Pattern

In the card, a line with a ? will split this card. The front part will become a question, and the back part will become an answer.

Question.
Maybe there are many lines.
?
Answer.
Maybe there are many lines.

== Pattern

In the card, a cloze with a pair of == will split this card. The remaining part will become a question, and the cloze part will become an answer. Note that each cloze will be treated as a separate Pattern.

A ==cloze==.
Fruits include ==watermelons==, ==apples== and ==pears==.
Note that each cloze will be treated as a separate Pattern. Otherwise, you should write like this.
Fruits include ==watermelons, apples, and pears==.
In addition, you could add a #multicloze tag to the card to get the same effect.
Multicloze Pattern

If a #multicloze tag has been found in the card, Aosr treats all cloze in the card as a group of cloze.

You should remember ==this== and ==that== at the same time. #multicloze

Example

Several examples are shown below. Their writing is valid in the document.

#Q
word1::ans1
word2::ans2
word3::ans3
word:::definition

#Q
This is a question.
?
This is an answer.
***
This is a question.
?
This is an answer.

#Q
This is a very ==important== answer.

#Q
word1::ans1
***
This is a question.
?
This is an answer.
***
This is a very ==important== answer.
***
This is multi-cloze ==question== and ==answer==. #multicloze

Review

Once you've finished your document, click on the card icon in the sidebar to start reviewing.

屏幕快照 2022-11-15 的 12 59 37 下午

It consists of four parts. New, learn, review, and wait.

屏幕快照 2022-11-15 的 12 45 09 下午

New means something new that hasn't been reviewed.

Review means something needs to review.

Learn means something you need to remember right now.

Wait means something you need to remember after a few seconds, but you can't check it right now. Because you have checked it just now.

Once you click one of the buttons, the review begins. Please follow the buttons and instructions on the screen to review.

屏幕快照 2022-11-15 的 12 57 01 下午

Annotation

You will notice that some comments are generated in your document. This is normal. The plug-in needs this data to calculate review time.

屏幕快照 2022-11-15 的 13 02 04 下午

I know it's not pretty, and it messes up the format of the document. But for me now, this is enough for my daily use. Maybe I'll find a way to solve this in the future.

The comments will be automatically generated at the end of the document. Its location can also be moved, as long as it is in the same document.

What's the difference?

What's the difference between Aosr and obsidian-spaced-repetition?

  • The review time is calculated in minutes, not days. This helps to review the time calculation more accurately. And the calculation when reviewing across the zero point of the day will also be more accurate. For example, at 23:59 and 00:01 in the evening, the review time will not be rudely counted as the day before and the day after.
  • The review interface will now open a standard page instead of a pop-up window. Under the standard page, you can do many obsidian activities at the same time, for example, you can review and comment on the document at the same time. In pop-up mode, this mode hinders further operation.
  • The review process has been optimized. Now a learning process has been added to learn the last item that was marked as forgotten.
  • Redesigned the format. The new format contributes to some minor changes. For example, the cloze will no longer be disrupted by the addition of a new cloze. In addition, the new review format should also be easier to develop and expand.

However, some core functions, such as viewing review data statistics, are not available yet. I will improve the function according to my free time.

Precautions:

  • Please do not create identical content with the same pattern in the same file, as the current implementation relies on unique string matching, and creating duplicate patterns will cause exceptions and prevent review.
  • Currently, development and testing are only carried out with "strict line breaks" mode turned off. It has not been tested with the mode turned on, so it is recommended to turn it off.

License

react (MIT)   https://github.com/facebook/react
YAML (ISC)    https://github.com/eemeli/yaml
MUI (MIT)     https://github.com/mui/material-ui

About

Aosr is another obsidian spaced repetition plugin

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 97.7%
  • JavaScript 2.2%
  • CSS 0.1%