I have nearly finished a basic "drill mode" for org-learn. It works a bit like Anki/Mnemosyne.
When invoked, it scans files for topics which either have the tag :question:, or have the LEARN_DATA property (set by org-learn), and which are either unscheduled (ie new) or are not scheduled in the future. It shuffles them, picks a random subset if 'org-learn-maximum-items-per-drill-session' is set, and presents them one by one. The user presses a key, then presses a key 0-5 to rate their recall. 'org-smart-reschedule' is called for every reviewed item at the end of the test. Example topics which it understands: 1. The body under the heading tagged :question: is shown, with the :back: (ie "back of the card") subsection hidden. * Greeting Q1 :question: What is your name? (informal) ** Answer :back: ¿Cómo te llamas? 2. A card with both a front and a back. One side will be shown at random, with the other hidden. * Noun :question: ** Front :front: el gato ** Back :back: the cat 3. Cloze deletion. Text within SINGLE square brackets is obscured with a special font. * Grammar rule :question: To form an adverb from an adjective, add [-mente] to the [feminine] (gender) form of the adjective. I have a slight problem however. I don't know how to "record" headings so I can revisit them later. I need something like: (org-map-entries (lambda () (push (org-save-this-heading) headings)) "" files) (dolist (heading headings) (jump-to-heading heading) ...) Saving the buffer position does not work because each call to org-smart-reschedule alters the contents of the buffer. If/when I solve this problem, I should be able to release this code. Paul _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode