[[http://melpa.org/#/anki-editor][file:http://melpa.org/packages/anki-editor-badge.svg]] anki-editor -- Make Anki Cards in Org-mode * Installation *Requirements* - [[https://github.com/FooSoft/anki-connect#installation][anki-connect]], an Anki add-on required by this package to interact with Anki. - curl If you have [[http://melpa.org/][MELPA]] in your =package-archives=, just =M-x package-install RET anki-editor RET=, or install it manually by downloading and visiting [[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][examples.org]] for reference. #+BEGIN_EXAMPLE * 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 #+END_EXAMPLE - 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-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 [[./demo.gif]] * 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.