No project description provided
Project description
Ankivalenz
Ankivalenz is a tool for generating Anki cards from Markdown files. Read my blog post for more information on the "Why" of Ankivalenz.
Table of Contents
Tutorial
In this walk-through we will write our notes as Markdown files, and use Ankivalenz to generate an Anki deck with Anki cards 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
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
.
Updating Anki deck
If you make changes to your notes, you can update the Anki deck by
running ankivalenz run
again. It is not possible to mark cards
as deleted, so if you remove a note, the corresponding card will
remain in the Anki deck. To work around this issue, all cards are
tagged with a timestamp, and you can use the Anki browser to delete
cards with an old timestamp. Running ankivalenz run
will provide
you with the filter needed to delete orphaned cards:
$ ankivalenz run .
- Added 3 notes to deck Biology in Biology.apkg
- Import the .apkg file into Anki (File -> Import)
- Find and delete orphaned notes with this filter (Browse):
deck:Biology -tag:ankivalenz:updated:1666899823
Review
The new Anki deck will have two cards:
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 cards
Two-way cards 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 |
Standalone questions/answers
Sometimes you want to create a note refering to the parent heading. This can be done with standalone questions/answers:
- Sun
- ::? The star in our solar system
This will create a note with the answer "Sun" and the question "The star in our solar system". The other types of delimeters ("::" and "?::") can be used in the same way.
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
Ankivalenz supports inline math:
- Inline math: $1 + 2$
Configuration
ankivalenz.json
takes the following options:
Option | Description |
---|---|
deck_name |
The name of the Anki deck. |
deck_id |
The ID of the Anki deck. |
input_path |
The path to the folder containing the Markdown files. |
Project details
Release history Release notifications | RSS feed
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
File details
Details for the file ankivalenz-1.0.2.tar.gz
.
File metadata
- Download URL: ankivalenz-1.0.2.tar.gz
- Upload date:
- Size: 9.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.6 Darwin/24.0.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
fca1db6afa62e03de44b867a1a9d53d2e73aaf2352c3c9158cbf5829f5c69901
|
|
MD5 |
2532aab2dd07c6097e2c45f3cff82d97
|
|
BLAKE2b-256 |
8de4c83b93d777eb5c3eacee78faa5e57af0085c0933a9b0a3038ccb21bd8872
|
File details
Details for the file ankivalenz-1.0.2-py3-none-any.whl
.
File metadata
- Download URL: ankivalenz-1.0.2-py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.6 Darwin/24.0.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
e786fa7fd1402bc097b1a26d3e8f59dd16a8d9adf2195c2d8a3f0121a7e33531
|
|
MD5 |
64854bf5138004a6a17ddb140d527710
|
|
BLAKE2b-256 |
2566330e143d6fe0c29d6b7b2ac832b806718fc3ab09e2fa08eb518ef89e9218
|