BackspaceX Tafheemul Quran
A standalone Tafheemul Quran reader for WordPress with local data sync, Surah introductions, Arabic verses, Bengali translation and Tafsir.
by BackspaceX · github.com/thebackspacex/backspacex-tafheemul-quran · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/thebackspacex/backspacex-tafheemul-quran/archive/refs/heads/main.zipVersion 1.9.0
A standalone WordPress Tafheemul Quran reader with locally synchronized Quran content and private, browser-local personal reading tools.
v1.4.0.2 — Personal Reading Experience
- Anonymous Ayah bookmarks stored in browser
localStorage /tafheem/bookmarks/Bookmark Manager with search, sorting and removal- Automatic Last Read / Continue Reading using meaningful viewport tracking
- Recent Reading history with configurable admin limit
- Surah and Juz reading-context preservation
- Reading-mode persistence for Normal / Word-by-Word
- Ayah copy menu: Arabic, Bengali Translation, Arabic + Bengali, direct link
- Native Web Share API support with Copy Link fallback
- Tafsir copy action
- Per-browser Reader Settings panel
- Arabic, Bengali and Tafsir font-size preferences
- Narrow / Normal / Wide content width preference
- Personal Tafsir show/hide and default reading mode
- Light / Dark / System theme
- Personal reading data JSON Export / Import with version validation
- Admin feature controls for all personal-reading modules
- No account/login requirement and no personal reading state stored server-side
- Shortcode:
[bsx_tafheem_bookmarks]
Existing Content Features
Surah Reader, structured multi-Tafsir, 30 Juz/Para, Word-by-Word, Subject-wise Quran and Full Search remain unchanged and upgrade-safe.
Upgrade from v1.2.0
Replace the plugin normally. Existing synced Surah, Juz, Tafsir, Word-by-Word and Subject data does not need to be cleared or re-synced. Personal reading data starts locally in each visitor's browser.
v1.3.2 — Indo-Pak Quran Script & Arabic Font System
- Bundled 6,236-Ayah Indo-Pak text dataset mapped across all 114 Surahs.
- Admin default script: Indo-Pak or current/API Arabic.
- Admin default font: AlQuran IndoPak, Noore Hidayat, Noore Hira, Noore Huda, or current/system.
- Visitor script/font overrides persist in browser Reader Settings.
- Four secure TTF upload slots under Reader Settings; uploaded font files stay in WordPress uploads.
- Indo-Pak text is installed locally from Tafheemul Quran → Sync without replacing existing Arabic/Translation/Tafsir data.
Font setup note
The plugin bundles four self-hosted Quran fonts: AlQuran IndoPak, Noore Hidayat, Noore Hira and Noore Huda. They work immediately from the Arabic font selectors; no separate upload or external CDN is required.
v1.3.2 — Bengali Font System
Adds 12 bundled self-hosted Bengali fonts. SolaimanLipi is the site default. Administrators can choose the default Bengali font, and visitors can override it per browser from Aa Reader Settings.
v1.3.3 — Bundled Arabic Fonts
- Bundles all four supplied Quran TTF files under
assets/fonts/arabic/. - Keeps the existing Admin and visitor Arabic font selectors.
- Removes the required font-upload setup step.
- Existing synced Quran and Indo-Pak data remain unchanged.
v1.3.3 — Complete Dataset Exporter
- Adds Tafheemul Quran → Sync → Complete Dataset Export.
- Streams all seven plugin data tables into a gzip-compressed JSON Lines bundle in 500-row batches.
- Includes API Arabic, Indo-Pak Arabic, Bengali translation, structured Tafsir, Juz, word-by-word, Subjects and Subject–Ayah mappings.
- Excludes bookmarks, Last Read, recent reading and preferences because those remain browser-local.
- The exported file is intended to be supplied back for the final v1.3.3 zero-sync bundled installer.
v1.3.3 — Zero-Sync Bundled Dataset
- Bundles the exact exported production dataset (114 Surahs, 6,236 Ayahs, 6,080 structured Tafsir entries, 30 Juz, 77,430 word records, 110 Subjects, 756 Subject–Ayah mappings).
- Fresh activation automatically seeds empty plugin tables from the bundled dataset; no API sync is required for first use.
- Existing populated installations are never overwritten automatically during upgrade/reactivation.
- Keeps all existing API Sync tools for future Amar Tafheem corrections/updates.
- Adds Bundled Dataset status and an explicit Restore Bundled Dataset maintenance action.
- Verifies the bundled gzip with SHA-256 and verifies 114/6,236 coverage after import.
- Indo-Pak Arabic and bundled Arabic/Bengali fonts remain local and independent of normal API updates.
v1.4.0 — Federated Tafheem REST API & Distributed Sync
- Every plugin installation can optionally serve its local Tafheem database as a public/read-only REST API node.
- Namespace:
/wp-json/bsxtq/v1. - Adds manifest, Surah/Ayah, Juz, Subject and dataset-index endpoints for general developers.
- Adds Amar-Tafheem-compatible sync routes under the same API base, allowing another BSXTQ site to use this node as its Source API Base.
- Downstream requests are answered from the node's own WordPress database and are not proxied to the upstream server.
- Adds Public or API-key access modes,
X-BSXTQ-API-Key, per-IP/minute rate limiting, CORS controls, dataset revision and canonical-origin metadata. - Keeps existing bundled zero-sync install and all existing upstream Sync tools.
- Adds optional downstream source API key support to the existing client.
v1.4.0.2 — Federated API + Bundled Font Preservation + Search UI Fix
- Intended for upgrading the user's v1.3.3 full package.
- Preserves the existing v1.3.3 bundled Arabic and Bengali font files already present in the plugin directory.
- Adds the v1.4 federated REST API and distributed-sync functionality.
- Keeps bundled zero-sync Tafheem dataset and existing upstream sync tools.
- Fixes Surah/Subject search icon overlap by reserving dedicated icon space.
- Does not add any font-upload dependency.
v1.5.0 — Reader UX & Navigation Upgrade
- Polished Surah and Juz reader headers with compact metadata.
- Sticky reader navigation with Previous/Next controls.
- Quick Surah and Juz switchers without returning to the index.
- Jump-to-Ayah navigation with smooth scrolling and deep-link updates.
- Reading progress indicator based on the current Ayah position.
- Mobile-optimized compact navigation controls.
- Tafsir bulk Open All / Close All controls.
- Refined Tafsir disclosure UI and Ayah action presentation.
- Preserves existing Reader Settings, bookmarks, recent reads, Last Read, deep links, bundled dataset/font architecture, and v1.4.0.4 hard routing behavior.
v1.6.0 — Advanced Quran Search & Discovery
- Unified local search across Quran Arabic/Indo-Pak text, Bengali translation, Tafsir, and Subjects.
- Search type tabs: All / Quran / Translation / Tafsir / Subjects.
- Surah and Juz filters.
- Search modes: all words or Exact phrase.
- Arabic normalization removes common tashkeel/harakat/tatweel differences and normalizes common letter variants.
- Bengali/general search normalizes punctuation and repeated spacing.
- Rich result cards show Surah:Ayah, matched field, useful snippets, and direct Ayah navigation.
- Matching text highlighting, including Arabic text with diacritics.
- Search URL preserves query/filter state for sharing and bookmarking.
- Bounded database fetching replaces the previous load-all-then-slice behavior for better performance.
- Mobile search/filter layout improvements.
- No external search service and no new setup dependency.
v1.7.0 — Personal Study & Reading Tools
- Personal Ayah Notes (create/edit/delete), stored only in browser localStorage.
- Bookmark Collections and optional bookmark notes while preserving legacy bookmarks.
/tafheem/my-study/dashboard for notes, bookmarks, progress, completed Surahs and recent reading.- Per-Surah reading progress memory and improved resume data.
- Mark Surah as Read / Completed.
- Semantic Ayah highlights: Important, Study, Reflect and Review.
- Notes search on the Study dashboard.
- Data Portability v2 exports/imports notes, collections, progress, completed Surahs and highlights.
- Backward-compatible import of v1 personal reading backups and existing localStorage keys.
- No login/account and no personal study data is sent to WordPress/server.
v1.7.0.1 — Global Bengali Numeral UI Consistency Hotfix
- Converts ASCII digits to Bengali numerals across all user-facing Tafheem frontend text.
- Covers Surah/Juz/Ayah numbers, counts, pagination, search results, reader progress, Subjects, Bookmarks, Notes, Study Dashboard, status labels and dynamically rendered UI.
- Also converts visible aria-label/title/placeholder numerals and the Tafheem document title.
- Uses a MutationObserver so dynamically rendered JavaScript UI stays consistent.
- Display-only by design: URLs, REST/API payloads, database values, HTML data attributes, form/select/input values and internal JavaScript numeric calculations remain ASCII.
- Elements can opt out with
data-bsxtq-keep-asciiwhen a future UI genuinely requires it.
v1.8.0 — Elementor Integration & Embeddable Reader Widgets
- Adds a dedicated BackspaceX Tafheemul Quran Elementor widget category.
- Tafheem Reader widget: Home, specific Surah, or specific Juz; visibility controls for breadcrumb, header, sticky navigation, introduction, translation, Tafsir, word-by-word, actions and personal tools.
- Surah List widget: search, responsive columns, number/count/arrow toggles.
- Single Ayah widget: Arabic, Bengali translation, structured Tafsir, reference and reader link.
- Quran Subjects widget: subject index or a specific subject.
- Tafheem Search widget: configurable placeholder/button, search type and inline/stacked layout.
- Juz / Para widget: Juz index or a specific Juz reader.
- Comprehensive Elementor Style controls for container, width, responsive alignment, spacing, backgrounds, borders, radius, shadows, typography, text colors, cards, number badges, buttons, search fields, normal/hover/focus states and reader content sections.
- Uses Elementor's built-in Advanced tab for margin, responsive visibility, motion effects and other standard Elementor container/widget controls rather than duplicating them.
- Elementor remains optional: when Elementor is inactive, the Tafheem core reader continues to work unchanged.
- Existing v1.7.0.1 global Bengali numeral display layer remains preserved.
v1.8.1.1 — Personal Study Cleanup Hotfix
- Fully removes Personal Ayah Notes and Semantic Highlights from active frontend UI and interaction logic.
- Removes Note/Highlight buttons from Surah and Juz readers.
- Removes Note/Highlight statistics and note search/rendering from My Study.
- Updates Personal Study and privacy copy.
- Preserves Bookmarks, Bookmark Collections, Bookmark Notes/Labels, Reading Progress, Resume Reading, Mark as Read, Completed Surahs and Reading History.
- Legacy
bsxtq_notesandbsxtq_ayah_highlightsdata remains untouched for safe backward compatibility and older backup import/export.
v1.9.0 — V1 Final Stabilization, QA & Admin Documentation
This release freezes the V1 feature set and focuses on production readiness.
Added
- V1 Release Health Check on the admin Dashboard.
- Automated non-destructive checks for 114 Surahs, 6,236 Ayahs, Indo-Pak coverage, 30 Juz, word-by-word dataset, Subjects, bundled Arabic/Bengali fonts, reader route, Federated REST API, Elementor integration and bundled dataset release metadata.
- Comprehensive current Help & Documentation covering fresh installation, routes, shortcodes, Elementor, personal reading, search, fonts/numerals, bundled dataset, API federation, troubleshooting and release QA.
- Release checklist explicitly separating package diagnostics from real browser/device/theme runtime QA.
Stabilization
- Preserves the confirmed hard routing fallback.
- Preserves zero-sync bundled dataset behavior.
- Preserves 4 Arabic + 12 Bengali bundled-font architecture.
- Preserves Quranic Arabic numeral markers while converting Western UI digits to Bengali.
- Preserves Advanced Search, Reader UX, Bookmarks/Reading Progress and the six Elementor widgets.
- Personal Ayah Notes and Semantic Highlights remain retired from active frontend features.
Release policy
A fresh installation is designed for Install → Activate → Read. API sync, dataset import and font upload are not prerequisites for normal use.