Emacs minor mode for making Anki cards with Org Mode
Find a file
2018-05-06 16:46:54 +08:00
anki-editor.el Warn about Anki tags that are not valid Org tags 2018-05-06 16:46:54 +08:00
demo.gif Rework demo 2018-01-07 16:54:58 +08:00
examples.org Use Org tags as Anki tags. 2018-05-06 14:12:08 +08:00
README.org Update README 2018-04-15 15:52:26 +08:00

anki-editor Make Anki Cards in Org-mode

Installation

Requirements

  • anki-connect, an Anki add-on required by this package to interact with Anki.
  • curl

If you have MELPA in your package-archives, just M-x package-install RET anki-editor RET, or install it manually by downloading and visiting /elisp/anki-editor/src/commit/1fc0dab8ea66f007ee29768798ab34f8b5bc6139/anki-editor.el in your emacs buffer, and M-x package-install-from-buffer RET.

Usage

The Syntax

Now you can compose Anki notes in Org syntax, e.g. lists, code blocks, tables, latex fragments / environments, when being submitted to Anki, they will be converted to HTML by Org-mode's HTML backend with specific markers (e.g. latex) translated to the Anki style.

The structure of contents is as follow, which is inspired by org-drill. See examples.org for reference.

* English                                           :deck:
** Vocabulary
*** Item                                            :note:
    :PROPERTIES:
    :ANKI_NOTE_TYPE: Basic (and reversed card)
    :ANKI_TAGS: vocab idioms
    :END:
**** Front
     (it's) raining cats and dogs
**** Back
     it's raining very hard
  • Headings of deck are tagged with deck
  • Headings of note are tagged with note
  • Levels are not significant, but note headings must be descendents of their deck headings
  • Custom properties of a note heading can be used to specify note type and tags
  • Subheadings of a note heading are fields of its note type

Command Cheatsheet

Command Brief Description
anki-editor-submit Send notes in current buffer to Anki.
anki-editor-insert-deck Insert a deck heading.
anki-editor-insert-note Insert the skeleton of a note.
anki-editor-add-tags Add tags to property drawer of current heading with autocompletion.
anki-editor-cloze-region Cloze region.
anki-editor-export-subtree-to-html Export subtree of the element at point to HTML.
anki-editor-convert-region-to-html Convert and replace region to HTML.

Since I'm not a native English speaker, let me know if there's any ambiguity or grammatical mistakes.

Demo

/elisp/anki-editor/media/commit/1fc0dab8ea66f007ee29768798ab34f8b5bc6139/demo.gif

Change Log

v0.2.1

  • Automatically store media files for links to file when submitting.
  • anki-editor-insert-tags renamed to anki-editor-add-tags, with behavior slightly changed.
  • anki-editor-export-heading-contents-to-html renamed to anki-editor-export-subtree-to-html.

v0.2.0

  • Fix org-element not functioning correctly in temp buffer.
  • Add a command to cloze region.
  • Refactor the code to do the translation with Org's exporting framework.
  • Add a customization variable to break consecutive braces in latex.

v0.1.2

  • Make deck/note insertion commands smarter on choosing insertion point.
  • Fix latex environments being joined with the elements following it.