From 0c88e4ac3af7e4f089d9757ab5585a0c918c0c5b Mon Sep 17 00:00:00 2001 From: <> Date: Sun, 12 Nov 2023 13:14:19 +0000 Subject: [PATCH] Deployed 60d02ad with MkDocs version: 1.5.3 --- .nojekyll | 0 404.html | 408 + algorithms/index.html | 527 ++ assets/favicon.ico | Bin 0 -> 6354 bytes assets/images/favicon.png | Bin 0 -> 1870 bytes assets/javascripts/bundle.c2be25ad.min.js | 29 + assets/javascripts/bundle.c2be25ad.min.js.map | 8 + assets/javascripts/lunr/min/lunr.ar.min.js | 1 + assets/javascripts/lunr/min/lunr.da.min.js | 18 + assets/javascripts/lunr/min/lunr.de.min.js | 18 + assets/javascripts/lunr/min/lunr.du.min.js | 18 + assets/javascripts/lunr/min/lunr.es.min.js | 18 + assets/javascripts/lunr/min/lunr.fi.min.js | 18 + assets/javascripts/lunr/min/lunr.fr.min.js | 18 + assets/javascripts/lunr/min/lunr.hi.min.js | 1 + assets/javascripts/lunr/min/lunr.hu.min.js | 18 + assets/javascripts/lunr/min/lunr.hy.min.js | 1 + assets/javascripts/lunr/min/lunr.it.min.js | 18 + assets/javascripts/lunr/min/lunr.ja.min.js | 1 + assets/javascripts/lunr/min/lunr.jp.min.js | 1 + assets/javascripts/lunr/min/lunr.kn.min.js | 1 + assets/javascripts/lunr/min/lunr.ko.min.js | 1 + assets/javascripts/lunr/min/lunr.multi.min.js | 1 + assets/javascripts/lunr/min/lunr.nl.min.js | 18 + assets/javascripts/lunr/min/lunr.no.min.js | 18 + assets/javascripts/lunr/min/lunr.pt.min.js | 18 + assets/javascripts/lunr/min/lunr.ro.min.js | 18 + assets/javascripts/lunr/min/lunr.ru.min.js | 18 + assets/javascripts/lunr/min/lunr.sa.min.js | 1 + .../lunr/min/lunr.stemmer.support.min.js | 1 + assets/javascripts/lunr/min/lunr.sv.min.js | 18 + assets/javascripts/lunr/min/lunr.ta.min.js | 1 + assets/javascripts/lunr/min/lunr.te.min.js | 1 + assets/javascripts/lunr/min/lunr.th.min.js | 1 + assets/javascripts/lunr/min/lunr.tr.min.js | 18 + assets/javascripts/lunr/min/lunr.vi.min.js | 1 + assets/javascripts/lunr/min/lunr.zh.min.js | 1 + assets/javascripts/lunr/tinyseg.js | 206 + assets/javascripts/lunr/wordcut.js | 6708 +++++++++++++++++ .../workers/search.208ed371.min.js | 42 + .../workers/search.208ed371.min.js.map | 8 + assets/stylesheets/main.85bb2934.min.css | 1 + assets/stylesheets/main.85bb2934.min.css.map | 1 + assets/stylesheets/palette.a6bdf11c.min.css | 1 + .../stylesheets/palette.a6bdf11c.min.css.map | 1 + changelog/index.html | 1785 +++++ contributing/index.html | 845 +++ en/algorithms/index.html | 527 ++ en/assets/favicon.ico | Bin 0 -> 6354 bytes en/changelog/index.html | 1785 +++++ en/contributing/index.html | 845 +++ en/flashcards/index.html | 941 +++ en/index.html | 683 ++ en/license/index.html | 446 ++ en/notes/index.html | 670 ++ flashcards/index.html | 941 +++ index.html | 683 ++ license/index.html | 446 ++ notes/index.html | 670 ++ search/search_index.json | 1 + sitemap.xml | 52 + sitemap.xml.gz | Bin 0 -> 361 bytes 62 files changed, 19545 insertions(+) create mode 100644 .nojekyll create mode 100644 404.html create mode 100644 algorithms/index.html create mode 100644 assets/favicon.ico create mode 100644 assets/images/favicon.png create mode 100644 assets/javascripts/bundle.c2be25ad.min.js create mode 100644 assets/javascripts/bundle.c2be25ad.min.js.map create mode 100644 assets/javascripts/lunr/min/lunr.ar.min.js create mode 100644 assets/javascripts/lunr/min/lunr.da.min.js create mode 100644 assets/javascripts/lunr/min/lunr.de.min.js create mode 100644 assets/javascripts/lunr/min/lunr.du.min.js create mode 100644 assets/javascripts/lunr/min/lunr.es.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hu.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hy.min.js create mode 100644 assets/javascripts/lunr/min/lunr.it.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ja.min.js create mode 100644 assets/javascripts/lunr/min/lunr.jp.min.js create mode 100644 assets/javascripts/lunr/min/lunr.kn.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ko.min.js create mode 100644 assets/javascripts/lunr/min/lunr.multi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.nl.min.js create mode 100644 assets/javascripts/lunr/min/lunr.no.min.js create mode 100644 assets/javascripts/lunr/min/lunr.pt.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ro.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ru.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sa.min.js create mode 100644 assets/javascripts/lunr/min/lunr.stemmer.support.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sv.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ta.min.js create mode 100644 assets/javascripts/lunr/min/lunr.te.min.js create mode 100644 assets/javascripts/lunr/min/lunr.th.min.js create mode 100644 assets/javascripts/lunr/min/lunr.tr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.vi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.zh.min.js create mode 100644 assets/javascripts/lunr/tinyseg.js create mode 100644 assets/javascripts/lunr/wordcut.js create mode 100644 assets/javascripts/workers/search.208ed371.min.js create mode 100644 assets/javascripts/workers/search.208ed371.min.js.map create mode 100644 assets/stylesheets/main.85bb2934.min.css create mode 100644 assets/stylesheets/main.85bb2934.min.css.map create mode 100644 assets/stylesheets/palette.a6bdf11c.min.css create mode 100644 assets/stylesheets/palette.a6bdf11c.min.css.map create mode 100644 changelog/index.html create mode 100644 contributing/index.html create mode 100644 en/algorithms/index.html create mode 100644 en/assets/favicon.ico create mode 100644 en/changelog/index.html create mode 100644 en/contributing/index.html create mode 100644 en/flashcards/index.html create mode 100644 en/index.html create mode 100644 en/license/index.html create mode 100644 en/notes/index.html create mode 100644 flashcards/index.html create mode 100644 index.html create mode 100644 license/index.html create mode 100644 notes/index.html create mode 100644 search/search_index.json create mode 100644 sitemap.xml create mode 100644 sitemap.xml.gz diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/404.html b/404.html new file mode 100644 index 00000000..06b40ea9 --- /dev/null +++ b/404.html @@ -0,0 +1,408 @@ + + + +
+ + + + + + + + + + + + + + + + + +Warning
+Note that this hasn't been updated in a while, +please see the code.
+(It's the same as that used for flashcards - apart from the PageRanks)
+if link_count > 0: initial_ease = (1 - link_contribution) * base_ease + link_contribution * average_ease
link_contribution = max_link_factor * min(1.0, log(link_count + 0.5) / log(64))
(cater for uncertainty)20
and the interval changes to old_interval * new_ease / 100 * 1.3
(the 1.3 is the easy bonus)old_interval * old_ease / 100
20
and the interval changes to old_interval * 0.5
0.5
can be modified in settingsminimum ease = 130
8
or more days:interval += random_choice({-fuzz, 0, +fuzz})
fuzz = ceil(0.05 * interval)
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+Generated by auto-changelog
.
#784
#782
++30 October 2023
+
#780
#775
b9c354d
++23 October 2023
+
#772
#699
#763
++9 October 2023
+
#756
#751
#719
44e9bb6
1f69f96
1ef0663
++5 May 2023
+
#679
#678
#671
#667
zh-cn.ts
and zh-tw.ts
#676
#665
#664
#643
#656
#657
#637
++6 February 2023
+
#622
#621
#620
#619
#618
#616
#611
#593
#592
#591
#515
#589
#587
e33ec93
2bf13a9
fef51b6
++ +8 January 2023
+
++ +2 January 2023
+
++2 January 2023
+
#574
#573
#572
#566
#565
#564
#563
#562
#561
#560
#559
#532
++12 December 2022
+
#546
#545
#544
++12 December 2022
+
#543
#542
#541
#539
#540
#536
#535
#531
#518
#523
#480
#510
d8c0e9e
c6bb8f0
++24 July 2022
+
#474
#469
#473
#472
#464
#425
#419
#402
#413
#417
#416
#273
c386dc3
bce5c22
9d34c56
++21 February 2022
+
ve done the translation to Russian. [
#403`](https://github.com/st3v3nmw/obsidian-spaced-repetition/pull/403)#391
#364
1f0f46c
e35c012
8ac56ae
++2 January 2022
+
3b0446a
2236396
07e1de4
++1 January 2022
+
#358
#355
#356
#357
#353
#350
#352
#351
#316
#315
#345
#344
#341
#340
#323
#318
#326
#299
#300
#302
#297
#298
#291
#290
#292
#285
66766a8
3623efc
0e12388
++29 August 2021
+
#281
#280
#277
#276
#271
#275
#268
#265
#264
#263
177bc78
76b94d1
26d9dbd
++19 August 2021
+
#258
#252
#251
#245
#236
#234
#232
1d4bcdc
d9181f5
069619c
++8 August 2021
+
#230
#229
#228
#227
#226
#225
c3e6c0d
17d7496
3808ce0
++4 August 2021
+
#223
#222
#220
#219
#217
#215
#214
#210
#188
05d3217
9798c69
82651b4
++20 June 2021
+
#170
#169
#168
#166
#165
856d423
3f2d97e
c906afe
++ +13 June 2021
+
++ +12 June 2021
+
++ +11 June 2021
+
++10 June 2021
+
#150
#149
4d4f3d4
c7eb5cf
e4a897c
++7 June 2021
+
#143
#142
#141
#140
#137
a65ca7f
3ffe4f0
0541e77
++ +6 June 2021
+
++6 June 2021
+
#131
#130
#128
#126
#127
#125
#124
#123
#116
3214175
0af6c12
492f9a8
++31 May 2021
+
#107
#106
#105
fe9b37f
83ef968
++ +21 May 2021
+
++21 May 2021
+
#97
#95
#94
#89
#85
8b84184
a4197c3
4098f10
++ +16 May 2021
+
++16 May 2021
+
#77
#75
#74
#73
#72
#71
#69
#68
d793c42
3b3ca00
ead217d
++8 May 2021
+
#57
b7cb3cd
0a59d8f
accbf0c
++8 May 2021
+
#55
#54
#51
#50
#47
f633e72
0c1944e
503ec0f
++2 May 2021
+
953147e
aafd4ef
335bb6f
++1 May 2021
+
#42
c389a2f
65fe74b
3da32ac
++1 May 2021
+
#41
#40
#39
#38
#37
ef29e14
d12cb0e
12344cc
++ +20 April 2021
+
++19 April 2021
+
06cda88
3f52456
d6686c7
++19 April 2021
+
#23
#22
#21
df30fb8
efb8d78
ad8b22c
++15 April 2021
+
#18
51ea4ec
78b83ad
0ac4cb1
++14 April 2021
+
3be20ce
e1bb32f
3609e72
++ +14 April 2021
+
++13 April 2021
+
#11
852479f
327f5cd
43fb6ce
++ +13 April 2021
+
++12 April 2021
+
#6
#5
#3
348bdff
df01880
12f1622
++11 April 2021
+
6c19778
++ +11 April 2021
+
++ + + + + + + +9 April 2021
+
First off, thanks for wanting to contribute to the Spaced Repetition plugin!
+To help translate the plugin to your language:
+src/lang/locale/en.ts
to the proper file in src/lang/locale/
(i.e. fr.ts
for French, or sw.ts
for Swahili). The locale codes are IETF language tags.Sample en.ts
file:
// English
+
+export default {
+ EASY: "Easy",
+ SHOW_ANSWER: "Show Answer",
+ DAYS_STR_IVL: "${interval} days",
+ CHECK_ALGORITHM_WIKI:
+ 'For more information, check the <a href="${algo_url}">algorithm implementation</a>.',
+};
+
Equivalent sw.ts
file:
// Swahili
+
+export default {
+ EASY: "Rahisi",
+ SHOW_ANSWER: "Onyesha Jibu",
+ DAYS_STR_IVL: "Siku ${interval}",
+ CHECK_ALGORITHM_WIKI:
+ 'Kwa habari zaidi, angalia <a href="${algo_url}">utekelezaji wa algorithm</a>.',
+};
+
A part of that last one is uhh, Google translated, I have a working understanding of Swahili but not enough to write computerese lol.
+Please note that:
+${}
isn't translated. This is used to replace variables in code. For instance, if interval = 4, it becomes 4 days
in English & Siku 4
in Swahili. Quite nifty if you ask me.pnpm dev
to test the changes inside Obsidian.You could create symbolic links between the build files and the Obsidian vault, example:
+# remove existing files in the Obsidian vault
+rm ~/notes/.obsidian/plugins/obsidian-spaced-repetition/main.js ~/notes/.obsidian/plugins/obsidian-spaced-repetition/manifest.json ~/notes/.obsidian/plugins/obsidian-spaced-repetition/styles.css
+# use absolute paths
+ln -s /home/stephen/obsidian-spaced-repetition/build/main.js /home/stephen/notes/.obsidian/plugins/obsidian-spaced-repetition
+ln -s /home/stephen/obsidian-spaced-repetition/manifest.json /home/stephen/notes/.obsidian/plugins/obsidian-spaced-repetition
+ln -s /home/stephen/obsidian-spaced-repetition/styles.css /home/stephen/notes/.obsidian/plugins/obsidian-spaced-repetition
+
Document the "user-facing" changes e.g. new feature, UI change, etc.
+tests/
.pnpm test
[Unreleased]
section of the changelog (docs/changelog.md
).Added
for new features.Changed
for changes in existing functionality.Deprecated
for soon-to-be removed features.Removed
for now removed features.Fixed
for any bug fixes.Security
in case of vulnerabilities.Make flashcard text selectable [@st3v3nmw](https://github.com/st3v3nmw)
pnpm lint
pnpm format
The documentation consists of Markdown files which MkDocs converts to static web pages. +Specifically, this project uses MkDocs Material.
+These files reside in docs/
in the respective language's folder. For instance, English docs are located in docs/en/
.
The docs are served on https://www.stephenmwangi.com/obsidian-spaced-repetition/.
+For small changes, you can simply open an pull request for merging (against the master
branch).
+The changes will be live once a new release is made.
For larger diffs, it's important that you check how your docs look like as explained below.
+python3 -m venv venv
. venv/bin/activate
pip install -r requirements.txt
. venv/bin/activate
mkdocs serve
docs/
if it doesn't exist. Use the language codes provided here.mkdocs.yml
- plugins.i18n.languages
).en
) folder into the new folder.Example using v1.9.2
:
git switch -c release-v1.9.2
manifest.json
and package.json
(following Semantic Versioning).MAJOR.MINOR.PATCH
, increment the:MAJOR
version when you make incompatible API changesMINOR
version when you add functionality in a backwards compatible mannerPATCH
version when you make backwards compatible bug fixesminAppVersion
and versions.json
to reflect this.pnpm changelog
to update the CHANGELOG.Commit and push the changes:
+ +Open and merge the PR into master
.
master
and pull the changes: git switch master && git pull
git tag 1.9.2
git push --tags
. Check the Obsidian Tasks project which has excellent contribution guidelines. ↩
+Warning
+Note that this hasn't been updated in a while, +please see the code.
+(It's the same as that used for flashcards - apart from the PageRanks)
+if link_count > 0: initial_ease = (1 - link_contribution) * base_ease + link_contribution * average_ease
link_contribution = max_link_factor * min(1.0, log(link_count + 0.5) / log(64))
(cater for uncertainty)20
and the interval changes to old_interval * new_ease / 100 * 1.3
(the 1.3 is the easy bonus)old_interval * old_ease / 100
20
and the interval changes to old_interval * 0.5
0.5
can be modified in settingsminimum ease = 130
8
or more days:interval += random_choice({-fuzz, 0, +fuzz})
fuzz = ceil(0.05 * interval)
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+Generated by auto-changelog
.
#784
#782
++30 October 2023
+
#780
#775
b9c354d
++23 October 2023
+
#772
#699
#763
++9 October 2023
+
#756
#751
#719
44e9bb6
1f69f96
1ef0663
++5 May 2023
+
#679
#678
#671
#667
zh-cn.ts
and zh-tw.ts
#676
#665
#664
#643
#656
#657
#637
++6 February 2023
+
#622
#621
#620
#619
#618
#616
#611
#593
#592
#591
#515
#589
#587
e33ec93
2bf13a9
fef51b6
++ +8 January 2023
+
++ +2 January 2023
+
++2 January 2023
+
#574
#573
#572
#566
#565
#564
#563
#562
#561
#560
#559
#532
++12 December 2022
+
#546
#545
#544
++12 December 2022
+
#543
#542
#541
#539
#540
#536
#535
#531
#518
#523
#480
#510
d8c0e9e
c6bb8f0
++24 July 2022
+
#474
#469
#473
#472
#464
#425
#419
#402
#413
#417
#416
#273
c386dc3
bce5c22
9d34c56
++21 February 2022
+
ve done the translation to Russian. [
#403`](https://github.com/st3v3nmw/obsidian-spaced-repetition/pull/403)#391
#364
1f0f46c
e35c012
8ac56ae
++2 January 2022
+
3b0446a
2236396
07e1de4
++1 January 2022
+
#358
#355
#356
#357
#353
#350
#352
#351
#316
#315
#345
#344
#341
#340
#323
#318
#326
#299
#300
#302
#297
#298
#291
#290
#292
#285
66766a8
3623efc
0e12388
++29 August 2021
+
#281
#280
#277
#276
#271
#275
#268
#265
#264
#263
177bc78
76b94d1
26d9dbd
++19 August 2021
+
#258
#252
#251
#245
#236
#234
#232
1d4bcdc
d9181f5
069619c
++8 August 2021
+
#230
#229
#228
#227
#226
#225
c3e6c0d
17d7496
3808ce0
++4 August 2021
+
#223
#222
#220
#219
#217
#215
#214
#210
#188
05d3217
9798c69
82651b4
++20 June 2021
+
#170
#169
#168
#166
#165
856d423
3f2d97e
c906afe
++ +13 June 2021
+
++ +12 June 2021
+
++ +11 June 2021
+
++10 June 2021
+
#150
#149
4d4f3d4
c7eb5cf
e4a897c
++7 June 2021
+
#143
#142
#141
#140
#137
a65ca7f
3ffe4f0
0541e77
++ +6 June 2021
+
++6 June 2021
+
#131
#130
#128
#126
#127
#125
#124
#123
#116
3214175
0af6c12
492f9a8
++31 May 2021
+
#107
#106
#105
fe9b37f
83ef968
++ +21 May 2021
+
++21 May 2021
+
#97
#95
#94
#89
#85
8b84184
a4197c3
4098f10
++ +16 May 2021
+
++16 May 2021
+
#77
#75
#74
#73
#72
#71
#69
#68
d793c42
3b3ca00
ead217d
++8 May 2021
+
#57
b7cb3cd
0a59d8f
accbf0c
++8 May 2021
+
#55
#54
#51
#50
#47
f633e72
0c1944e
503ec0f
++2 May 2021
+
953147e
aafd4ef
335bb6f
++1 May 2021
+
#42
c389a2f
65fe74b
3da32ac
++1 May 2021
+
#41
#40
#39
#38
#37
ef29e14
d12cb0e
12344cc
++ +20 April 2021
+
++19 April 2021
+
06cda88
3f52456
d6686c7
++19 April 2021
+
#23
#22
#21
df30fb8
efb8d78
ad8b22c
++15 April 2021
+
#18
51ea4ec
78b83ad
0ac4cb1
++14 April 2021
+
3be20ce
e1bb32f
3609e72
++ +14 April 2021
+
++13 April 2021
+
#11
852479f
327f5cd
43fb6ce
++ +13 April 2021
+
++12 April 2021
+
#6
#5
#3
348bdff
df01880
12f1622
++11 April 2021
+
6c19778
++ +11 April 2021
+
++ + + + + + + +9 April 2021
+
First off, thanks for wanting to contribute to the Spaced Repetition plugin!
+To help translate the plugin to your language:
+src/lang/locale/en.ts
to the proper file in src/lang/locale/
(i.e. fr.ts
for French, or sw.ts
for Swahili). The locale codes are IETF language tags.Sample en.ts
file:
// English
+
+export default {
+ EASY: "Easy",
+ SHOW_ANSWER: "Show Answer",
+ DAYS_STR_IVL: "${interval} days",
+ CHECK_ALGORITHM_WIKI:
+ 'For more information, check the <a href="${algo_url}">algorithm implementation</a>.',
+};
+
Equivalent sw.ts
file:
// Swahili
+
+export default {
+ EASY: "Rahisi",
+ SHOW_ANSWER: "Onyesha Jibu",
+ DAYS_STR_IVL: "Siku ${interval}",
+ CHECK_ALGORITHM_WIKI:
+ 'Kwa habari zaidi, angalia <a href="${algo_url}">utekelezaji wa algorithm</a>.',
+};
+
A part of that last one is uhh, Google translated, I have a working understanding of Swahili but not enough to write computerese lol.
+Please note that:
+${}
isn't translated. This is used to replace variables in code. For instance, if interval = 4, it becomes 4 days
in English & Siku 4
in Swahili. Quite nifty if you ask me.pnpm dev
to test the changes inside Obsidian.You could create symbolic links between the build files and the Obsidian vault, example:
+# remove existing files in the Obsidian vault
+rm ~/notes/.obsidian/plugins/obsidian-spaced-repetition/main.js ~/notes/.obsidian/plugins/obsidian-spaced-repetition/manifest.json ~/notes/.obsidian/plugins/obsidian-spaced-repetition/styles.css
+# use absolute paths
+ln -s /home/stephen/obsidian-spaced-repetition/build/main.js /home/stephen/notes/.obsidian/plugins/obsidian-spaced-repetition
+ln -s /home/stephen/obsidian-spaced-repetition/manifest.json /home/stephen/notes/.obsidian/plugins/obsidian-spaced-repetition
+ln -s /home/stephen/obsidian-spaced-repetition/styles.css /home/stephen/notes/.obsidian/plugins/obsidian-spaced-repetition
+
Document the "user-facing" changes e.g. new feature, UI change, etc.
+tests/
.pnpm test
[Unreleased]
section of the changelog (docs/changelog.md
).Added
for new features.Changed
for changes in existing functionality.Deprecated
for soon-to-be removed features.Removed
for now removed features.Fixed
for any bug fixes.Security
in case of vulnerabilities.Make flashcard text selectable [@st3v3nmw](https://github.com/st3v3nmw)
pnpm lint
pnpm format
The documentation consists of Markdown files which MkDocs converts to static web pages. +Specifically, this project uses MkDocs Material.
+These files reside in docs/
in the respective language's folder. For instance, English docs are located in docs/en/
.
The docs are served on https://www.stephenmwangi.com/obsidian-spaced-repetition/.
+For small changes, you can simply open an pull request for merging (against the master
branch).
+The changes will be live once a new release is made.
For larger diffs, it's important that you check how your docs look like as explained below.
+python3 -m venv venv
. venv/bin/activate
pip install -r requirements.txt
. venv/bin/activate
mkdocs serve
docs/
if it doesn't exist. Use the language codes provided here.mkdocs.yml
- plugins.i18n.languages
).en
) folder into the new folder.Example using v1.9.2
:
git switch -c release-v1.9.2
manifest.json
and package.json
(following Semantic Versioning).MAJOR.MINOR.PATCH
, increment the:MAJOR
version when you make incompatible API changesMINOR
version when you add functionality in a backwards compatible mannerPATCH
version when you make backwards compatible bug fixesminAppVersion
and versions.json
to reflect this.pnpm changelog
to update the CHANGELOG.Commit and push the changes:
+ +Open and merge the PR into master
.
master
and pull the changes: git switch master && git pull
git tag 1.9.2
git push --tags
. Check the Obsidian Tasks project which has excellent contribution guidelines. ↩
+Piotr Wozniak's 20 rules of knowledge formulation is a great introduction on proper flashcard creation.
+The prompt and the answer are separated by ::
(this can be configured in settings).
Creates two cards side1:::side2
& the reversed version side2:::side1
.
The prompt and the answer are separated by :::
(this can be configured in settings).
Note: In the first review, the plugin will show non-reversed card and reversed card. +If Bury sibling cards until the next day? turn on, only non-reversed card will appear.
+The front and the back of the card are separated by ?
(this can be configured in settings).
These can also span over multiple lines as long as both sides "touch" the ?
:
As per the definition
+of "multiline" the prompt
+can be on multiple lines
+?
+same goes for
+the answer
+
Creates two cards side1??side2
& the reversed version side2??side1
.
The front and the back of the card are separated by ??
(this can be configured in settings).
These can also span over multiple lines as long as both sides "touch" the ??
:
As per the definition
+of "multiline" the prompt
+can be on multiple lines
+??
+same goes for
+the answer
+
Note: The behaviour is same as single line reversed.
+You can easily add cloze deletion cards using ==highlights==
, **bolded text**
, or {{text in curly braces}}
.
These can be turned on or off in settings.
+Anki style {{c1:This text}} would {{c2:generate}} {{c1:2 cards}}
cloze deletions are not currently supported. This feature is being tracked here.
The green and blue counts on the right of each deck name represent due and new cards respectively.
+#flashcards
is the default).Note that #flashcards
will match nested tags like #flashcards/subdeck/subdeck
.
The plugin will automatically search for folders that contain flashcards & use their paths to create decks & sub-decks i.e. Folder/sub-folder/sub-sub-folder
⇔ Deck/sub-deck/sub-sub-deck
.
This is an alternative to the tagging option and can be enabled in settings.
+Once done creating cards, click on the flashcards button on the left ribbon to start reviewing the flashcards. After a card is reviewed, a HTML comment is added containing the next review day, the interval, and the card's ease.
+ +Wrapping in a HTML comment makes the scheduling information not visible in the notes preview. For single-line cards, you can choose whether you want the HTML comment on the same line or on a separate line in the settings. Putting them on the same line prevents breaking of list structures in the preview or after auto-formatting.
+Note that you can skip a card by simply pressing S
(case doesn't matter).
Tip
+If you're experiencing issues with the size of the modal on mobile devices, +go to settings and set the Flashcard Height Percentage and Flashcard Width Percentage +to 100% to maximize it.
+To review faster, use the following keyboard shortcuts:
+Space/Enter
=> Show answer0
=> Reset card's progress (Sorta like Again
in Anki)1
=> Review as Hard
2
or Space
=> Review as Good
3
=> Review as Easy
If the parent note has heading(s), the flashcard will have a title containing the context.
+Taking the following note:
+#flashcards
+
+# Trivia
+
+## Capitals
+
+### Africa
+
+Kenya::Nairobi
+
+### North America
+
+Canada::Ottawa
+
The flashcard for Kenya::Nairobi
will have Trivia > Capitals > Africa
as the context/title whereas the flashcard for Canada::Ottawa
will have Trivia > Capitals > North America
as the context/title.
To delete a card, simply delete the scheduling information & the card text.
+You can wrap flashcards in HTML comments e.g. <!--Card text <!--SR:2021-08-20,13,290--> -->
to prevent it from showing up in your review queues. You can always remove the wrapping comment later.
Currently, the only supported method is "cramming" all cards in a note using the Cram flashcards in this note command. Will work on a per-deck across-all-notes method.
+The statistics section can be accessed using the View Statistics
command.
Stats on the number of cards due in the future.
+ +Stats on delays until cards are shown again.
+Stats on card eases.
+Stats on card types: New, Young, Mature (Have intervals more than 1 month).
+ + + + + + ++
Fight the forgetting curve & note aging by reviewing flashcards & notes using spaced repetition on Obsidian.md
+You can easily install the plugin from Obsidian's community plugin section in the Obsidian app (Search for Spaced Repetition
).
Create an obsidian-spaced-repetition
folder under .obsidian/plugins
in your vault. Add the main.js
, manifest.json
, and the styles.css
files from the latest release to the folder.
MIT License
+Copyright (c) 2021 - 2023 Stephen Mwangi
+Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions:
+The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.
+ + + + + + +Tag any notes that you'd like to review as #review
. This default tag can be changed in the settings. (You can also use multiple tags)
All "new" notes are listed under New
on the right pane (Review Queue). Like so:
Open the file & review it. Once done, choose either the Review: Easy
, Review: Good
, or the Review: Hard
option on the file menu (the three dots). The Easy
, Good
, or Hard
depend on how well you comprehend the material being reviewed.
Alternatively, you can right click on the file and access the same options:
+ +The note will then be scheduled appropriately:
+ +Commands to open a note for review, and making review responses are provided. You can create custom hotkeys for them in Settings -> HotKeys
. This allows for much faster review.
Available settings are:
+Review: N due
on the status bar at the bottom of the screen shows how many notes one has to review today (Today's notes + overdue notes). Clicking on that opens one of the notes for review.
Alternatively, one can use the Open a note for review
command.
This was introduced here by @aviskase
.
Here are the YouTube videos:
+Andy Matuschak uses spaced repetition system for working on writing inbox.
+In short, there are four possible actions (where x < y
):
x
) == mark as good
hard
y
) == mark as easy
Piotr Wozniak's 20 rules of knowledge formulation is a great introduction on proper flashcard creation.
+The prompt and the answer are separated by ::
(this can be configured in settings).
Creates two cards side1:::side2
& the reversed version side2:::side1
.
The prompt and the answer are separated by :::
(this can be configured in settings).
Note: In the first review, the plugin will show non-reversed card and reversed card. +If Bury sibling cards until the next day? turn on, only non-reversed card will appear.
+The front and the back of the card are separated by ?
(this can be configured in settings).
These can also span over multiple lines as long as both sides "touch" the ?
:
As per the definition
+of "multiline" the prompt
+can be on multiple lines
+?
+same goes for
+the answer
+
Creates two cards side1??side2
& the reversed version side2??side1
.
The front and the back of the card are separated by ??
(this can be configured in settings).
These can also span over multiple lines as long as both sides "touch" the ??
:
As per the definition
+of "multiline" the prompt
+can be on multiple lines
+??
+same goes for
+the answer
+
Note: The behaviour is same as single line reversed.
+You can easily add cloze deletion cards using ==highlights==
, **bolded text**
, or {{text in curly braces}}
.
These can be turned on or off in settings.
+Anki style {{c1:This text}} would {{c2:generate}} {{c1:2 cards}}
cloze deletions are not currently supported. This feature is being tracked here.
The green and blue counts on the right of each deck name represent due and new cards respectively.
+#flashcards
is the default).Note that #flashcards
will match nested tags like #flashcards/subdeck/subdeck
.
The plugin will automatically search for folders that contain flashcards & use their paths to create decks & sub-decks i.e. Folder/sub-folder/sub-sub-folder
⇔ Deck/sub-deck/sub-sub-deck
.
This is an alternative to the tagging option and can be enabled in settings.
+Once done creating cards, click on the flashcards button on the left ribbon to start reviewing the flashcards. After a card is reviewed, a HTML comment is added containing the next review day, the interval, and the card's ease.
+ +Wrapping in a HTML comment makes the scheduling information not visible in the notes preview. For single-line cards, you can choose whether you want the HTML comment on the same line or on a separate line in the settings. Putting them on the same line prevents breaking of list structures in the preview or after auto-formatting.
+Note that you can skip a card by simply pressing S
(case doesn't matter).
Tip
+If you're experiencing issues with the size of the modal on mobile devices, +go to settings and set the Flashcard Height Percentage and Flashcard Width Percentage +to 100% to maximize it.
+To review faster, use the following keyboard shortcuts:
+Space/Enter
=> Show answer0
=> Reset card's progress (Sorta like Again
in Anki)1
=> Review as Hard
2
or Space
=> Review as Good
3
=> Review as Easy
If the parent note has heading(s), the flashcard will have a title containing the context.
+Taking the following note:
+#flashcards
+
+# Trivia
+
+## Capitals
+
+### Africa
+
+Kenya::Nairobi
+
+### North America
+
+Canada::Ottawa
+
The flashcard for Kenya::Nairobi
will have Trivia > Capitals > Africa
as the context/title whereas the flashcard for Canada::Ottawa
will have Trivia > Capitals > North America
as the context/title.
To delete a card, simply delete the scheduling information & the card text.
+You can wrap flashcards in HTML comments e.g. <!--Card text <!--SR:2021-08-20,13,290--> -->
to prevent it from showing up in your review queues. You can always remove the wrapping comment later.
Currently, the only supported method is "cramming" all cards in a note using the Cram flashcards in this note command. Will work on a per-deck across-all-notes method.
+The statistics section can be accessed using the View Statistics
command.
Stats on the number of cards due in the future.
+ +Stats on delays until cards are shown again.
+Stats on card eases.
+Stats on card types: New, Young, Mature (Have intervals more than 1 month).
+ + + + + + ++
Fight the forgetting curve & note aging by reviewing flashcards & notes using spaced repetition on Obsidian.md
+You can easily install the plugin from Obsidian's community plugin section in the Obsidian app (Search for Spaced Repetition
).
Create an obsidian-spaced-repetition
folder under .obsidian/plugins
in your vault. Add the main.js
, manifest.json
, and the styles.css
files from the latest release to the folder.
MIT License
+Copyright (c) 2021 - 2023 Stephen Mwangi
+Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions:
+The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.
+ + + + + + +Tag any notes that you'd like to review as #review
. This default tag can be changed in the settings. (You can also use multiple tags)
All "new" notes are listed under New
on the right pane (Review Queue). Like so:
Open the file & review it. Once done, choose either the Review: Easy
, Review: Good
, or the Review: Hard
option on the file menu (the three dots). The Easy
, Good
, or Hard
depend on how well you comprehend the material being reviewed.
Alternatively, you can right click on the file and access the same options:
+ +The note will then be scheduled appropriately:
+ +Commands to open a note for review, and making review responses are provided. You can create custom hotkeys for them in Settings -> HotKeys
. This allows for much faster review.
Available settings are:
+Review: N due
on the status bar at the bottom of the screen shows how many notes one has to review today (Today's notes + overdue notes). Clicking on that opens one of the notes for review.
Alternatively, one can use the Open a note for review
command.
This was introduced here by @aviskase
.
Here are the YouTube videos:
+Andy Matuschak uses spaced repetition system for working on writing inbox.
+In short, there are four possible actions (where x < y
):
x
) == mark as good
hard
y
) == mark as easy
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
Generated by auto-changelog
.
#784
#782
30 October 2023
#780
#775
b9c354d
23 October 2023
#772
#699
#763
9 October 2023
#756
#751
#719
44e9bb6
1f69f96
1ef0663
5 May 2023
#679
#678
#671
#667
zh-cn.ts
and zh-tw.ts
#676
#665
#664
#643
#656
#657
#637
6 February 2023
#622
#621
#620
#619
#618
#616
#611
#593
#592
#591
#515
#589
#587
e33ec93
2bf13a9
fef51b6
8 January 2023
#588
#586
2 January 2023
#576
#575
2 January 2023
#574
#573
#572
#566
#565
#564
#563
#562
#561
#560
#559
#532
12 December 2022
#546
#545
#544
12 December 2022
#543
#542
#541
#539
#540
#536
#535
#531
#518
#523
#480
#510
d8c0e9e
c6bb8f0
24 July 2022
#474
#469
#473
#472
#464
#425
#419
#402
#413
#417
#416
#273
c386dc3
bce5c22
9d34c56
21 February 2022
ve done the translation to Russian. [
#403`](https://github.com/st3v3nmw/obsidian-spaced-repetition/pull/403)#391
#364
1f0f46c
e35c012
8ac56ae
2 January 2022
3b0446a
2236396
07e1de4
1 January 2022
#358
#355
#356
#357
#353
#350
#352
#351
#316
#315
#345
#344
#341
#340
#323
#318
#326
#299
#300
#302
#297
#298
#291
#290
#292
#285
66766a8
3623efc
0e12388
29 August 2021
#281
#280
#277
#276
#271
#275
#268
#265
#264
#263
177bc78
76b94d1
26d9dbd
19 August 2021
#258
#252
#251
#245
#236
#234
#232
1d4bcdc
d9181f5
069619c
8 August 2021
#230
#229
#228
#227
#226
#225
c3e6c0d
17d7496
3808ce0
4 August 2021
#223
#222
#220
#219
#217
#215
#214
#210
#188
05d3217
9798c69
82651b4
20 June 2021
#170
#169
#168
#166
#165
856d423
3f2d97e
c906afe
13 June 2021
b47915a
ad2f3ec
12 June 2021
#155
cdb57d4
cee6503
ab52d36
11 June 2021
356fd31
317f716
10 June 2021
#150
#149
4d4f3d4
c7eb5cf
e4a897c
7 June 2021
#143
#142
#141
#140
#137
a65ca7f
3ffe4f0
0541e77
6 June 2021
#132
b309a27
6 June 2021
#131
#130
#128
#126
#127
#125
#124
#123
#116
3214175
0af6c12
492f9a8
31 May 2021
#107
#106
#105
fe9b37f
83ef968
21 May 2021
#98
390aa72
f5d635c
21 May 2021
#97
#95
#94
#89
#85
8b84184
a4197c3
4098f10
16 May 2021
0cde960
2e46d77
16 May 2021
#77
#75
#74
#73
#72
#71
#69
#68
d793c42
3b3ca00
ead217d
8 May 2021
#57
b7cb3cd
0a59d8f
accbf0c
8 May 2021
#55
#54
#51
#50
#47
f633e72
0c1944e
503ec0f
2 May 2021
953147e
aafd4ef
335bb6f
1 May 2021
#42
c389a2f
65fe74b
3da32ac
1 May 2021
#41
#40
#39
#38
#37
ef29e14
d12cb0e
12344cc
20 April 2021
a5edede
cb779fe
b6c5317
19 April 2021
06cda88
3f52456
d6686c7
19 April 2021
#23
#22
#21
df30fb8
efb8d78
ad8b22c
15 April 2021
#18
51ea4ec
78b83ad
0ac4cb1
14 April 2021
3be20ce
e1bb32f
3609e72
14 April 2021
ee0eb3f
5217c27
3725527
13 April 2021
#11
852479f
327f5cd
43fb6ce
13 April 2021
#9
9364374
c4632c1
65c4e4b
12 April 2021
#6
#5
#3
348bdff
df01880
12f1622
11 April 2021
6c19778
11 April 2021
f67301e
3a4c5e0
acb5d4a
9 April 2021
6bf72b1
57ca3a9
5e68d8b
MIT License
Copyright (c) 2021 - 2023 Stephen Mwangi
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
"},{"location":"","title":"Obsidian Spaced Repetition","text":"Fight the forgetting curve & note aging by reviewing flashcards & notes using spaced repetition on Obsidian.md
You can easily install the plugin from Obsidian's community plugin section in the Obsidian app (Search for Spaced Repetition
).
Create an obsidian-spaced-repetition
folder under .obsidian/plugins
in your vault. Add the main.js
, manifest.json
, and the styles.css
files from the latest release to the folder.
Warning
Note that this hasn't been updated in a while, please see the code.
(It's the same as that used for flashcards - apart from the PageRanks)
if link_count > 0: initial_ease = (1 - link_contribution) * base_ease + link_contribution * average_ease
link_contribution = max_link_factor * min(1.0, log(link_count + 0.5) / log(64))
(cater for uncertainty)20
and the interval changes to old_interval * new_ease / 100 * 1.3
(the 1.3 is the easy bonus)old_interval * old_ease / 100
20
and the interval changes to old_interval * 0.5
0.5
can be modified in settingsminimum ease = 130
8
or more days:interval += random_choice({-fuzz, 0, +fuzz})
fuzz = ceil(0.05 * interval)
First off, thanks for wanting to contribute to the Spaced Repetition plugin!
"},{"location":"contributing/#bug-reports-feature-requests","title":"Bug Reports & Feature Requests","text":"To help translate the plugin to your language:
src/lang/locale/en.ts
to the proper file in src/lang/locale/
(i.e. fr.ts
for French, or sw.ts
for Swahili). The locale codes are IETF language tags.Sample en.ts
file:
// English\nexport default {\nEASY: \"Easy\",\nSHOW_ANSWER: \"Show Answer\",\nDAYS_STR_IVL: \"${interval} days\",\nCHECK_ALGORITHM_WIKI:\n'For more information, check the <a href=\"${algo_url}\">algorithm implementation</a>.',\n};\n
Equivalent sw.ts
file:
// Swahili\nexport default {\nEASY: \"Rahisi\",\nSHOW_ANSWER: \"Onyesha Jibu\",\nDAYS_STR_IVL: \"Siku ${interval}\",\nCHECK_ALGORITHM_WIKI:\n'Kwa habari zaidi, angalia <a href=\"${algo_url}\">utekelezaji wa algorithm</a>.',\n};\n
A part of that last one is uhh, Google translated, I have a working understanding of Swahili but not enough to write computerese lol.
Please note that:
${}
isn't translated. This is used to replace variables in code. For instance, if interval = 4, it becomes 4 days
in English & Siku 4
in Swahili. Quite nifty if you ask me.pnpm dev
to test the changes inside Obsidian.You could create symbolic links between the build files and the Obsidian vault, example:
# remove existing files in the Obsidian vault\nrm ~/notes/.obsidian/plugins/obsidian-spaced-repetition/main.js ~/notes/.obsidian/plugins/obsidian-spaced-repetition/manifest.json ~/notes/.obsidian/plugins/obsidian-spaced-repetition/styles.css\n# use absolute paths\nln -s /home/stephen/obsidian-spaced-repetition/build/main.js /home/stephen/notes/.obsidian/plugins/obsidian-spaced-repetition\nln -s /home/stephen/obsidian-spaced-repetition/manifest.json /home/stephen/notes/.obsidian/plugins/obsidian-spaced-repetition\nln -s /home/stephen/obsidian-spaced-repetition/styles.css /home/stephen/notes/.obsidian/plugins/obsidian-spaced-repetition\n
Document the \"user-facing\" changes e.g. new feature, UI change, etc.
tests/
.pnpm test
[Unreleased]
section of the changelog (docs/changelog.md
).Added
for new features.Changed
for changes in existing functionality.Deprecated
for soon-to-be removed features.Removed
for now removed features.Fixed
for any bug fixes.Security
in case of vulnerabilities.Make flashcard text selectable [@st3v3nmw](https://github.com/st3v3nmw)
pnpm lint
pnpm format
The documentation consists of Markdown files which MkDocs converts to static web pages. Specifically, this project uses MkDocs Material.
These files reside in docs/
in the respective language's folder. For instance, English docs are located in docs/en/
.
The docs are served on https://www.stephenmwangi.com/obsidian-spaced-repetition/.
For small changes, you can simply open an pull request for merging (against the master
branch). The changes will be live once a new release is made.
For larger diffs, it's important that you check how your docs look like as explained below.
"},{"location":"contributing/#viewing-docs-locally","title":"Viewing Docs Locally","text":""},{"location":"contributing/#initial-setup","title":"Initial Setup","text":"python3 -m venv venv
. venv/bin/activate
pip install -r requirements.txt
. venv/bin/activate
mkdocs serve
docs/
if it doesn't exist. Use the language codes provided here.mkdocs.yml
- plugins.i18n.languages
).en
) folder into the new folder.Example using v1.9.2
:
git switch -c release-v1.9.2
manifest.json
and package.json
(following Semantic Versioning).MAJOR.MINOR.PATCH
, increment the:MAJOR
version when you make incompatible API changesMINOR
version when you add functionality in a backwards compatible mannerPATCH
version when you make backwards compatible bug fixesminAppVersion
and versions.json
to reflect this.pnpm changelog
to update the CHANGELOG.Commit and push the changes:
git add .\ngit commit -m \"Bump version to v1.9.2\"\ngit push --set-upstream origin release-v1.9.2\n
Open and merge the PR into master
.
master
and pull the changes: git switch master && git pull
git tag 1.9.2
git push --tags
. You're all set! This GitHub action should pick it up, create a release, publish it, and update the live documentation.Check the Obsidian Tasks project which has excellent contribution guidelines.\u00a0\u21a9
Piotr Wozniak's 20 rules of knowledge formulation is a great introduction on proper flashcard creation.
"},{"location":"flashcards/#single-line-basic-remnote-style","title":"Single-line Basic (Remnote style)","text":"The prompt and the answer are separated by ::
(this can be configured in settings).
the question goes on this side::answer goes here!\n
"},{"location":"flashcards/#single-line-reversed","title":"Single-line Reversed","text":"Creates two cards side1:::side2
& the reversed version side2:::side1
.
The prompt and the answer are separated by :::
(this can be configured in settings).
the question goes on this side:::answer goes here!\n
Note: In the first review, the plugin will show non-reversed card and reversed card. If Bury sibling cards until the next day? turn on, only non-reversed card will appear.
"},{"location":"flashcards/#multi-line-basic","title":"Multi-line Basic","text":"The front and the back of the card are separated by ?
(this can be configured in settings).
Front of multiline\n?\nBackside of multiline card\n
These can also span over multiple lines as long as both sides \"touch\" the ?
:
As per the definition\nof \"multiline\" the prompt\ncan be on multiple lines\n?\nsame goes for\nthe answer\n
"},{"location":"flashcards/#multi-line-reversed","title":"Multi-line Reversed","text":"Creates two cards side1??side2
& the reversed version side2??side1
.
The front and the back of the card are separated by ??
(this can be configured in settings).
Front of multiline\n??\nBackside of multiline card\n
These can also span over multiple lines as long as both sides \"touch\" the ??
:
As per the definition\nof \"multiline\" the prompt\ncan be on multiple lines\n??\nsame goes for\nthe answer\n
Note: The behaviour is same as single line reversed.
"},{"location":"flashcards/#cloze-cards","title":"Cloze cards","text":"You can easily add cloze deletion cards using ==highlights==
, **bolded text**
, or {{text in curly braces}}
.
These can be turned on or off in settings.
Anki style {{c1:This text}} would {{c2:generate}} {{c1:2 cards}}
cloze deletions are not currently supported. This feature is being tracked here.
The green and blue counts on the right of each deck name represent due and new cards respectively.
"},{"location":"flashcards/#using-obsidian-tags","title":"Using Obsidian Tags","text":"#flashcards
is the default).Note that #flashcards
will match nested tags like #flashcards/subdeck/subdeck
.
The plugin will automatically search for folders that contain flashcards & use their paths to create decks & sub-decks i.e. Folder/sub-folder/sub-sub-folder
\u21d4 Deck/sub-deck/sub-sub-deck
.
This is an alternative to the tagging option and can be enabled in settings.
"},{"location":"flashcards/#reviewing","title":"Reviewing","text":"Once done creating cards, click on the flashcards button on the left ribbon to start reviewing the flashcards. After a card is reviewed, a HTML comment is added containing the next review day, the interval, and the card's ease.
<!--SR:!2021-08-20,13,290-->\n
Wrapping in a HTML comment makes the scheduling information not visible in the notes preview. For single-line cards, you can choose whether you want the HTML comment on the same line or on a separate line in the settings. Putting them on the same line prevents breaking of list structures in the preview or after auto-formatting.
Note that you can skip a card by simply pressing S
(case doesn't matter).
Tip
If you're experiencing issues with the size of the modal on mobile devices, go to settings and set the Flashcard Height Percentage and Flashcard Width Percentage to 100% to maximize it.
"},{"location":"flashcards/#faster-review","title":"Faster Review","text":"To review faster, use the following keyboard shortcuts:
Space/Enter
=> Show answer0
=> Reset card's progress (Sorta like Again
in Anki)1
=> Review as Hard
2
or Space
=> Review as Good
3
=> Review as Easy
If the parent note has heading(s), the flashcard will have a title containing the context.
Taking the following note:
#flashcards\n# Trivia\n## Capitals\n### Africa\nKenya::Nairobi\n\n### North America\nCanada::Ottawa\n
The flashcard for Kenya::Nairobi
will have Trivia > Capitals > Africa
as the context/title whereas the flashcard for Canada::Ottawa
will have Trivia > Capitals > North America
as the context/title.
To delete a card, simply delete the scheduling information & the card text.
"},{"location":"flashcards/#ignoring-cards","title":"Ignoring cards","text":"You can wrap flashcards in HTML comments e.g. <!--Card text <!--SR:2021-08-20,13,290--> -->
to prevent it from showing up in your review queues. You can always remove the wrapping comment later.
Currently, the only supported method is \"cramming\" all cards in a note using the Cram flashcards in this note command. Will work on a per-deck across-all-notes method.
"},{"location":"flashcards/#statistics","title":"Statistics","text":"The statistics section can be accessed using the View Statistics
command.
Stats on the number of cards due in the future.
"},{"location":"flashcards/#intervals","title":"Intervals","text":"Stats on delays until cards are shown again.
"},{"location":"flashcards/#eases","title":"Eases","text":"Stats on card eases.
"},{"location":"flashcards/#card-types","title":"Card Types","text":"Stats on card types: New, Young, Mature (Have intervals more than 1 month).
"},{"location":"notes/","title":"Notes","text":"Tag any notes that you'd like to review as #review
. This default tag can be changed in the settings. (You can also use multiple tags)
All \"new\" notes are listed under New
on the right pane (Review Queue). Like so:
Open the file & review it. Once done, choose either the Review: Easy
, Review: Good
, or the Review: Hard
option on the file menu (the three dots). The Easy
, Good
, or Hard
depend on how well you comprehend the material being reviewed.
Alternatively, you can right click on the file and access the same options:
The note will then be scheduled appropriately:
"},{"location":"notes/#faster-review","title":"Faster Review","text":"Commands to open a note for review, and making review responses are provided. You can create custom hotkeys for them in Settings -> HotKeys
. This allows for much faster review.
Available settings are:
Review: N due
on the status bar at the bottom of the screen shows how many notes one has to review today (Today's notes + overdue notes). Clicking on that opens one of the notes for review.
Alternatively, one can use the Open a note for review
command.
This was introduced here by @aviskase
.
Here are the YouTube videos:
Andy Matuschak uses spaced repetition system for working on writing inbox.
In short, there are four possible actions (where x < y
):
x
) == mark as good
hard
y
) == mark as easy