2017-12-27 17:20:01 +01:00
|
|
|
anki-editor -- an Emacs package that helps you create Anki cards in Org-mode
|
|
|
|
|
|
|
|
* Requirements
|
2018-01-15 15:11:02 +01:00
|
|
|
|
|
|
|
- [[https://github.com/FooSoft/anki-connect#installation][anki-connect]],
|
|
|
|
an Anki add-on required by this package to interact with Anki.
|
2018-01-07 10:24:57 +01:00
|
|
|
- curl
|
2017-12-27 17:20:01 +01:00
|
|
|
|
|
|
|
* Usage
|
2018-01-15 15:11:02 +01:00
|
|
|
|
|
|
|
** 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][anki-editor.el]] and visit it in Emacs, then
|
|
|
|
=M-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][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
|
|
|
|
|
2018-01-22 05:47:58 +01:00
|
|
|
| Command | Brief Description |
|
|
|
|
|-----------------------------------------------+---------------------------------------------------------------|
|
|
|
|
| =anki-editor-submit= | Send notes in current buffer to Anki. |
|
|
|
|
| =anki-editor-insert-deck= | Insert a deck heading with the same level as current heading. |
|
|
|
|
| =anki-editor-insert-note= | Insert the skeleton of a note. |
|
|
|
|
| =anki-editor-insert-tags= | Insert a tag at point with autocompletion. |
|
|
|
|
| =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. |
|
2018-01-15 15:11:02 +01:00
|
|
|
|
|
|
|
|
|
|
|
*Since I'm not a native English speaker, let me know if there's any ambiguity or grammatical mistakes.*
|
|
|
|
|
|
|
|
* Demo
|
|
|
|
|
|
|
|
[[./demo.gif]]
|