Anki flashcard app for PocketBook e-readers.
Port of Anki to PocketBook devices using:
- Anki's official rslib backend for full collection compatibility
- Slint UI framework with software rendering for e-ink displays
- inkview-rs bindings for PocketBook SDK integration
cd dev
cargo runPlace your Anki collection at ./pbanki/collection/
make # debug build
make release # release buildRequires: cargo-zigbuild and zig
- Copy binary to device:
/mnt/ext1/applications/pbanki.app - Copy your Anki collection to:
/mnt/ext1/applications/pbanki/collection/ - (Optional) Create configuration file at:
/mnt/ext1/applications/pbanki/config.toml - Launch from Applications menu
pbAnki uses a TOML configuration file. On first launch, a default config will be created at /mnt/ext1/applications/pbanki/config.toml (or ./pbanki/config.toml for desktop builds).
[general]
# Language code for Anki i18n (e.g., "en", "de", "fr", "ja", "es", "pt", "ru", "zh", "ko")
language = "en"
# Collection path (relative to app directory or absolute)
collection_path = "/mnt/ext1/applications/pbanki/collection"
[ankiweb]
# AnkiWeb synchronization settings
# Leave empty to disable sync
# AnkiWeb username (email)
username = ""
# Password (plain text - will be encrypted in future versions)
# WARNING: Do not share this file if password is filled
password = ""
# Session token (populated after successful login)
# This avoids storing password long-term
token = ""
# Sync automatically on app start
auto_sync = false
# Sync automatically after session ends
sync_on_exit = falsepbAnki uses Anki's built-in translations, supporting 70+ languages including:
- English (
en,en-GB) - European:
es,fr,de,it,pt-BR,pt-PT,nl,sv-SE,da,fi,cs,hu,el,pl,tr,ru,uk - Asian:
ja,ko,zh-CN,zh-TW,th,vi,id,hi-IN - Middle Eastern:
ar,fa,he - And many more...
src/ # PocketBook build (uses inkview-rs)
dev/ # Desktop build (for development)
ui/ # Slint UI components (shared)
- View deck hierarchies
- Collapse/expand decks
- Show card counts (new/learning/due)
- Study cards with scheduling
- Answer cards with Again/Hard/Good/Easy ratings
- Display interval durations on rating buttons
- Real-time deck count updates after answering
- Support for type-in cards (
[[type:Back]]) - Multi-language support via Anki's i18n system (70+ languages)
- Configurable collection path and language settings
- AnkiWeb Sync - Implement synchronization with AnkiWeb
- MathJax Rendering - Add support for LaTeX/MathJax formulas in cards
- Image Support - Display images embedded in cards from media folder
- UI Polishing - Improve e-ink optimized interface and user experience
See LICENSE