No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.org
screenshot.png
simple-drill-old.el
simple-drill.el
test.org

README.org

simple-drill.el: A simple flashcard plugin for Emacs

Introduction

simple-drill.el is an Emacs plugin to help with memorizing things using space repetition algorithm.

There are many clients for doing this, e.g. Anki. For Emacs, there exists majorly two work, the =org-drill= and =pamparam=. But they are quite complicated. I want a tool that is easy to use, and generate clean data that can be version controlled.

The meta data is clean that can be easily version controlled. The data is clean lisp like this:

("pretty"
 (trans "漂亮" note nil date
        (23609 11966 775981 692000)
        score 2 level 7)
 "hello"
 (trans "你好" note nil date
        (23609 12108 698798 475000)
        score 0 level 6)
 "world"
 (trans "世界" note nil date
        (23609 12125 136637 73000)
        score 0 level 5))

Easy to use interface:

  • clean interface, show all information you care about
  • show all words, instead of one-by-one, for productivity. You want batch-processing, do you?
  • show relative days for last update and scheduled time
  • show by three sections: overdued, underdued, completed today
  • Only three actions: hard, simple, not sure
  • toggle visibility of translation (the answer) by a single click on the ?? field
  • Add new words directly in the interface

Screenshot:

./screenshot.png

Install

Currently I’m not making it available on Melpa. But I recommand to use straight to install package directly from git repository. You can install and setup the package using this configuration:

(use-package simple-drill
  :straight (simple-drill :type git :host github
                          :repo "lihebi/simple-drill.el")
  :config
  (setq simple-drill-history-file
        "~/.emacs.d/simple-drill-history.el"))

Run command simple-drill to bring the buffer.

Comparison with the org-drill and pamparam

Org-drill is too complicated.

  • It pops so many properties in the entries
  • It requires :drill: markup for each entry, and each entry should have a question, and another subtree for storing answers

I don’t like some design decisions of pamparam:

  • Pamparam keeps the progress inside another directory system, version controlled. It is a neat idea, but I want to keep the (minimum) progress with the master org file itself.
  • Also, Pamparam is generating one file for each card, resulting in far too many files.
  • Seems it is designed to enter the answer and validate. There seems not to be a readily supported way to enter a score manually without typing the answer. Typing answer is of trouble because the answer might be super long, super complex, requiring invoking other input method (such as Chinese), and most importantly, typing is slow, thinking is fast.

TODOs

FIXME right after adding new words, it seems the buttons will change all words