Anki supports plugins to add features and change the default behaviour. The plugin directory is in ~/.anki/plugins (where '~' is your home directory).
On Windows, the path is typically something like C:\Documents and Settings\YourUserAccount\.anki\plugins or c:\anki\plugins
- On a Mac, the folder is in your home directory, but it's hidden by default.
To add a plugin, simply put a python file in that directory and start Anki.
The structure of the plugins is pretty simple, and best explained by example.
Contents
- 0.9.x plugins
- Custom dictionary lookup
- Additional information for each kanji
- Stop sounds playing at double speed
- Yes or No
- JLPT Progress
- Example sentences
- Kanji words
- RLC Bitzer Plugin
- Import progress from kanji.koohii.com
- Selective Kanji Statistics
- Hide intervals
- Customize auto-generated pinyin for mandarin chinese
- Spreading due repetitions over a number of days
- Periodic Reminder Popup
- Hanzi statistics
- Kangoroo learn-file import
- 0.4.x plugins
0.9.x plugins
0.4 plugins will need to be ported. Not many changes are required - see init.py in libanki for more info. Please add new plugins to the bottom of the list for now.
Custom dictionary lookup
Removes the standard alc/edict links in the lookup directory, and replaces them with links which invoke an external program called "lookup"
Additional information for each kanji
This plugin will display any extra info you specify for each kanji on the answer side. Each kanji will be displayed in a stroke order font (if present) and additional info (if specified) will be displayed on mouseover. You will have to create a kanji_info.txt file that contains the info you want to be displayed. The format is simple (for each line, <single kanji> <single space> <whatever info you want>), for example kanjidic converted to UTF-8 charset will work.
attachment:kanji_info.png Sample Screenshot (shows unique meaning for each Kanji, this one is in German, though)
attachment:kanji_info.txt Sample kanji_info.txt file, one unique meaning per kanji generated from kanjidic (meanings enclosed in * where uniqueness was not possible)
If this plugin causes you any trouble, contact Andreas.Klauer@metamorpher.de
To display the stroke order, the font called KanjiStrokeOrder is needed. You can find it on this site.
Stop sounds playing at double speed
If your audio files are playing at double speed, it's because they have a low frequency. Anki defaults to 44100hz because 22050hz can cause crackling on some soundcards. You may want to try the plugin below, which changes the playing speed to 22050hz.
Yes or No
Simple & stupid plugin that adds yes and no labels to buttons, as a recommendation what to answer depending on type of card and wether you knew it or not:
- for new cards, yes is 2 and no is 0.
- for failed cards, yes is 2 and no is 1.
- for due cards, yes is 3 and no is 1.
It will still show all buttons, so you can answer any other number you like and ignore the recommendation.
If this plugin causes you any trouble, contact Andreas.Klauer@metamorpher.de
JLPT Progress
- Displays your deck's completion percentage towards each JLPT level.
- See the header of the plugin file for instructions.
Example sentences
- Displays example sentences from the Tanaka Corpus for the current expression
Install the example_sentences_v03.py file in your .anki/plugins directory, and unzip the example_sentences.zip in the .anki folder
- Put the "example_sentences" feature in your deck model
- Ensure that you have an "Expression" field in your card model
My JLPT_vocabulary.anki deck is already configured to be used with this plugin
- Notes :
- version 0.03 : displays the current card's word in red, and also displays the japanese sentences (only) in the question (to disable that behavior comment the last 2 lines of the latest function)
- version 0.02 : fixed speed problems, now results are displayed almost immediately
version 0.01 : might be a little long sometimes (one or two seconds), perhaps I should have stopped the search after 10 results or so... Anyway, seems to handle inflections correctly ! For suggestions and/or remarks : mailto:guillaume.viry@gmail.com
Screenshot : example_sentences.png
Kanji words
- Displays words containing the current card's kanji, with their reading and english meaning
Install the kanji_words.py file in your .anki/plugins directory, and unzip the kanji_words.zip in the .anki folder
- Put the "kanji_words" feature in your deck model
My Japanese_Kanji.anki deck is already configured to be used with this plugin
The data file was made from JLPT vocabulary lists I cooked. It is pretty complete, but if you have any suggestion to improve it... mailto:guillaume.viry@gmail.com
Screenshot : kanji_words.png
RLC Bitzer Plugin
- This plugin adds a few often (sometimes) requested features, such as:
- tray icon support, including reminder when cards become ready for review
if the main window is minimised, Anki will be sent to the tray NEW
Kanji information displayed when mouse is hovered over characters. NEW
can use animated Kanji images e.g. SODA (http://www.kanjicafe.com/using_soder.htm#download)
additional help info in RLC Bitzer preferences tab NEW
- a "personal trainer" mode where time or card limits (or both) will be set on a session
- an area to draw in - might be useful for kanji practise
- 2 modified card schedulers ... choose:
- Anki's original scheduler (i.e never show New cards if there are Old cards ready for review)
- distribute new cards through review
- show all New cards before any old cards
- or somewhere between those 2 extremes ... intersperse New and Old cards (3 different frequencies)
- ignore card timing, and display all (speed round)
- remove Anki update dialog window (a message is displayed in status bar for 5 secs on startup)
- on Answer screen, stop space-bar from selecting an answer
- on Answer screen, optionally remove interval time displayed with answer buttons
on Edit screen, choose whether <current> is the default search string or not
- tray icon support, including reminder when cards become ready for review
- These features can be turned on/off from a new Preferences tab
- Fixed scheduling bug, by integrating the latest scheduler changes in Anki v0.9.5.7
- NB: from v0.16, the plugin tries to avoid interfering with features migrated to the main Anki app e.g. tray icon
Download rlc_bitzer.py v0.19, put into your .anki/plugins directory. You need to rename the file to rlc_bitzer.py, and restart anki to activate.
NB: this plugin modifies the behaviour of Anki, no guarantees are given as to possible side-effect or other problems that may occur with its use. Please backup your decks before using this plugin.
Problems: richard.colley@rcolley.com
Import progress from kanji.koohii.com
This plugin allows you to import card review progress from kanji.koohii.com into Anki.
If this plugin causes you any trouble, contact misha.penkov@gmail.com .
Installation
Save this Python file in your Anki plugins directory
Download the flashcard status file from http://kanji.koohii.com/status/export.php
- Start Anki. If the plugin has been successfully installed, you will see a it listed as a new import file type under Deck/Import. Additionally, if you started Anki through the command line, you will see 'kanji.koohii.com plugin loaded.' appear on standard output.
- Disable automatic synchronisation with the remote server if it is enabled. This done through going to Edit/Preferences menu, clicking on the 'Autosave and Synchronisation' tab and unchecking 'Sync on open' and 'Sync on close'.
- Disable autosave by unchecking 'Save on close' in the 'Autosave and Synchronisation' window
- Open any deck that has cards adhering to the Heisig model.
- Open the import menu (Deck/Import)
Change 'Type of file:' to 'Progress from kanji.koohii.com (*.txt)'
- For 'File to Import:', select the flashcards_status.txt file you downloaded from kanji.koohii.com
- Click 'Import'. Anki will freeze for a little while. After a couple of seconds, you will be able to see the result of the import in the status window.
- Examine the result. If it isn't what you expect, close the deck and discard the changes. Your deck will remain unmodified.
- If the result is OK, then save the deck.
- If you disabled synchronisation and autosave in the steps above, re-enable them.
Notes:
The plugin will not touch any cards that were already reviewed through Anki.
This is done to prevent accidental loss of scheduling information in an existing deck. If you would like to overwrite the review progress for a particular card, you may do so after resetting the progress for the card in the deck. To do this:
- Open the 'Edit Deck' dialog
- Select the cards in the deck you want to reset progress for (click on first card, Shift-click on the last card)
- Click on the 'Cards' button and select 'Reset Progress'
- Save the deck. Warning: you will lose all the progress info for those cards.
Selective Kanji Statistics
- Allows users to specify which fields to include in kanji statistics
- Simply add "Kanji statistics" to the special functions for the field in the model editor
- If no fields are specified, the default behaviour is used
Please report any issues in http://groups.google.com/group/ankisrs/browse_thread/thread/cb5b1ef7129cc3e0
Hide intervals
Hides interval times from the answer buttons. This plugin is essentially RLC Bitzer v0.16 by Richard Colley, but with everything else removed.
Customize auto-generated pinyin for mandarin chinese
This plugin adds better auto-generated pinyin when using anki for mandarin chinese. Based on the cedict dictionary.
To Install:
Unzip into the YOUR_HOME_DIRECTORY/.anki/plugin/ directory, and change the model property settings for your deck from "Mandarin" to "MyMandarin".
You can find my contact info here if you have trouble: http://brianvaughan.net/.
Spreading due repetitions over a number of days
This plugin will allow you to split your due cards over a number of days. The most important cards are shown first. If you have 100 repetitions and choose to split over 3 days, each day will show about 33 cards.
Periodic Reminder Popup
- Uses the system tray icon present in Anki 0.9.6 to display a popup reminder every x minutes, reminding you to study.
- Useful to spread many small study sessions out across the course of the day.
- Place in your plugins directory to install.
Hanzi statistics
Statistics on how many of the most frequent characters (based on the Modern Chinese list at http://lingua.mtsu.edu/chinese-computing/statistics/) you have seen in your deck. These statistics are sorted in groups of 500, up to 3500 characters.
- Displays number of unique Hanzi in your deck.
- Changes:
0.05: Toggle between counting new cards or not in the statistics, set in plugin file. Minor display bug fixed.
0.04: Show seen and missing Hanzi for each HSK level and each frequency level. Each displayed Hanzi is clickable, opening a website with the Hanzi definition.
0.03: Choose between Simplified and Traditional characters (set option in plugin file).
0.02: HSK statistics (only shown when Simplified characters is chosen).
- See the plugin file for installation instructions.
Please report issues or feature request in this thread.
Kangoroo learn-file import
Anki plugin for importing Kangoroo learn-files.
Kangoroo indexes the files in a similar way to EDICT, but it doesn't store the reading or meaning, just the keyword. This plugin will take the keywords from the learn-file and look them up in EDICT. From the look-up results, it will create new cards and import them.
You need to have a file called `edict' (without the quotes) in the same directory as the plugin (~/.anki/plugins on a Linux platform).
If a word in the learn-file isn't found in EDICT, then it will be skipped and an error presented to the user.
If this plugin causes you any trouble, contact misha.penkov@gmail.com .
0.4.x plugins
Improved kanji report
Updates to the kanji report, that include sorting by various fields, and displaying information about radicals.
Import progress from kanji.koohii.com
This plugin allows you to import card review progress from kanji.koohii.com into Anki.
If this plugin causes you any trouble, contact misha.penkov@gmail.com .
Installation
Save this Python file in your Anki plugins directory
Download the flashcard status file from http://kanji.koohii.com/status/export.php
- Start Anki. If the plugin has been successfully installed, you will see a `Plugins' menu appear in the main menu bar.
- Disable automatic synchronisation with the remote server if it is enabled. This done through going to Edit/Preferences menu, clicking on the "Autosave and Synchronisation" tab and unchecking "Sync on open" and "Sync on close".
- Disable autosave by unchecking `Save on close' in the "Autosave and Synchronisation" window
- Open any deck that has cards adhering to the Heisig model.
- Activate the plugin by clicking on Plugins/RevTK Import in the main menu bar. Note: the plugin will be disabled if there are no Heisig cards in the currently open deck.
- Navigate to the flashcard status file you downloaded and click "Open". The deck will be modified by the plugin, and the results of the modification will be displayed in a dialog.
- Examine the result. If it isn't what you expect, close the deck and discard the changes. Your deck will remain unmodified.
- If the result is OK, then save the deck (you may want to save it as another file to avoid modifying the original sample deck).
- If you disabled synchronisation and autosave in the steps above, re-enable them.
Notes
The plugin will not touch any cards that were already reviewed through Anki.
This is done to prevent accidental loss of scheduling information in an existing deck. If you would like to overwrite the review progress for a particular card, you may do so after resetting the progress for the card in the deck. To do this:
- Open the "Edit Deck" dialog
- Select the cards you want to update progress for.
- Select "Reset Progress".
- Click OK to confirm.
- Save the deck.
Importing from a Shift-jis encoded text file
This plugin lets anki import from sjis encoded '.csv' files. Shift-jis is a common encoding in Japan. The Perapera-kun plugin uses this encoding for output.
This plugin automatically makes a copy of the input file in utf8 and then loads it. The copy has a '.utf8' at the end. It can be deleted after the import.
Any you have any questions or suggestions contact Killersquierl@gmail.com .
