Anki add-on: Code Your Answer

An Anki add-on for coding practice. Type your answers in an IDE-style input field during review and get an instant, character-level diff against the solution. Features: Custom Note Type with IDE-style input on the card Front Character-level diff comparison on the card Back Syntax highlighting for 31 languages Keyboard shortcuts for common coding tasks Supported Languages: Python, JavaScript, Rust, PHP, Go, Java, C++, C#, and many more. For full documentation, visit: https://github.com/solmarita/code-your-answer Updating the Add-on Asset Path Changes This add-on uses Vite to bundle assets during development, which automatically generates unique filenames (e.g., front-BMzCq9aJ.js ). When the add-on is updated, these filenames may change, causing old card templates to reference broken asset paths. Fixing Broken Cards After Update If cards stop working after an update: Save your template modifications (if any): Go to Browse Find a card of type "Code Your Answer" Click "Cards" to view the template View the Front, Back, and Styling sections Copy and save any custom edits to a text file Create a .dev file in the add-on folder: Go to Tools → Add-ons Click "View Files" to open the add-ons folder Navigate to the 2050299569 folder (Code Your Answer) Create a new empty file named .dev (no extension): Windows/macOS: Open a text editor (Notepad, VS Code), leave it blank, and save as .dev macOS/Linux (Terminal): touch .dev (if you're familiar with the terminal) Restart Anki to regenerate templates with current asset paths Restore your modifications (if any): Reapply your template edits via Browse → Cards Delete the .dev file from the add-on folder (otherwise your template modifications will be overwritten the next time you start Anki) Your cards will now work with the updated asset paths.

GitHub repository: solmarita/code-your-answer
Repository description: Anki addon for practicing coding flashcards using an IDE-style input field and comparing answers against predefined solutions.
Languages: JavaScript, Python, HTML, CSS