Emacs minor mode for making Anki cards with Org Mode
anki-editor.el | ||
demo.gif | ||
examples.org | ||
README.org |
anki-editor – an Emacs package that helps you create Anki cards in Org-mode
Requirements
- anki-connect, an Anki add-on required by this package to interact with Anki.
- curl
Usage
Installation
- Clone this repo and add the directory to your Emacs'
load-path
, then(require 'anki-editor)
. - Or if you use
package.el
, just download anki-editor.el and visit it in Emacs, thenM-x package-install-file
.
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 | Keybinding | Brief Description |
---|---|---|
anki-editor-setup-default-keybindings |
N/A | Set up default keybindings. |
anki-editor-submit |
C-c a s | Send notes in current buffer to Anki. |
anki-editor-insert-deck |
C-c a i d | Insert a deck heading with the same level as current heading. |
anki-editor-insert-note |
C-c a i n | Insert the skeleton of a note. |
anki-editor-insert-tags |
C-c a i t | Insert a tag at point with autocompletion. |
anki-editor-export-heading-contents-to-html |
C-c a e | Export the contents of the heading at point to HTML. |
anki-editor-convert-region-to-html |
N/A | Convert and replace region to HTML. |
anki-editor-anki-connect-upgrade |
N/A | Upgrade anki-connect to the latest version. |
Since I'm not a native English speaker, let me know if there's any ambiguity or grammatical mistakes.
Demo