# 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](https://apps.ankiweb.net/) (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:** — user guides and mindmap symbol legend. ✍️ **Blog:** — essays on the memorization method behind the plugin. ## Installation ### Community plugin (recommended) 1. Open Obsidian **Settings → Community plugins** and enable community plugins if prompted. 2. Search for **Quran Life** and click **Install**, then **Enable**. ### Manual install 1. Download the latest release `.zip` from the [releases page](https://github.com/imed-ghomari/quran-life/releases). 2. Extract it into your vault's `.obsidian/plugins/quran-life` directory. 3. Restart Obsidian and enable **Quran Life** in **Settings → Community plugins**. ### Via BRAT 1. Install the [BRAT](https://obsidian.md/plugins?id=brat) plugin and enable it. 2. In BRAT settings, choose **Add Beta plugin** and paste this repository URL. 3. 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 `.apkg` file, 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](https://imed-ghomari.github.io/quran-life/philosophy/getting-started#3-export-and-import-into-anki). ### Mindmap import / export (sharing) - In the Anki Deck view, the MINDMAPS card has **Import** and **Export** buttons. - **Import:** choose a `.zip` file, 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 `.zip` downloads (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 (`` is `.obsidian` unless you renamed it): ``` /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-.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 `/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 ```bash npm run build ``` ## Release ```bash npm run plugin:release ``` Releases are published from the `main` branch. ## License MIT © [imed-ghomari](https://github.com/imed-ghomari)