Spaced repetition on DT3 using Markdown

I was musing about how I use DT3 for almost all of my knowledge management needs bar a few holdouts: my spaced repetition system using the very clunky Anki being one of them. Can I absorb even that into DT3?

Well, I created a system that works for me using markdown in DT3.

Markdown gets converted to HTML before being served to the container that is displaying it, such as the Preview pane in DT. This is why raw HTML tags are conveyed and rendered alongside with markdown marks.

There is an HTML tag that hides text until a disclosure triangle is clicked called <details>. Here I am using it to create a classic index card for spaced repetition:

And clicking on the disclosure triangle reveals the text up to the </details> end tag:

This works especially well on DTTG:

And you have all the capabilities of DT3’s markdown system in the “answer section” including MathJax, transclusions, images and even links to other files! etc.

This should work well if you set DT3 to display as preview as default:

Display Preview by Default

You can create a blank card and export it as a template to save you from typing the HTML tags:


Now as for the spaced repetition system, I have yet to create something as sophisticated as Anki's but merely use DT3’s color label system and flags to allow me to sort and to give me a visual idea about what still needs frequent revisiting. In addition, this simply carries over to DTTG. I tried using tags and smart groups but there was too much friction.

Hope this might be helpful to you too!


The html summary/details tags work well
Can you identify other elements of spaced repetition for implementation in DT

Anki's sophisticated system is loosely based on scientific studies of memory (starting with the famous Ebbinghaus Forgetting Curve, which we now know is too reductionist to be applied to real-live contexts but has a basis in truth), and the community has some rules of thumb about the spacing between looking at something to get it into your long term memory.

The idea is that you test yourself on items that you don’t know frequently and as you start to know the material, you test yourself less and less often.

In the Anki default, once you have revealed the answer, you have to make a decision on how well you know the material and when you next want to see it. It starts with minutes:


then days…


then months…etc. It hides the cards in between so you only study the appropriate cards.

In my DT3 system I only use 4 periods:

  • Did not know the answer = no intervening space = red tag
  • Sort of know the answer = about a week intervening space = orange tag
  • Know but not super-confident = about a month = green tag
  • Know the answer = about 3-6 months = no tag

So I sort my cards on DT3 “by Label”, look at red tags daily (or when I have spare time) and hop onto orange every Friday, and greens sometime at the end of a month. Those with no labels I look at once in a while.

This method is not very rigid (some cards are looked at with smaller intervals than ideal), but it works to some degree and transfers well onto DTTG.

Using Reminders

I have been experimenting with a more “rigid” system using DT3’s reminders. This can only be done on the desktop and not DTTG.

I keep the reminders inspector open while going through the cards. Once I reveal the answer I make a decision on when I want to see it again and set a reminder (it is quick with DT3’s helpful defaults or just click and change the month for longer periods:


I set the Alarm as Add To Reading List:


Then I use the reading list to review my cards, and repeat the process. I remove cards from the Reading List after I have set the next reminder.

It’s nice as the Reading List transfers well to DTTG, but I can’t set new dates once I have reviewed them on iOS/iPadOS. So I treat sessions on DTTG as extra study outside the system.

Edit: For clarity.


Thanks for the details

I like the use of the Reading List to sync with DTTG

For my implementation, I’m thinking to
. use the star ratings to store my level of confidence
. use a daily Applescript to add to the Reading List

1 Like

This is really interesting, thank you for sharing. May I ask what you use this for? I can see the value as a student or studying for tests, or for fun to broaden knowledge, but I’m struggling to see the value for my vocation (that is just for me though, hence why I was wondering how you use it). I have a rule that I don’t file anything in my database that I’ve not already processed, which for me often means I’ve studied and understood the ideas, pulled out any bits applicable to what I’m working on, etc. Once I’ve done that, I have an understanding of whatever idea was proposed, and I rely on DT to furnish me with the details when I need it. I’m interested in how people use “flash cards” like this.

I use it for languages: to improve vocabulary on those that I am at the intermediate level (or to learn technical terms) and to aid learning new ones.

Professionally I may have been round the block a few times, but I am always aware of the “exposure effect bias” and sometimes drop interesting things I have read (and think I know) just to test myself later. I straddle many technical and non-technical disciplines, so I am constantly learning.

Sometimes I drop things in that I’ve read that I think I need to know (as a human being). That question on the countries which border the Caspian Sea came from a leisurely reading of the book “Red Sands” by Caroline Eden. It was a classic “exposure effect bias” scenario because as I was reading it I thought I already knew the geography. But later, on a discussion about central Asia with my children, I found that I could not recall all of the countries flawlessly (I missed Azerbaijan).

[PS: Technically I know it’s the “Russian Federation” otherwise it’d be the Republic of Kalmykia, Astrakhan Oblast and the Republic of Dagestan in its place.]

Since I was not born with an eidetic memory, I think of spaced repetition as one of the many tools I have to counter the filter that my brain implements to keep me from information paralysis (or at worst, madness) to place details in memory that I can recall at will.

1 Like

Languages! embarassed facepalm
It’s literally what Duolingo does with its users, I can’t believe that didn’t occur to me when I was pondering uses for this! It’s actually a great idea for this. I write notes as I study Duolingo, usually additional reading around what Duolingo is telling me. So I could use your system to supplement my studying. (I actually haven’t got my language notes in DT yet because I’ve been trying to figure out how to store them in a way that is useful. I’m still just using paper for language learning at the moment!)

I’m generally not too bad with recalling stuff, I’m usually the person people come to in the office when they want to remember what was discussed in a meeting 6 years ago. But, I don’t think I have magical powers, I think I just do far better note-taking and archiving than most people do, and I think I share that skill with everyone on this forum. I think I’m using the search function similarly to your “recall” training, I like to rummage around and see what DT brings up when I look for something, and it reminds me of things I’ve read that are interesting and worth thinking about a bit more.

I only started using DT last year, and before that I mostly relied on notebooks, where the act of flipping through the pages to find the notes I needed served a similar function. I’ve been doing a huge job the last few months of moving all my paper notes into DT.

Thank you for sharing this process. One of the reasons I watch the forum is because I don’t know I need something until someone else shares how they use it, and I really appreciate people sharing tips like this to help us all :blush:


Did you implement what you described?

I like the star ratings concept. But, how to implement that? For the sake of discussion, assuming 1 star = 1 day…5 stars = 5 days. You need to also keep track of the date somehow. If not, the daily AppleScript will always see 5 star as 5 days later. It will not move to Reading List.

Care to share how did you implement that?

Agreed, the date must be tracked
The OP was using DTs reminder feature
For myself, I’m thinking the date can be stored in the note contents via the applescript

No, I didn’t actually follow through with implementing spaced repetition
in DT; just musing on the process

Thanks for the reply. I have done a quick simple setup using two Smart Rules, with simple AppleScript

  1. base on stars, set reminders accordingly, assuming 1 star = 1day … 5 stars = 5 days
  2. base on reminders fall on today, add it to reading list