anki-editor.el | ||
demo.gif | ||
examples.org | ||
README.org |
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/46461874b328c0b7c6e012cc2121e9c62323e665/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-insert-tags |
Insert tags at point with autocompletion. |
anki-editor-cloze-region |
Cloze region. |
anki-editor-export-heading-contents-to-html |
Export the contents of the heading at point to HTML. |
anki-editor-convert-region-to-html |
Convert and replace region to HTML. |
Note that anki-editor-submit
will fail if the deck does not exist
yet. New decks must be created in Anki first.
Since I'm not a native English speaker, let me know if there's any ambiguity or grammatical mistakes.
Demo
Change Log
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.