summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-07-18 14:00:13 +0300
committerPaul Buetow <paul@buetow.org>2025-07-18 14:00:13 +0300
commita6e9947b904406ec5b49e88c77689d5c6ef6d04b (patch)
treefc89df6a57d6ee3e8ef3487d9d07d01797b4c696 /README.md
parente2f45921c45c9322c2ddb679d0511ba20772dcae (diff)
feat: major refactor - APKG export support and subdirectory organization
Major Features: - Added native .apkg (Anki package) export format with embedded media - Reorganized file structure to use subdirectories per word - Enhanced GUI export dialog with format selection (APKG/CSV) APKG Export Implementation: - Created apkg_generator.go with full SQLite-based Anki package generation - Includes custom card templates with professional CSS styling - Front side: Image + English word - Back side: Image + Bulgarian word + Audio + Notes - All media files automatically embedded in package - Custom deck names supported via --deck-name flag Directory Structure Changes: - Each word now gets its own subdirectory (e.g., anki_cards/ябълка/) - All related files (audio, images, translations, prompts) stored together - Cleaner organization and easier management - Prevents file naming conflicts GUI Updates: - Export dialog no longer shows file browser, exports directly to anki_cards - Format selection between APKG (recommended) and CSV (legacy) - Fixed navigation to properly load image prompts from subdirectories - Delete function now moves entire word directory to trash CLI Updates: - --anki flag now generates APKG by default - --anki-csv flag for legacy CSV format - All file generation uses subdirectory structure Bug Fixes: - Fixed handling of multi-word entries (e.g., "картоф картофи") - Fixed GenerateFromDirectory to properly handle words with underscores - Fixed phonetic files being treated as separate cards - Fixed image prompt preservation during navigation Breaking Changes: - File structure changed from flat to subdirectory-based - Existing files need to be reorganized into subdirectories 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'README.md')
-rw-r--r--README.md23
1 files changed, 20 insertions, 3 deletions
diff --git a/README.md b/README.md
index 59d88d2..583de85 100644
--- a/README.md
+++ b/README.md
@@ -71,9 +71,11 @@ export OPENAI_API_KEY="sk-..."
totalrecall --batch words.txt
```
-4. Generate with Anki CSV:
+4. Generate with Anki package:
```bash
- totalrecall ябълка --anki
+ totalrecall ябълка --anki # Creates APKG file (recommended)
+ totalrecall ябълка --anki --anki-csv # Creates CSV file (legacy)
+ totalrecall ябълка --anki --deck-name "My Bulgarian Words" # Custom deck name
```
### GUI Mode
@@ -150,15 +152,30 @@ For each word, the tool generates:
- `word.mp3` - Audio pronunciation (random voice)
- `word_translation.txt` - English translation
- `word_1.jpg`, `word_2.jpg`, etc. - Generated images
-- `anki_import.csv` - Anki import file (when using --anki flag)
+- `bulgarian_vocabulary.apkg` - Anki package file (when using --anki flag)
+- `anki_import.csv` - Anki import file (when using --anki --anki-csv flags)
With `--all-voices` flag:
- `word_alloy.mp3`, `word_nova.mp3`, etc. - Audio in all 11 voices
## Anki Import
+### Method 1: APKG Format (Recommended)
1. Generate materials with the `--anki` flag
2. In Anki, go to File → Import
+3. Select the generated `.apkg` file
+4. All media files are included automatically
+5. Cards are ready to use with custom styling
+
+### Method 2: CSV Format (Legacy)
+1. Generate materials with `--anki --anki-csv` flags
+2. In Anki, go to File → Import
3. Select the generated `anki_import.csv`
4. Copy all media files to your Anki media folder
5. Map fields appropriately during import
+
+### GUI Export
+The GUI mode offers an export dialog where you can:
+- Choose between APKG and CSV formats
+- Set a custom deck name
+- Export all generated cards at once