by Imed Ghomari
Daily Qur'an review, mindmap memorization and Anki export
Quran Life ā Obsidian Plugin
š§ Under development ā will be fully operational soon.
Quran Life is still being built and is not finished yet. Expect rough edges, breaking changes and one-time data migrations between versions. Feel free to try it. I'm working on the quran mindmaps. I'll add a way to import them directly to the plugin shortly. After that the plugin will be ready for use.
Daily Qur'an review, mindmap memorization and Anki export, autosaved to your vault.
Requires Anki (23.10 or newer, desktop or mobile). The plugin prepares your cards ā daily reading, mindmaps, verse groups ā and Anki handles all reviews and scheduling.
š Documentation: https://imed-ghomari.github.io/quran-life/ ā user guides and mindmap symbol legend. āļø Blog: https://imed-ghomari.github.io/quran-life/blog ā essays on the memorization method behind the plugin.
Installation
Community plugin (recommended)
- Open Obsidian Settings ā Community plugins and enable community plugins if prompted.
- Search for Quran Life and click Install, then Enable.
Manual install
- Download the latest release
.zipfrom the releases page. - Extract it into your vault's
.obsidian/plugins/quran-lifedirectory. - Restart Obsidian and enable Quran Life in Settings ā Community plugins.
Via BRAT
- Install the BRAT plugin and enable it.
- In BRAT settings, choose Add Beta plugin and paste this repository URL.
- Enable Quran Life in Settings ā Community plugins.
Usage
Daily portion
- In the plugin settings, choose the Quran part you want to review and your daily target in minutes.
- The plugin computes an approximate number of verses per day and a full cycle length for the selected part, so you can pace your review.
- Toggle between Listening (audio reciter) and Reading modes.
Mindmap memorization
- Open a surah or part from the plugin's mindmap editor to create and edit visual memorization maps. Only surahs with a mindmap are exported, so always start here.
- Mindmaps are stored as individual files in the plugin's data folder, so any file sync keeps them in sync across devices.
Anki export
- From the plugin settings, configure the part order and surah-within-part order for the next export.
- In the Anki Deck view, press Export to Anki to generate an
.apkgfile, then import it into Anki (double-click the file, or File ā Import). Re-importing updates your cards without losing review progress ā see the import walkthrough.
Mindmap import / export (sharing)
- In the Anki Deck view, the MINDMAPS card has Import and Export buttons.
- Import: choose a
.zipfile, tick what to bring in, then Import. Items you already have are skipped unless Replace existing is on. You can import several zips gradually ā for example one per Quran part. - Export: tick your mindmaps, verse groups and notes, then Export. A supported
.zipdownloads (a copy is also saved in your vault) ā send it to other users and they can bring it in with Import.
Storage
Everything the plugin stores lives in one folder ā the plugin's own data folder
inside Obsidian's configuration directory (<configDir> is .obsidian unless you
renamed it):
<configDir>/plugins/quran-life/data/
āāā assets/ # the Qur'an corpus, downloaded once on first run
āāā splits/ # Anki split anchors, one file per surah
āāā mindmaps/ # tldraw mindmaps: surah-, part- and meta-<n>.json
āāā docs/ # the markdown note belonging to each mindmap
āāā daily/ # daily portion settings + per-part listening progress
āāā recitation-cache/ # word-timing slices for offline playback
āāā offline-audio/ # downloaded recitation audio, one folder per reciter
āāā deleted-mindmaps.json # delete tombstones (stable deletes across syncs)
āāā anki-export.json # Anki export order preferences
Sync your vault with any file sync to keep your data in sync
across devices. Offline recitation audio downloaded from the settings tab lives
inside the same data folder, in data/offline-audio/ ā syncing the whole
plugins/quran-life folder covers everything. The location is fixed ā there is deliberately no setting to move it ā
so every vault and every device syncs exactly one predictable directory.
Older installs downloaded audio to <configDir>/plugins/quran-life/offline-audio/
(next to data/); the plugin moves it into data/offline-audio/ automatically
on update ā no action needed, and previously downloaded files keep working.
Development
npm run build
Release
npm run plugin:release
Releases are published from the main branch.
License
MIT Ā© imed-ghomari
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.