* Changelog I hope the current card / log format is flexible enough to accommodate upcoming changes. In case a update to the org sources is needed, I'll add a changelog entry with updating instructions. ** 0.1.0 *** Added - A ~org-fc-after-flip-hook~ that is run after a card is flipped - Support for setting audio files to play after flipping a card via ~org-fc-audio-set-after-flip~ *** Fixed - Reverting the dashboard buffer didn't work due to a missing function argument, this has been fixed *** Renamed / Deprecated - ~org-fc-audio-set-after~ -> ~org-fc-audio-set-after-setup~ - ~org-fc-audio-set-before~ -> ~org-fc-audio-set-before-setup~ - ~org-fc-audio-property-before~ -> ~org-fc-audio-before-setup-property~ - ~org-fc-audio-property-after~ -> ~org-fc-audio-after-setup-property~ *** Removed - The "G" key binding in ~org-fc-dashboard-mode~ has been removed in favor of the default "g" ~revert-buffer~ binding ** 0.0.1 *** [2020-11-12 Thu] - Removed ~(org-fc-filter-index index filter)~, replacing it with indexer specific functions ~(org-fc-awk-index paths &optional filter)~ and ~(org-fc-cache-index paths &optional filter)~ - Added a defcustom ~org-fc-index-function~ to support different indexers - Added a prototype caching indexer *** [2020-11-11 Wed] **** Added The dashboard now includes a forecast of how many cards will be due during the next day, week (+7 days) or month (+30 days). **** Changed - All dashboard functions were extracted to a separate file - ~org-fc-stats~ was renamed to ~org-fc-dashboard-stats~ - ~org-fc--hashtable-to-alist~ was renamed to ~org-fc-dashboard--hashtable-to-alist~ - ~org-fc-context-dashboard~ was renamed to ~org-fc-dashboard-context~ - ~org-fc-review-dashboard-context~ was renamed to ~org-fc-dashboard-review~ *** [2020-09-09 Wed] Org-fc now supports nested flashcards. **** Changed - It's now possible to mark child headings of flashcards as a flashcards - When flipping a card, child headings (except the "Back" heading) remain collapsed - Subheadings are ignored when searching for holes of cloze cards *** [2020-07-16 Thu] **** Changed - Suspending a card during review now removes all other positions of it from the current session, to avoid reviewing suspended cards *** [2020-07-08 Wed] **** Changed The awk index now also includes the headline text of each card. This will be useful for building a ~tabulated-list-mode~ based card overview. *** [2020-07-06 Mon] **** Added - ~org-fc-suspend-tree~ for suspending all cards in a subtree **** Changed - unsuspending overdue cards doesn't reset their review data anymore *** [2020-07-04 Sat] **** Added - ~org-fc-review-edit~ (bound to ~p~) pauses the review for editing the current card. A new mode ~org-fc-review-edit-mode~ adds keybindings for resuming & quitting the review. *** [2020-07-03 Fri] **** Changed - By default, failed cards are appended to the end of the review session. This can be configured via ~org-fc-append-failed-cards~ - ~org-fc-map-cards~ takes an optional ~scope~ argument, similar to ~org-map-entries~. **** Added - ~org-fc-unsuspend-tree~ unsuspends all cards in the subtree at point *** [2020-07-02 Thu] **** Changed - ~org-fc-review-rate-card~ was renamed to ~org-fc-review-rate~ *** [2020-07-01 Wed] **** Changed - The review history file is only written once per review, as a first step towards implementing a "undo-rating" command *** [2020-06-29 Mon] **** Added - Shuffling of positions for the review can be disabled by setting ~org-fc-shuffle-positions~ to ~nil~ **** Changed - Error messages from shell commands are promoted *** [2020-06-28 Sun] **** Added - ~org-fc-before-review-hook~ that runs when a review session is started *** [2020-06-26 Fri] **** Changed - Messages are not inhibited during review - Whitelisted drawers are expanded during review **** Added - A ~org-fc-after-review-hook~ that runs when the review ends / is quit - ~org-fc-keymap-hint~ extension - ~org-fc-audio~ extension *** [2020-06-25 Thu] **** Added - ~SCHEDULED: ...~, ~DEADLINE: ...~ timestamps are hidden during review - Drawers in ~org-fc-drawer-whitelist~ are not hidden during review **** Changed - During the review process, two minor modes are used instead of two hydras *** [2020-05-24 Sun] **** Changed - Include file information in card index - Maintain order of positions in a card when shuffling *** [2020-05-22 Fri] **** Changed - Exit hydra when review is started *** [2020-05-08 Fri] **** Changed - Per-context dashboard - Improve org-indent of cards - Use special "fc-demo" tag for demo cards - Move opening of flip/rating hydras to main review loop *** [2020-05-01 Fri] **** Internal The AWK scripts now generate S-expressions instead of CSV tables, this way ~read~ can be used to parse the data instead of relying on a set of custom parsing functions. This also allows passing more complex data structures from AWK to org-fc. *** [2020-04-29 Wed] Implemented a new version of the spacing algorithm (SM2) that's used by org-fc. The only difference is in how the next interval for cards rated as "hard" is calculate. The initial version (~'sm2-v1~) would decrease the ease factor by 0.15, then calculate the next interval by multiplying the previous interval with the new ease factor. In the new version (~'sm2-v2~), the interval is always multiplied by a factor of 1.2, similar to the version of SM2 used by Anki. ~org-fc-algorithm~ can be used to set which version of the algorithm should be used, defaulting to ~'sm2-v1~. Once I have evaluated the performance of the new algorithm, the default version will change to ~'sm2-v2~. *** [2020-04-12 Sun] **** Added - =text-input= card type *** [2020-02-08 Sat] **** Changed - Add a "Z" suffix to all ISO8601 timestamps **** Added - A function to estimate the number of reviews in the next n days *** [2020-02-03 Mon] **** Internal - ~org-fc-due-positions-for-paths~ now shuffles the lists of positions using an Emacs Lisp function instead of depending on =shuf= - All awk-indexer functions now use ~gawk~ instead of ~awk~