No project description provided
Project description
Ankivalenz
Ankivalenz is a tool for generating Anki notes from HTML files.
Tutorial
In this walk-through we will write our notes as Markdown files, use pandoc^pandoc to convert them to HTML, and finally use Ankivalenz to generate an Anki deck with Anki notes extracted from our Markdown files.
Installation
Ankivalenz is distributed as a Python package, and requires Python 3.10+. To install:
$ pip3 install ankivalenz
Initialize project
Create a folder for your notes:
$ mkdir Notes
$ cd Notes
Ankivalenz needs a configuration file, containing the name and ID of the
Anki deck. This can be generated with ankivalenz init
:
$ ankivalenz init
Write a note
Add the following to a file named Cell.md
:
# Cell
## Types
- Prokaryotic ?:: does not contain a nucleus
- Eukaryotic ?:: contains a nucleus
Generate Anki deck
Convert it to HTML:
$ pandoc Cell.md > Cell.html
And run Ankivalenz:
$ ankivalenz run .
This generates a file Notes.apkg
that can be imported to Anki. Open
Anki and go to File -> Import, and find Notes.apkg
.
Review
The new Anki deck will have two notes:
Question | Answer | Path |
---|---|---|
Prokaryotic | does not contain a nucleus | Cell > Types |
Eukaryotic | contains a nucleus | Cell > Types |
This is what the first note looks like in Anki:
Syntax
Front/back cards
Ankivalenz supports front/back cards, where the front is the question
and the back is the answer. To create a front/back card, add a new list item
with the question, followed by ?::
and the answer:
- Color of the sun ?:: Yellow
You can flip the order of the question and answer by using ::?
instead:
- Anwer ::? Question
Two-way notes
Two-way notes can be created with ::
:
- Side 1 :: Side 2
This will create two cards in Anki:
Front | Back |
---|---|
Side 1 | Side 2 |
Side 2 | Side 1 |
Cloze cards
Ankivalenz supports cloze deletion^cloze, where the answer is hidden in the question. To create a cloze card, add a new list item with the question, using Anki's cloze syntax:
- The {{c1::sun}} is {{c2::yellow}}.
Nested lists
Lists can be nested:
- Solar System
- Star ?:: Sun
- Planet
- Earth ?:: Blue
- Mars ?:: Red
The headings for the nested lists become a part of the notes' paths:
Question | Answer | Path |
---|---|---|
Star | Sun | Solar System |
Earth | Blue | Solar System > Planet |
Mars | Red | Solar System > Planet |
Math
If you are writing Markdown files, and use pandoc to convert them, the following syntax for math is supported:
- Inline math: $1 + 2$
- Display math: $$1 + 2$$
With the --mathjax
flag, pandoc will generate the correct markup,
using \( ... \)
as delimeters for inline math, and \[ ... \]
as
delimeters for display math:
$ pandoc --mathjax Note.md > Note.html
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for ankivalenz-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e256e6296e19678ef319a90db4c6d82cc42dddafd5eba711b336ba942c430478 |
|
MD5 | c85adc418457c7c3542f155a9e1e36ca |
|
BLAKE2b-256 | 1fb1df2690aa9dc23ab9d918a7fae9dcd8d1b99d45632d0a81ac868975c88366 |