Skip to content

Releases: crizmo/KAnki

KAnki v1.1.1 - Universal Flashcard App for Kindle

19 Aug 09:27
Compare
Choose a tag to compare

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:
    1. Open the app and review your regular cards
    2. Star cards during review by tapping the star icon (☆ → ★)
    3. Complete all due cards
    4. See a prompt: "You have X starred cards from this session. Review them now?"
    5. Accept to enter starred review mode
    6. Review starred cards with normal difficulty buttons
    7. 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)

  1. Clone this repository or download the ZIP file
  2. Connect your Kindle to a computer via USB
  3. Unzip the downloaded file
  4. Copy the kanki folder and the kanki.sh script to the documents folder on your Kindle
  5. Open the kanki/js/kanki_config.js file and edit the configuration to match your language
  6. 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
    
  7. Disconnect your Kindle from the computer
  8. Open the Kindle's home screen and run the KAnki app

🔧 How to Update (Existing Users)

  1. Back up your current kanki/js/vocabulary.js or kanki/js/kanki_config.js file if you have been using KAnki
  2. Download the new KAnki release
  3. Replace your old kanki folder with the new one
  4. Copy your vocabulary data to the new kanki/js/kanki_config.js file
  5. Optional: Customize language settings in kanki_config.js
  6. Copy your language.ttf font file to the new kanki/assets/fonts/language.ttf location
  7. Disconnect your Kindle from the computer
  8. Open the Kindle's home screen and run the KAnki app
  9. Hit the Reload button after clicking the 3 dots in the top chromebar in the app to apply changes
  10. 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:

  1. Delete this file to completely reset the application data
  2. Use the "Reset Progress" button within the app to only reset card progress while keeping your deck intact
  3. 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

16 May 12:18
fff660f
Compare
Choose a tag to compare

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 )

  1. Clone this repository or download the ZIP file
  2. Connect your Kindle to a computer via USB
  3. Unzip the downloaded file
  4. Copy the kanki folder and the kanki.sh script to the documents folder on your Kindle
  5. Open the kanki/js/kanki_config.js file and edit the configuration to match your language.
  6. 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
    
  7. Disconnect your Kindle from the computer
  8. Open the Kindle's home screen and run the KAnki app

🔧 How to Update ( New Users ignore this )

  1. Back up your current kanki/js/vocabulary.js or kanki/js/kanki_config.js file if you have been using KAnki, ignore if you are a new user
  2. Download the new KAnki release
  3. Replace your old kanki folder with the new one
  4. Copy your vocabulary data to the new kanki/js/kanki_config.js file
  5. Optional: Customize language settings in kanki_config.js
  6. Copy your language.ttf font file to the new kanki/assets/fonts/language.ttf location
  7. Disconnect your Kindle from the computer
  8. Open the Kindle's home screen and run the KAnki app
  9. Hit the Reload button after clicking the 3 dots in the top chromebar in the app to apply changes
  10. 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:

  1. Delete this file to completely reset the application data
  2. Use the "Reset Progress" button within the app to only reset card progress while keeping your deck intact
  3. 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

11 May 18:01
Compare
Choose a tag to compare

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 )

  1. Clone this repository or download the ZIP file
  2. Connect your Kindle to a computer via USB
  3. Unzip the downloaded file (Make sure the name is KAnki)
  4. Copy the KAnki folder and the kanki.sh script to the documents folder on your Kindle
  5. Open the kanki/js/kanki_config.js file and edit the configuration to match your language.
  6. 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
    
  7. Disconnect your Kindle from the computer
  8. Open the Kindle's home screen and run the KAnki app

🔧 How to Update ( New Users ignore this )

  1. Back up your current kanki/js/vocabulary.js or kanki/js/kanki_config.js file if you have been using KAnki, ignore if you are a new user
  2. Download the new KAnki release
  3. Replace your old KAnki folder with the new one
  4. Copy your vocabulary data to the new kanki/js/kanki_config.js file
  5. Optional: Customize language settings in kanki_config.js
  6. Copy your language.ttf font file to the new kanki/assets/fonts/language.ttf location
  7. Disconnect your Kindle from the computer
  8. Open the Kindle's home screen and run the KAnki app
  9. Hit the Update button in the app to apply changes
  10. 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

09 May 13:46
Compare
Choose a tag to compare

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

  1. Clone this repository or download it as a ZIP file
  2. Connect your Kindle to a computer via USB
  3. Unzip the downloaded file (Make sure the name is KAnki)
  4. Copy the kanki folder and the kanki.sh script to the documents folder on your Kindle
  5. And done! Disconnect your Kindle from the computer
  6. Open the Kindle's home screen and run the KAnki app

Updating The Application

  1. If you already have kanki installed then follow the same process like you did earlier
  2. Hencefoth , when updates are released , just remove the old kanki folder and kanki.sh and paste the new ones.
  3. Then simply open the app and hit Update button
  4. 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

08 May 06:07
Compare
Choose a tag to compare

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

  1. Clone this repository or download it as a ZIP file
  2. Connect your Kindle to a computer via USB
  3. Unzip the downloaded file (Make sure the name is KAnki)
  4. Copy the kanki folder and the kanki.sh script to the documents folder on your Kindle
  5. And done! Disconnect your Kindle from the computer
  6. 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

07 May 18:35
Compare
Choose a tag to compare

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

  1. Download the ZIP file from this release
  2. Connect your Kindle to a computer via USB
  3. Unzip the downloaded file (make sure the name is KAnki)
  4. Copy the KAnki folder and the kanki.sh script to the documents folder on your Kindle
  5. Disconnect your Kindle from the computer
  6. 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!