Releases: crizmo/KAnki
KAnki v1.1.1 - Universal Flashcard App for Kindle
KAnki Release Notes v1.1.1
🛠️ Bug Fixes and Improvements
Resolved Issues
- ✅ Text Overflow on Cards: Cards with long content now have proper scrolling support
- ✅ Unintended Button Presses: Added protection against accidental rapid button clicks
- ✅ Deck Time Tracking: Fixed issues with study session timing and statistics
New Features and Enhancements
Starred Card Review Flow
- ✅ Scrolling Within Cards: Scrolling within cards where front / back text is long.
- ✅ Post-Session Review: After completing regular reviews, you'll be prompted to review your starred cards
- Review Process:
- Open the app and review your regular cards
- Star cards during review by tapping the star icon (☆ → ★)
- Complete all due cards
- See a prompt: "You have X starred cards from this session. Review them now?"
- Accept to enter starred review mode
- Review starred cards with normal difficulty buttons
- Return to regular mode when finished
Enhanced Card Management
Star/Favorite Cards
- Mark favorites: Tap the star button (☆) in the top-left corner of any card
- Filter by stars: Use the "★ Starred" button in the level selection area
- Combined filters: Works with level filters (e.g., show only starred N5 cards)
- Persistence: Star status remains even after resetting progress (but clears with "Reset All Data")
- Use cases: Mark difficult words, create focused study sets, flag important vocabulary
Card Reversal
- Switch direction: Tap the "↔ Reverse" button to toggle between modes:
- Normal (Target → Native): Foreign word shown first
- Reversed (Native → Target): Native word shown first
- Visual indicators: Current mode displayed in level area and confirmed by toast notification
- Enhanced learning: Practice both recognition and production skills
- Full compatibility: Works with all other features (stars, level filters, error review)
Card Statistics
- Automatic tracking: KAnki now tracks views and performance for each card
- View count: See how many times you've encountered each word
- Last viewed: Know when you last studied a specific card
- Real-time updates: Statistics update as you study, providing immediate feedback
Improved Scrolling
- Vertical scroll: Cards with extensive content now support smooth vertical scrolling
- Text wrapping: Better handling of long words and phrases
Data Persistence
- Automatic saving: Card progress, stars, and statistics are automatically saved between sessions
- localStorage: Uses the Kindle's built-in localStorage feature to store data
- Robust persistence: Data remains even after closing the app or restarting the Kindle
- Complete history: All review history, difficulty levels, and next review times are preserved
- File location: Data stored at
/Kindle/.active_content_sandbox/kanki/resource/LocalStorage/file__0.localstorage
- Data control: Reset options (Progress Only or All Data) available in the menu
How to Install KAnki (New Users)
- Clone this repository or download the ZIP file
- Connect your Kindle to a computer via USB
- Unzip the downloaded file
- Copy the kanki folder and the
kanki.sh
script to thedocuments
folder on your Kindle - Open the
kanki/js/kanki_config.js
file and edit the configuration to match your language - Download or convert a TTF font file that supports your target language. Rename it to
language.ttf
and place it in:kanki/assets/fonts/language.ttf
- Disconnect your Kindle from the computer
- Open the Kindle's home screen and run the KAnki app
🔧 How to Update (Existing Users)
- Back up your current
kanki/js/vocabulary.js
orkanki/js/kanki_config.js
file if you have been using KAnki - Download the new KAnki release
- Replace your old kanki folder with the new one
- Copy your vocabulary data to the new
kanki/js/kanki_config.js
file - Optional: Customize language settings in
kanki_config.js
- Copy your
language.ttf
font file to the newkanki/assets/fonts/language.ttf
location - Disconnect your Kindle from the computer
- Open the Kindle's home screen and run the KAnki app
- Hit the
Reload
button after clicking the 3 dots in the top chromebar in the app to apply changes - Done! Your KAnki app is now updated with the latest features
✨ Example Configuration
/**
* KAnki Configuration
* Edit these settings to customize the app for your language
*/
var KANKI_CONFIG = {
language: "Japanese", // Change this to your language name
levels: ["N5", "N4", "N3", "N2", "N1"] // These should match the keys in your VOCABULARY object
};
/**
* Vocabulary Data
* Organized by proficiency level
*/
var VOCABULARY = {
"N5": [
{"front": "こんにちは", "reading": "konnichiwa", "back": "Hello", "notes": "Greeting"},
// Add more words...
],
"N4": [
{"front": "急ぐ", "reading": "いそぐ", "back": "To hurry", "notes": "Verb"},
// Add more words...
],
// Add more levels...
};
Data Storage
KAnki saves your progress and card statistics using the Kindle's localStorage feature. All your data is stored locally on your device at:
/Kindle/.active_content_sandbox/kanki/resource/LocalStorage/file__0.localstorage
If you ever want to reset all progress or encounter issues with saved data, you can:
- Delete this file to completely reset the application data
- Use the "Reset Progress" button within the app to only reset card progress while keeping your deck intact
- Use the "Reset All" button to return to the default deck and clear all progress
Available configs for this version
1 - Japanese
If you've configured KAnki for another language, please share it via my Discord or submit it on GitHub by opening an issue or pull request with your config zip!
⭐ Thank you for using KAnki! ⭐
KAnki v1.1.0 - Universal Flashcard App for Kindle
KAnki Release Notes
🎉 Major New Features
Star/Favorite Cards
- Mark favorites: Tap the star button (☆) in the top-left corner of any card
- Filter by stars: Use the "★ Starred" button in the level selection area
- Combined filters: Works with level filters (e.g., show only starred N5 cards)
- Persistence: Star status remains even after resetting progress (but clears with "Reset All Data")
- Use cases: Mark difficult words, create focused study sets, flag important vocabulary
Card Reversal
- Switch direction: Tap the "↔ Reverse" button to toggle between modes:
- Normal (Target → Native): Foreign word shown first
- Reversed (Native → Target): Native word shown first
- Visual indicators: Current mode displayed in level area and confirmed by toast notification
- Enhanced learning: Practice both recognition and production skills
- Full compatibility: Works with all other features (stars, level filters, error review)
Card Statistics
- Automatic tracking: KAnki now tracks views and performance for each card
- View count: See how many times you've encountered each word
- Last viewed: Know when you last studied a specific card
- Real-time updates: Statistics update as you study, providing immediate feedback
Data Persistence
- Automatic saving: Card progress, stars, and statistics are automatically saved between sessions
- localStorage: Uses the Kindle's built-in localStorage feature to store data
- Robust persistence: Data remains even after closing the app or restarting the Kindle
- Complete history: All review history, difficulty levels, and next review times are preserved
- File location: Data stored at
/Kindle/.active_content_sandbox/kanki/resource/LocalStorage/file__0.localstorage
- Data control: Reset options (Progress Only or All Data) available in the menu
These features help customize your learning experience for more effective vocabulary acquisition.
How to Install KAnki ( New Users )
- Clone this repository or download the ZIP file
- Connect your Kindle to a computer via USB
- Unzip the downloaded file
- Copy the kanki folder and the
kanki.sh
script to thedocuments
folder on your Kindle - Open the
kanki/js/kanki_config.js
file and edit the configuration to match your language. - Download or convert a TTF font file that supports your target language. Rename it to
language.ttf
and place it in:kanki/assets/fonts/language.ttf
- Disconnect your Kindle from the computer
- Open the Kindle's home screen and run the KAnki app
🔧 How to Update ( New Users ignore this )
- Back up your current
kanki/js/vocabulary.js
orkanki/js/kanki_config.js
file if you have been using KAnki, ignore if you are a new user - Download the new KAnki release
- Replace your old kanki folder with the new one
- Copy your vocabulary data to the new
kanki/js/kanki_config.js
file - Optional: Customize language settings in
kanki_config.js
- Copy your
language.ttf
font file to the newkanki/assets/fonts/language.ttf
location - Disconnect your Kindle from the computer
- Open the Kindle's home screen and run the KAnki app
- Hit the
Reload
button after clicking the 3 dots in the top chromebar in the app to apply changes - Done! Your KAnki app is now updated with the latest features
✨ Example Configuration
/**
* KAnki Configuration
* Edit these settings to customize the app for your language
*/
var KANKI_CONFIG = {
language: "Japanese", // Change this to your language name
levels: ["N5", "N4", "N3", "N2", "N1"] // These should match the keys in your VOCABULARY object
};
/**
* Vocabulary Data
* Organized by proficiency level
*/
var VOCABULARY = {
"N5": [
{"front": "こんにちは", "reading": "konnichiwa", "back": "Hello", "notes": "Greeting"},
// Add more words...
],
"N4": [
{"front": "急ぐ", "reading": "いそぐ", "back": "To hurry", "notes": "Verb"},
// Add more words...
],
// Add more levels...
};
Data Storage
KAnki saves your progress and card statistics using the Kindle's localStorage feature. All your data is stored locally on your device at:
/Kindle/.active_content_sandbox/kanki/resource/LocalStorage/file__0.localstorage
If you ever want to reset all progress or encounter issues with saved data, you can:
- Delete this file to completely reset the application data
- Use the "Reset Progress" button within the app to only reset card progress while keeping your deck intact
- Use the "Reset All" button to return to the default deck and clear all progress
Available configs for this version
1 - Japanese
If you’ve configured KAnki for another language, please share it via my Discord or submit it on GitHub by opening an issue or pull request with your config zip !
⭐ Thank you for using KAnki! ⭐
KAnki v1.0.0 - Universal Flashcard App for Kindle
KAnki Release Notes
🎉 Major New Features
Error Review Mode
- Immediate Error Review: Automatically tracks cards answered incorrectly during your review session
- Review Prompt: After completing a review cycle, you'll be prompted to review incorrectly answered cards
- Focused Learning: Helps reinforce troublesome vocabulary by letting you practice difficult cards right away
- Progress Tracking: Clear UI indicators show when you're in error review mode
- Mastery System: Cards are removed from the error queue once you answer them correctly
Centralized Configuration System
- Single Configuration File: All user customizations now live in
kanki/js/kanki_config.js
- Easier Updates: Keep your configuration when updating to new KAnki versions
- Clean Separation: Core application logic is now separate from user preferences
📝 Changes
Improvements
- Simplified Customization: Language settings and vocabulary all in one file
- Better Structure: Improved organization of code and configuration
- Enhanced Documentation: Updated README with detailed customization instructions
- Cleaner UI: Improved status indicators for error review mode
File Changes
- Added:
kanki/js/kanki_config.js
- New centralized configuration file - Modified:
main.js
- Updated to support error review and use centralized configuration
How to Install KAnki ( New Users )
- Clone this repository or download the ZIP file
- Connect your Kindle to a computer via USB
- Unzip the downloaded file (Make sure the name is KAnki)
- Copy the KAnki folder and the
kanki.sh
script to thedocuments
folder on your Kindle - Open the
kanki/js/kanki_config.js
file and edit the configuration to match your language. - Download or convert a TTF font file that supports your target language. Rename it to
language.ttf
and place it in:kanki/assets/fonts/language.ttf
- Disconnect your Kindle from the computer
- Open the Kindle's home screen and run the KAnki app
🔧 How to Update ( New Users ignore this )
- Back up your current
kanki/js/vocabulary.js
orkanki/js/kanki_config.js
file if you have been using KAnki, ignore if you are a new user - Download the new KAnki release
- Replace your old KAnki folder with the new one
- Copy your vocabulary data to the new
kanki/js/kanki_config.js
file - Optional: Customize language settings in
kanki_config.js
- Copy your
language.ttf
font file to the newkanki/assets/fonts/language.ttf
location - Disconnect your Kindle from the computer
- Open the Kindle's home screen and run the KAnki app
- Hit the
Update
button in the app to apply changes - Done! Your KAnki app is now updated with the latest features
✨ Example Configuration
/**
* KAnki Configuration
* Edit these settings to customize the app for your language
*/
var KANKI_CONFIG = {
language: "Japanese", // Change this to your language name
levels: ["N5", "N4", "N3", "N2", "N1"] // These should match the keys in your VOCABULARY object
};
/**
* Vocabulary Data
* Organized by proficiency level
*/
var VOCABULARY = {
"N5": [
{"front": "こんにちは", "reading": "konnichiwa", "back": "Hello", "notes": "Greeting"},
// Add more words...
],
"N4": [
{"front": "急ぐ", "reading": "いそぐ", "back": "To hurry", "notes": "Verb"},
// Add more words...
],
// Add more levels...
};
Available configs
1 - Japanese
2 - Ukrainian
Thanks to Ave for contributing the Ukrainian version of KAnki!
⭐ Thank you for using KAnki! ⭐
KAnki v0.3.2 - Universal Flashcard App for Kindle
KAnki v0.3.2 : More optimized UI & Minor changes.
KAnki is now a fully language-agnostic flashcard application designed for jailbroken Kindle devices.
What's New in v0.3.2
- Better UI
- Less Flickering
- Minor UI changes regarding reset popup and stuff
- Added zips for Japanese , Spanish & Indonesian
- No restart needed henceforth
Installation Instructions
Prerequisites
- A jailbroken Kindle device
- Access to the Kindle's filesystem
- Basic knowledge of file transfer to Kindle
Running the Application
- Clone this repository or download it as a ZIP file
- Connect your Kindle to a computer via USB
- Unzip the downloaded file (Make sure the name is KAnki)
- Copy the
kanki
folder and thekanki.sh
script to thedocuments
folder on your Kindle - And done! Disconnect your Kindle from the computer
- Open the Kindle's home screen and run the KAnki app
Updating The Application
- If you already have kanki installed then follow the same process like you did earlier
- Hencefoth , when updates are released , just remove the old
kanki
folder andkanki.sh
and paste the new ones. - Then simply open the app and hit
Update
button - And done , no more restarting needed !
Customizing for Your Language
KAnki makes it easy to study any language by changing just a few files:
1. Prepare the font for your target language
Download or convert a TTF font file that supports your target language. Rename it to language.ttf
and place it in:
kanki/assets/fonts/language.ttf
2. Update the vocabulary file
Edit kanki/js/vocabulary.js
to include vocabulary for your target language:
/**
* Vocabulary Data for KAnki
* Organized by proficiency level
*/
var VOCABULARY = {
"A1": [
{"front": "hello", "back": "hola", "notes": "Greeting"},
{"front": "thank you", "back": "gracias", "notes": "Gratitude"},
// Add more words...
],
"A2": [
{"front": "tomorrow", "back": "mañana", "notes": "Time"},
{"front": "yesterday", "back": "ayer", "notes": "Time"},
// Add more words...
]
};
For languages with different writing systems, use the reading
property:
{"front": "こんにちは", "reading": "konnichiwa", "back": "Hello", "notes": "Greeting"}
3. Configure language settings
Open kanki/main.js
and update these two variables:
var appLanguage = "Spanish"; // Change to your language name
var appLevels = ["A1", "A2", "B1"]; // Change to match your vocabulary levels
Example Language Configurations
Japanese
// In main.js
var appLanguage = "Japanese";
var appLevels = ["N5", "N4", "N3", "N2", "N1"];
// In vocabulary.js
var VOCABULARY = {
"N5": [
{"front": "こんにちは", "reading": "konnichiwa", "back": "Hello", "notes": "Greeting"},
{"front": "ありがとう", "reading": "arigatou", "back": "Thank you", "notes": "Gratitude"},
// More words...
]
};
KAnki v0.3.1 - Universal Flashcard App for Kindle
KAnki v0.3.1: Universal Language Support
KAnki is now a fully language-agnostic flashcard application designed for jailbroken Kindle devices. This release transforms KAnki from a Japanese-only app to a universal language learning tool!
What's New in v0.3.1
Major Features
- Universal language support: Learn ANY language by simply changing the font and vocabulary
- Dynamic level filtering: Level buttons now generate automatically based on your vocabulary structure
- Simplified customization: Only two files need to be modified to support a new language
- Improved font loading: Better support for non-Latin scripts (Arabic, Chinese, Japanese, etc.)
- Documentation updates: Comprehensive instructions for language customization
Technical Improvements
- Fixed issue with vocabulary loading
- Improved font handling for non-Latin scripts
- Dynamic generation of level buttons
- More robust error handling
- Performance optimizations for Kindle's limited resources
Installation Instructions
Prerequisites
- A jailbroken Kindle device
- Access to the Kindle's filesystem
- Basic knowledge of file transfer to Kindle
Running the Application
- Clone this repository or download it as a ZIP file
- Connect your Kindle to a computer via USB
- Unzip the downloaded file (Make sure the name is KAnki)
- Copy the
kanki
folder and thekanki.sh
script to thedocuments
folder on your Kindle - And done! Disconnect your Kindle from the computer
- Open the Kindle's home screen and run the KAnki app
Customizing for Your Language
KAnki makes it easy to study any language by changing just a few files:
1. Prepare the font for your target language
Download or convert a TTF font file that supports your target language. Rename it to language.ttf
and place it in:
kanki/assets/fonts/language.ttf
2. Update the vocabulary file
Edit kanki/js/vocabulary.js
to include vocabulary for your target language:
/**
* Vocabulary Data for KAnki
* Organized by proficiency level
*/
var VOCABULARY = {
"A1": [
{"front": "hello", "back": "hola", "notes": "Greeting"},
{"front": "thank you", "back": "gracias", "notes": "Gratitude"},
// Add more words...
],
"A2": [
{"front": "tomorrow", "back": "mañana", "notes": "Time"},
{"front": "yesterday", "back": "ayer", "notes": "Time"},
// Add more words...
]
};
For languages with different writing systems, use the reading
property:
{"front": "こんにちは", "reading": "konnichiwa", "back": "Hello", "notes": "Greeting"}
3. Configure language settings
Open kanki/main.js
and update these two variables:
var appLanguage = "Spanish"; // Change to your language name
var appLevels = ["A1", "A2", "B1"]; // Change to match your vocabulary levels
Example Language Configurations
Arabic
// In main.js
var appLanguage = "Arabic";
var appLevels = ["A1", "A2", "B1"];
// In vocabulary.js
var VOCABULARY = {
"A1": [
{"front": "مرحبا", "reading": "marhaban", "back": "Hello", "notes": "Greeting"},
{"front": "شكرا", "reading": "shukran", "back": "Thank you", "notes": "Gratitude"},
// More words...
]
};
Japanese
// In main.js
var appLanguage = "Japanese";
var appLevels = ["N5", "N4", "N3", "N2", "N1"];
// In vocabulary.js
var VOCABULARY = {
"N5": [
{"front": "こんにちは", "reading": "konnichiwa", "back": "Hello", "notes": "Greeting"},
{"front": "ありがとう", "reading": "arigatou", "back": "Thank you", "notes": "Gratitude"},
// More words...
]
};
Known Issues
- Font might not load properly in some cases on first launch
- UI rendering issues due to Kindle's limited CSS support
- Limited to ES5 JavaScript for Kindle compatibility
Compatibility
- Tested on Kindle (6th generation , 5.16.2.1.1)
- Should work on most jailbroken Kindle devices
- May require adjustments for older Kindle models
Acknowledgements
- Inspired by the Anki spaced repetition software
- Special thanks to PolishPenguin for their contributions
- Thanks to the Kindle jailbreak community for making this possible
Contributing
Contributions are welcome! Please feel free to submit pull requests or open issues on GitHub.
KAnki v0.3.0 - Japanese Flashcard App for Kindle
KAnki v0.3.0
KAnki is a spaced repetition flashcard application designed specifically for jailbroken Kindle devices. This release includes the core functionality for learning Japanese vocabulary through a spaced repetition system.
Features
- Spaced repetition system to optimize learning
- Japanese vocabulary flashcards with JLPT levels (N5-N4 included by default)
- Built-in default deck with 100 vocabulary words (50 N5 and 50 N4)
- Filtering by JLPT level (N5-N4)
- Progress tracking
Installation Instructions
- Download the ZIP file from this release
- Connect your Kindle to a computer via USB
- Unzip the downloaded file (make sure the name is KAnki)
- Copy the KAnki folder and the
kanki.sh
script to thedocuments
folder on your Kindle - Disconnect your Kindle from the computer
- Open the Kindle's home screen and run the KAnki app
Known Issues
- Japanese font not loading properly in some cases
- UI rendering issues due to Kindle's limited CSS support
Acknowledgements
- Inspired by the Anki spaced repetition software
- Special thanks to PolishPenguin for their contributions
- Thanks to the Kindle jailbreak community
This project is in active development. Contributions are welcome!