Extracting spaced repetition prompts (flashcards) from documents.
Adding knowledge to long-term memory builds fluency, since you don't have to pause and look things up. And being fluent at something makes it much more fun! The faster you can get from crawling to running, the more enjoyable it is. This means you can bootstrap into a new field rapidly.
Anki enables that is awesome. It's automated spaced repetition, allowing you to retain information for much longer than you would have before. But it's user interface isn't great, and not at all conducive to maintaining a cohesive set of knowledge.
A Zettelkasten solves this problem! The present package extracts Anki prompts from (markdown) documents.
This thinking is largely inspired by Andy Matuschak's Personal Mnemonic Medium, and the code is based on the unmaintained Ankdown.
FYI-style open source, maintenance is not guaranteed.
The left path describes the abstract pipeline, the right path the current instantiation in this repo.
graph TD
FD["File on disk"]
FD -- Document factory --> Document
Document -- Extractor --> Prompt
Prompt -- Exporter --> Card
MD["Markdown file"]
Prompts["[QAPrompt | ClozePrompt]"]
Cards["[AnkiQA | AnkiCloze]"]
MD -- MarkdownNoteFactory --> Document
Document -- "[QAExtractor, \nClozeExtractor]" --> Prompts
Prompts -- AnkiPackageGenerator --> Cards
To get a full
To build and run the container, see docker_cmd.sh
.