-
Notifications
You must be signed in to change notification settings - Fork 2
/
readme.tid
78 lines (55 loc) · 3.65 KB
/
readme.tid
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
created: 20210105161211558
modified: 20210105164253086
tags:
title: $:/plugins/tadeaspaule/twsr/readme
type: text/vnd.tiddlywiki
This plugin brings [[spaced repetition|https://en.wikipedia.org/wiki/Spaced_repetition]] to TiddlyWiki, without any external systems. This means that you don't have to switch back and forth between tiddlers and software like [[Anki|https://apps.ankiweb.net/]], you can just stay within your wiki, creating new flashcards, revising them, etc.
!! How to import this plugin
Drag the above plugin block to the window that has your TiddlyWiki.
!! How to use
!!! Creating decks
Open the `SR` tab of the sidebar, type in a tag name, and hit Enter. Alternatively, open [[$:/config/twsr-config]], and edit the `decks` field.
In this system, ''decks = tags'', so for example if you want to revise german:
```json
{
"decks": ["german"],
...
}
```
!!! Creating flashcards
Simply add a `twsr` tag to a tiddler and it becomes a flashcard (it also needs to be tagged with a deck).
If you want to specify a prompt, add a `prompt` field (see example [[(twsr) Card with prompt]]).
If you want to specify a Cloze prompt, add a `prompt` field with a value like `Some c[of] c[these words] are c[hidden]` (see example [[(twsr) Card with Cloze prompt]]).
If none is given, the tiddler's title will be used as a prompt.
!!! Creating collections
What if you have many small things to revise, and don't want to have a tiddler for each, such as for language learning? Worry not, you can do this too!
# Create a tiddler with the tags `twsr` and `twsr-collection`
# Each line of text will be one flashcard, in the format `{prompt}{separator}{answer}`. The default separator is `=`
# Don't forget to add a deck just like with normal flashcards!
Example for basic usage: [[(twsr) German words]]. Example with a custom separator: [[(twsr) German words (custom separator)]] (you just edit the `sep` field)
```
yellow=gelb
red=rot
```
That's it! Each word will track its own delays and intervals, too.
If you want to set a custom separator (for example if you want to use `=` in the prompt/answer), you can add a field `sep` to the collection tiddler with your desired value.
!!! Revising
# There is a sidebar tab called `SR` wherever you have your sidebar. Open it
# Either `Revise anything`, or click on a specific deck, this gives you a prompt
# Once you've revised, click `show`, which will open the tiddler in question
# Rate your performance; select from the options `again`, `hard`, `good` or `easy`. This puts it back in the deck (if not `again`) and sets a new interval
!! Customization
`twsr` uses [[Anki's calculation for intervals|https://gist.github.com/fasiha/31ce46c36371ff57fdbc1254af424174]], which uses several parameters (static ones: `failMultiplier`, `multiplier`, `easyMultiplier`, `minMemoryStrength`; dynamic: `memoryStrength`).
You can edit these parameters in [[$:/config/twsr-config]].
!! Deck importing
The delays for revision are stored in [[$:/config/twsr-delays]] and the intervals are stored in [[$:/config/twsr-intervals]].
You can manually change these, or you can open a PR adding import functionality from software like Anki (or wait for me to get around to it, haha).
!! Source code
There is a public [[GitHub repository|https://github.com/tadeaspaule/twsr]] for `twsr`.
!! TODO
There is much that can be improved on this plugin. For example:
* after `again`, ensure the card doesn't repeat until you've seen all current ones
* import functionality and in general making the migration from TiddlyWiki + Anki (or equivalent) to just TiddlyWiki smoother
* way to see your performance, for example with the d3 plugin and a chart?
!! Author
[[Tadeas Paule|https://tadeaspaule.com]]