├── .devcontainer └── devcontainer.json ├── .gitattributes ├── .github └── workflows │ ├── release.yml │ └── test.yml ├── .gitignore ├── .vscode └── launch.json ├── Makefile ├── README.md ├── api └── api.go ├── app ├── app.go ├── dist │ └── .gitignore ├── file-server.go └── html │ ├── 404.html │ ├── arabic.otf │ ├── favicon.ico │ ├── icon-192.png │ ├── index.html │ ├── islam.html │ ├── manifest.webmanifest │ ├── reminder.js │ └── reminder.png ├── go.mod ├── go.sum ├── hadith ├── data │ └── bukhari.json └── hadith.go ├── idx.go ├── llm.go ├── main.go ├── names ├── data │ ├── 1.json │ ├── 10.json │ ├── 11.json │ ├── 12.json │ ├── 13.json │ ├── 14.json │ ├── 15.json │ ├── 16.json │ ├── 17.json │ ├── 18.json │ ├── 19.json │ ├── 2.json │ ├── 20.json │ ├── 21.json │ ├── 22.json │ ├── 23.json │ ├── 24.json │ ├── 25.json │ ├── 26.json │ ├── 27.json │ ├── 28.json │ ├── 29.json │ ├── 3.json │ ├── 30.json │ ├── 31.json │ ├── 32.json │ ├── 33.json │ ├── 34.json │ ├── 35.json │ ├── 36.json │ ├── 37.json │ ├── 38.json │ ├── 39.json │ ├── 4.json │ ├── 40.json │ ├── 41.json │ ├── 42.json │ ├── 43.json │ ├── 44.json │ ├── 45.json │ ├── 46.json │ ├── 47.json │ ├── 48.json │ ├── 49.json │ ├── 5.json │ ├── 50.json │ ├── 51.json │ ├── 52.json │ ├── 53.json │ ├── 54.json │ ├── 55.json │ ├── 56.json │ ├── 57.json │ ├── 58.json │ ├── 59.json │ ├── 6.json │ ├── 60.json │ ├── 61.json │ ├── 62.json │ ├── 63.json │ ├── 64.json │ ├── 65.json │ ├── 66.json │ ├── 67.json │ ├── 68.json │ ├── 69.json │ ├── 7.json │ ├── 70.json │ ├── 71.json │ ├── 72.json │ ├── 73.json │ ├── 74.json │ ├── 75.json │ ├── 76.json │ ├── 77.json │ ├── 78.json │ ├── 79.json │ ├── 8.json │ ├── 80.json │ ├── 81.json │ ├── 82.json │ ├── 83.json │ ├── 84.json │ ├── 85.json │ ├── 86.json │ ├── 87.json │ ├── 88.json │ ├── 89.json │ ├── 9.json │ ├── 90.json │ ├── 91.json │ ├── 92.json │ ├── 93.json │ ├── 94.json │ ├── 95.json │ ├── 96.json │ ├── 97.json │ ├── 98.json │ ├── 99.json │ └── names.json └── names.go ├── package-lock.json ├── package.json ├── quran ├── data │ ├── 1.json │ ├── 10.json │ ├── 100.json │ ├── 101.json │ ├── 102.json │ ├── 103.json │ ├── 104.json │ ├── 105.json │ ├── 106.json │ ├── 107.json │ ├── 108.json │ ├── 109.json │ ├── 11.json │ ├── 110.json │ ├── 111.json │ ├── 112.json │ ├── 113.json │ ├── 114.json │ ├── 12.json │ ├── 13.json │ ├── 14.json │ ├── 15.json │ ├── 16.json │ ├── 17.json │ ├── 18.json │ ├── 19.json │ ├── 2.json │ ├── 20.json │ ├── 21.json │ ├── 22.json │ ├── 23.json │ ├── 24.json │ ├── 25.json │ ├── 26.json │ ├── 27.json │ ├── 28.json │ ├── 29.json │ ├── 3.json │ ├── 30.json │ ├── 31.json │ ├── 32.json │ ├── 33.json │ ├── 34.json │ ├── 35.json │ ├── 36.json │ ├── 37.json │ ├── 38.json │ ├── 39.json │ ├── 4.json │ ├── 40.json │ ├── 41.json │ ├── 42.json │ ├── 43.json │ ├── 44.json │ ├── 45.json │ ├── 46.json │ ├── 47.json │ ├── 48.json │ ├── 49.json │ ├── 5.json │ ├── 50.json │ ├── 51.json │ ├── 52.json │ ├── 53.json │ ├── 54.json │ ├── 55.json │ ├── 56.json │ ├── 57.json │ ├── 58.json │ ├── 59.json │ ├── 6.json │ ├── 60.json │ ├── 61.json │ ├── 62.json │ ├── 63.json │ ├── 64.json │ ├── 65.json │ ├── 66.json │ ├── 67.json │ ├── 68.json │ ├── 69.json │ ├── 7.json │ ├── 70.json │ ├── 71.json │ ├── 72.json │ ├── 73.json │ ├── 74.json │ ├── 75.json │ ├── 76.json │ ├── 77.json │ ├── 78.json │ ├── 79.json │ ├── 8.json │ ├── 80.json │ ├── 81.json │ ├── 82.json │ ├── 83.json │ ├── 84.json │ ├── 85.json │ ├── 86.json │ ├── 87.json │ ├── 88.json │ ├── 89.json │ ├── 9.json │ ├── 90.json │ ├── 91.json │ ├── 92.json │ ├── 93.json │ ├── 94.json │ ├── 95.json │ ├── 96.json │ ├── 97.json │ ├── 98.json │ ├── 99.json │ ├── arabic.json │ └── words │ │ ├── 1.json │ │ ├── 10.json │ │ ├── 100.json │ │ ├── 101.json │ │ ├── 102.json │ │ ├── 103.json │ │ ├── 104.json │ │ ├── 105.json │ │ ├── 106.json │ │ ├── 107.json │ │ ├── 108.json │ │ ├── 109.json │ │ ├── 11.json │ │ ├── 110.json │ │ ├── 111.json │ │ ├── 112.json │ │ ├── 113.json │ │ ├── 114.json │ │ ├── 12.json │ │ ├── 13.json │ │ ├── 14.json │ │ ├── 15.json │ │ ├── 16.json │ │ ├── 17.json │ │ ├── 18.json │ │ ├── 19.json │ │ ├── 2.json │ │ ├── 20.json │ │ ├── 21.json │ │ ├── 22.json │ │ ├── 23.json │ │ ├── 24.json │ │ ├── 25.json │ │ ├── 26.json │ │ ├── 27.json │ │ ├── 28.json │ │ ├── 29.json │ │ ├── 3.json │ │ ├── 30.json │ │ ├── 31.json │ │ ├── 32.json │ │ ├── 33.json │ │ ├── 34.json │ │ ├── 35.json │ │ ├── 36.json │ │ ├── 37.json │ │ ├── 38.json │ │ ├── 39.json │ │ ├── 4.json │ │ ├── 40.json │ │ ├── 41.json │ │ ├── 42.json │ │ ├── 43.json │ │ ├── 44.json │ │ ├── 45.json │ │ ├── 46.json │ │ ├── 47.json │ │ ├── 48.json │ │ ├── 49.json │ │ ├── 5.json │ │ ├── 50.json │ │ ├── 51.json │ │ ├── 52.json │ │ ├── 53.json │ │ ├── 54.json │ │ ├── 55.json │ │ ├── 56.json │ │ ├── 57.json │ │ ├── 58.json │ │ ├── 59.json │ │ ├── 6.json │ │ ├── 60.json │ │ ├── 61.json │ │ ├── 62.json │ │ ├── 63.json │ │ ├── 64.json │ │ ├── 65.json │ │ ├── 66.json │ │ ├── 67.json │ │ ├── 68.json │ │ ├── 69.json │ │ ├── 7.json │ │ ├── 70.json │ │ ├── 71.json │ │ ├── 72.json │ │ ├── 73.json │ │ ├── 74.json │ │ ├── 75.json │ │ ├── 76.json │ │ ├── 77.json │ │ ├── 78.json │ │ ├── 79.json │ │ ├── 8.json │ │ ├── 80.json │ │ ├── 81.json │ │ ├── 82.json │ │ ├── 83.json │ │ ├── 84.json │ │ ├── 85.json │ │ ├── 86.json │ │ ├── 87.json │ │ ├── 88.json │ │ ├── 89.json │ │ ├── 9.json │ │ ├── 90.json │ │ ├── 91.json │ │ ├── 92.json │ │ ├── 93.json │ │ ├── 94.json │ │ ├── 95.json │ │ ├── 96.json │ │ ├── 97.json │ │ ├── 98.json │ │ └── 99.json └── quran.go ├── search ├── data │ └── reminder.idx.gob.gz ├── index.go └── seeker.go └── web ├── .gitignore ├── README.md ├── app ├── app.css ├── components │ ├── interface │ │ ├── navigation-progress.tsx │ │ ├── page-error.tsx │ │ ├── primary-button.tsx │ │ └── searchable-sidebar.tsx │ └── quran │ │ ├── chapter-header.tsx │ │ └── view-mode.tsx ├── config.ts ├── hooks │ └── use-quran-view-mode.ts ├── queries │ ├── hadith.ts │ ├── names.ts │ ├── quran.ts │ └── search.ts ├── root.tsx ├── routes.ts ├── routes │ ├── _app.api._index.tsx │ ├── _app.daily.tsx │ ├── _app.hadith.$book.tsx │ ├── _app.hadith._index.tsx │ ├── _app.hadith.tsx │ ├── _app.islam._index.tsx │ ├── _app.names.$nameNumber._index.tsx │ ├── _app.names._index.tsx │ ├── _app.names.tsx │ ├── _app.quran.$chapterNumber.$verseNumber.tsx │ ├── _app.quran.$chapterNumber._index.tsx │ ├── _app.quran._index.tsx │ ├── _app.quran.tsx │ ├── _app.search._index.tsx │ ├── _app.tsx │ └── _index.tsx └── utils │ ├── classname.ts │ ├── http.ts │ └── query-client.ts ├── package-lock.json ├── package.json ├── pnpm-lock.yaml ├── public ├── favicon.ico └── fonts │ └── arabic.otf ├── react-router.config.ts ├── tsconfig.json ├── vite.config.ts └── web ├── package-lock.json └── package.json /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Reminder Development", 3 | "image": "mcr.microsoft.com/devcontainers/base:ubuntu-24.04", 4 | "features": { 5 | "ghcr.io/devcontainers/features/go:1": { 6 | "version": "1.23" 7 | }, 8 | "ghcr.io/devcontainers/features/node:1": { 9 | "version": "20" 10 | }, 11 | "ghcr.io/devcontainers/features/common-utils:2": {} 12 | }, 13 | "customizations": { 14 | "vscode": { 15 | "extensions": [], 16 | "settings": { 17 | "editor.formatOnSave": true, 18 | "editor.codeActionsOnSave": { 19 | "source.organizeImports": "explicit" 20 | } 21 | } 22 | } 23 | }, 24 | "remoteUser": "vscode", 25 | "forwardPorts": [ 26 | 8080, 27 | 5173 28 | ], 29 | "portsAttributes": { 30 | "8080": { 31 | "label": "Frontend", 32 | "onAutoForward": "notify" 33 | }, 34 | "5173": { 35 | "label": "Backend", 36 | "onAutoForward": "notify" 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.html linguist-detectable=false 2 | *.css linguist-detectable=false 3 | *.js linguist-detectable=false 4 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: release 2 | 3 | on: 4 | push: 5 | branches-ignore: 6 | - '**' 7 | tags: 8 | - 'v*.*.*' 9 | 10 | jobs: 11 | release: 12 | permissions: write-all 13 | runs-on: ubuntu-latest 14 | steps: 15 | - 16 | name: Checkout 17 | uses: actions/checkout@master 18 | - 19 | name: Fetch tags 20 | run: git fetch --prune --unshallow --tags -f 21 | - 22 | name: Setup pnpm 23 | uses: pnpm/action-setup@v4 24 | with: 25 | version: 10 26 | - 27 | name: Build web app 28 | run: make setup && make web 29 | - 30 | name: Set up Go 31 | uses: actions/setup-go@v1 32 | with: 33 | go-version: 1.23.1 34 | - 35 | name: Run GoReleaser 36 | uses: goreleaser/goreleaser-action@v6 37 | with: 38 | distribution: goreleaser 39 | version: '~> v2' 40 | args: release --clean 41 | env: 42 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 43 | -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | name: Run tests 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | 6 | test: 7 | name: Test repo 8 | runs-on: ubuntu-latest 9 | steps: 10 | - name: Set up Go 1.23.1 11 | uses: actions/setup-go@v1 12 | with: 13 | go-version: 1.23.1 14 | id: go 15 | 16 | - name: Check out code into the Go module directory 17 | uses: actions/checkout@v2 18 | 19 | - name: Enable caching 20 | uses: actions/cache@v4 21 | with: 22 | path: ~/go/pkg/mod 23 | key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} 24 | restore-keys: | 25 | ${{ runner.os }}-go- 26 | 27 | - name: Get dependencies 28 | run: | 29 | go get -v -t -d ./... 30 | 31 | - name: Run Go tests 32 | id: tests 33 | env: 34 | IN_TRAVIS_CI: yes 35 | run: go test -v ./... 36 | 37 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | _site 2 | reminder 3 | index.md 4 | .env 5 | node_modules 6 | .pnpm-store -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "name": "Attach to Chrome", 10 | "port": 9222, 11 | "request": "attach", 12 | "type": "chrome", 13 | "webRoot": "${workspaceFolder}" 14 | }, 15 | { 16 | "type": "chrome", 17 | "request": "launch", 18 | "name": "Launch Chrome against localhost", 19 | "url": "http://localhost:8080", 20 | "webRoot": "${workspaceFolder}" 21 | } 22 | ] 23 | } -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: dev dev-backend dev-frontend build setup web 2 | 3 | setup: 4 | cd web && pnpm install 5 | 6 | # Development 7 | dev: 8 | @trap 'kill $$(jobs -p)' EXIT; \ 9 | make dev-backend & \ 10 | make dev-frontend & \ 11 | wait 12 | 13 | dev-backend: 14 | go run . --serve --web 15 | 16 | dev-frontend: 17 | cd web && pnpm run dev 18 | 19 | # Building 20 | build: 21 | cd web && pnpm run build 22 | find app/dist -mindepth 1 -not -name '.gitignore' -delete 23 | cp -r web/build/client/* app/dist/ 24 | go build -o reminder . 25 | 26 | # Build web app 27 | web: 28 | cd web && pnpm run build 29 | find app/dist -mindepth 1 -not -name '.gitignore' -delete 30 | cp -r web/build/client/* app/dist/ 31 | -------------------------------------------------------------------------------- /app/dist/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore -------------------------------------------------------------------------------- /app/file-server.go: -------------------------------------------------------------------------------- 1 | package app 2 | 3 | import ( 4 | "log" 5 | "net/http" 6 | "os" 7 | "path" 8 | "strings" 9 | ) 10 | 11 | // FSHandler404 provides the function signature for passing to the FileServerWith404 12 | type FSHandler404 = func(w http.ResponseWriter, r *http.Request) (doDefaultFileServe bool) 13 | 14 | /* 15 | FileServerWith404 wraps the http.FileServer checking to see if the url path exists first. 16 | If the file fails to exist it calls the supplied FSHandle404 function 17 | The implementation can choose to either modify the request, e.g. change the URL path and return true to have the 18 | default FileServer handling to still take place, or return false to stop further processing, for example if you wanted 19 | to write a custom response 20 | e.g. redirects to root and continues the file serving handler chain 21 | 22 | func fileSystem404(w http.ResponseWriter, r *http.Request) (doDefaultFileServe bool) { 23 | //if not found redirect to / 24 | r.URL.Path = "/" 25 | return true 26 | } 27 | 28 | Use the same as you would with a http.FileServer e.g. 29 | 30 | r.Handle("/", http.StripPrefix("/", mw.FileServerWith404(http.Dir("./staticDir"), fileSystem404))) 31 | */ 32 | func FileServerWith404(root http.FileSystem, handler404 FSHandler404) http.Handler { 33 | fs := http.FileServer(root) 34 | 35 | return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { 36 | // make sure the url path starts with / 37 | upath := r.URL.Path 38 | if !strings.HasPrefix(upath, "/") { 39 | upath = "/" + upath 40 | r.URL.Path = upath 41 | } 42 | upath = path.Clean(upath) 43 | 44 | // attempt to open the file via the http.FileSystem 45 | f, err := root.Open(upath) 46 | if err != nil { 47 | if os.IsNotExist(err) { 48 | // If path ends with a trailing slash, try again without it 49 | if len(upath) > 1 && strings.HasSuffix(upath, "/") { 50 | altPath := strings.TrimSuffix(upath, "/") 51 | f2, err2 := root.Open(altPath) 52 | if err2 == nil { 53 | f2.Close() 54 | // Rewrite the request path and serve 55 | r2 := new(http.Request) 56 | *r2 = *r 57 | urlCopy := *r.URL 58 | urlCopy.Path = altPath 59 | r2.URL = &urlCopy 60 | fs.ServeHTTP(w, r2) 61 | return 62 | } 63 | } 64 | log.Printf("Embedded asset not found: %s", upath) 65 | // call handler 66 | if handler404 != nil { 67 | doDefault := handler404(w, r) 68 | if !doDefault { 69 | return 70 | } 71 | } 72 | } else { 73 | log.Printf("error opening asset %s: %v", upath, err) 74 | } 75 | } 76 | 77 | // close if successfully opened 78 | if err == nil { 79 | f.Close() 80 | } 81 | 82 | // default serve 83 | fs.ServeHTTP(w, r) 84 | }) 85 | } 86 | -------------------------------------------------------------------------------- /app/html/404.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asim/reminder/bd4b5ab29521104b61f7d977ad068861939b77d4/app/html/404.html -------------------------------------------------------------------------------- /app/html/arabic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asim/reminder/bd4b5ab29521104b61f7d977ad068861939b77d4/app/html/arabic.otf -------------------------------------------------------------------------------- /app/html/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asim/reminder/bd4b5ab29521104b61f7d977ad068861939b77d4/app/html/favicon.ico -------------------------------------------------------------------------------- /app/html/icon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asim/reminder/bd4b5ab29521104b61f7d977ad068861939b77d4/app/html/icon-192.png -------------------------------------------------------------------------------- /app/html/manifest.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Reminder", 3 | "short_name": "reminder", 4 | "description": "Quran, Hadith and Names of Allah all in one app", 5 | "scope": "/", 6 | "start_url": "/", 7 | "background_color": "#ffffff", 8 | "theme_color": "#ffffff", 9 | "display": "standalone", 10 | "icons": [ 11 | { 12 | "src": "/icon-192.png", 13 | "type": "image/png", 14 | "sizes": "192x192", 15 | "purpose": "maskable" 16 | }, 17 | { 18 | "src": "/reminder.png", 19 | "type": "image/png", 20 | "sizes": "300x300" 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /app/html/reminder.js: -------------------------------------------------------------------------------- 1 | var APP_PREFIX = 'reminder_'; 2 | var VERSION = 'v1'; 3 | var URLS = [ 4 | `/`, 5 | `/index.html`, 6 | `/reminder.png`, 7 | `/reminder.js` 8 | ] 9 | 10 | var CACHE_NAME = APP_PREFIX + VERSION 11 | 12 | async function networkFirst(request) { 13 | try { 14 | const networkResponse = await fetch(request); 15 | if (networkResponse.ok) { 16 | const cache = await caches.open(CACHE_NAME); 17 | cache.put(request, networkResponse.clone()); 18 | } 19 | return networkResponse; 20 | } catch (error) { 21 | const cachedResponse = await caches.match(request); 22 | return cachedResponse || Response.error(); 23 | } 24 | } 25 | 26 | self.addEventListener('fetch', function (e) { 27 | console.log('Fetch request : ' + e.request.url); 28 | e.respondWith(networkFirst(e.request)); 29 | }) 30 | 31 | self.addEventListener('install', function (e) { 32 | e.waitUntil( 33 | caches.open(CACHE_NAME).then(function (cache) { 34 | console.log('Installing cache : ' + CACHE_NAME); 35 | return cache.addAll(URLS) 36 | }) 37 | ) 38 | }) 39 | 40 | self.addEventListener('activate', function (e) { 41 | e.waitUntil( 42 | caches.keys().then(function (keyList) { 43 | var cacheWhitelist = keyList.filter(function (key) { 44 | return key.indexOf(APP_PREFIX) 45 | }) 46 | cacheWhitelist.push(CACHE_NAME); 47 | return Promise.all(keyList.map(function (key, i) { 48 | if (cacheWhitelist.indexOf(key) === -1) { 49 | console.log('Deleting cache : ' + keyList[i] ); 50 | return caches.delete(keyList[i]) 51 | } 52 | })) 53 | }) 54 | ) 55 | }) 56 | -------------------------------------------------------------------------------- /app/html/reminder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asim/reminder/bd4b5ab29521104b61f7d977ad068861939b77d4/app/html/reminder.png -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module github.com/asim/reminder 2 | 3 | go 1.23 4 | 5 | require ( 6 | github.com/gomarkdown/markdown v0.0.0-20241105142532-d03b89096d81 7 | github.com/google/uuid v1.6.0 8 | github.com/philippgille/chromem-go v0.7.0 9 | github.com/sashabaranov/go-openai v1.35.6 10 | ) 11 | -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- 1 | github.com/gomarkdown/markdown v0.0.0-20241105142532-d03b89096d81 h1:5lyLWsV+qCkoYqsKUDuycESh9DEIPVKN6iCFeL7ag50= 2 | github.com/gomarkdown/markdown v0.0.0-20241105142532-d03b89096d81/go.mod h1:JDGcbDT52eL4fju3sZ4TeHGsQwhG9nbDV21aMyhwPoA= 3 | github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= 4 | github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= 5 | github.com/philippgille/chromem-go v0.7.0 h1:4jfvfyKymjKNfGxBUhHUcj1kp7B17NL/I1P+vGh1RvY= 6 | github.com/philippgille/chromem-go v0.7.0/go.mod h1:hTd+wGEm/fFPQl7ilfCwQXkgEUxceYh86iIdoKMolPo= 7 | github.com/sashabaranov/go-openai v1.35.6 h1:oi0rwCvyxMxgFALDGnyqFTyCJm6n72OnEG3sybIFR0g= 8 | github.com/sashabaranov/go-openai v1.35.6/go.mod h1:lj5b/K+zjTSFxVLijLSTDZuP7adOgerWeFyZLUhAKRg= 9 | -------------------------------------------------------------------------------- /idx.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "strings" 6 | 7 | "github.com/asim/reminder/hadith" 8 | "github.com/asim/reminder/names" 9 | "github.com/asim/reminder/quran" 10 | "github.com/asim/reminder/search" 11 | ) 12 | 13 | func indexContent(idx *search.Index, md map[string]string, text string) { 14 | // index the documents 15 | // TODO: use original json 16 | lines := strings.Split(text, "\n") 17 | 18 | fmt.Println("Indexing: ", md["source"], md["chapter"], md["verse"]) 19 | 20 | if err := idx.Store(md, lines...); err != nil { 21 | fmt.Println("Error indexing", err) 22 | } 23 | } 24 | 25 | func indexQuran(idx *search.Index, q *quran.Quran) { 26 | fmt.Println("Indexing Quran") 27 | 28 | for _, chapter := range q.Chapters { 29 | for _, verse := range chapter.Verses { 30 | indexContent(idx, map[string]string{ 31 | "source": "quran", 32 | "chapter": fmt.Sprintf("%v", chapter.Number), 33 | "verse": fmt.Sprintf("%v", verse.Number), 34 | "name": chapter.Name, 35 | }, verse.Text) 36 | } 37 | } 38 | } 39 | 40 | func indexNames(idx *search.Index, n *names.Names) { 41 | fmt.Println("Indexing Names") 42 | 43 | for _, name := range *n { 44 | indexContent(idx, map[string]string{ 45 | "source": "names", 46 | "meaning": name.Meaning, 47 | "english": name.English, 48 | "arabic": name.Arabic, 49 | }, strings.Join([]string{name.Meaning, name.English, name.Description}, " - ")) 50 | } 51 | } 52 | 53 | func indexHadith(idx *search.Index, b *hadith.Volumes) { 54 | fmt.Println("Indexing Hadith") 55 | 56 | for _, volume := range b.Contents { 57 | for _, book := range volume.Books { 58 | for _, hadith := range book.Hadiths { 59 | 60 | indexContent(idx, map[string]string{ 61 | "source": "bukhari", 62 | "volume": volume.Name, 63 | "book": book.Name, 64 | "by": hadith.By, 65 | "info": hadith.Info, 66 | }, hadith.Text) 67 | } 68 | } 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /llm.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "os" 6 | "strings" 7 | "text/template" 8 | 9 | "github.com/sashabaranov/go-openai" 10 | ) 11 | 12 | // There are many different ways to provide the context to the LLM. 13 | // You can pass each context as user message, or the list as one user message, 14 | // or pass it in the system prompt. The system prompt itself also has a big impact 15 | // on how well the LLM handles the context, especially for LLMs with < 7B parameters. 16 | // The prompt engineering is up to you, it's out of scope for the vector database. 17 | var systemPromptTpl = template.Must(template.New("system_prompt").Parse(` 18 | You are a helpful assistant with access to knowledge of the Quran, Hadiths and names of Allah. You are tasked with answering questions related to Islam, life and the world. 19 | 20 | Answer the question in a very concise manner. Use an unbiased and compassionate tone. Do not repeat text. Don't make anything up. If you are not sure about something, just say that you don't know. 21 | {{- /* Stop here if no context is provided. The rest below is for handling contexts. */ -}} 22 | {{- if . -}} 23 | Answer the question solely based on the provided context. If the search results within the context are not relevant to the question, say I don't know. 24 | 25 | Anything between the following 'context' XML blocks is retrieved from the knowledge base, not part of the conversation with the user. The bullet points are ordered by relevance, so the first one is the most relevant. 26 | 27 | 28 | {{- if . -}} 29 | {{- range $context := .}} 30 | - {{.}}{{end}} 31 | {{- end}} 32 | 33 | {{- end -}} 34 | 35 | Don't mention the knowledge base, context or search results in your answer. 36 | `)) 37 | 38 | func askLLM(ctx context.Context, contexts []string, question string) string { 39 | openAIClient := openai.NewClient(os.Getenv("OPENAI_API_KEY")) 40 | sb := &strings.Builder{} 41 | err := systemPromptTpl.Execute(sb, contexts) 42 | if err != nil { 43 | panic(err) 44 | } 45 | messages := []openai.ChatCompletionMessage{ 46 | { 47 | Role: openai.ChatMessageRoleSystem, 48 | Content: sb.String(), 49 | }, { 50 | Role: openai.ChatMessageRoleUser, 51 | Content: "Question: " + question, 52 | }, 53 | } 54 | res, err := openAIClient.CreateChatCompletion(ctx, openai.ChatCompletionRequest{ 55 | Model: openai.GPT4oMini, 56 | Messages: messages, 57 | }) 58 | if err != nil { 59 | panic(err) 60 | } 61 | reply := res.Choices[0].Message.Content 62 | reply = strings.TrimSpace(reply) 63 | 64 | return reply 65 | } 66 | -------------------------------------------------------------------------------- /names/data/1.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Ar Rahmaan", 3 | "description": "Ar Rahmaan is one of the 99 names of Allah (Asma'ul Husna) in Islam, meaning 'The Most Gracious' or 'The Beneficent'. This name highlights Allah's boundless mercy and kindness towards all of creation, reflecting His nurturing and compassionate nature.", 4 | "summary": "The name Ar Rahmaan emphasizes Allah's absolute mercy and generosity. It signifies that His grace encompasses all beings, providing sustenance and care without discrimination. The name originates from the Arabic root word 'rahma', which denotes mercy and compassion. Ar Rahmaan serves as a reminder of Allah's infinite kindness and serves an important role in Islamic belief, where mercy is seen as an essential attribute of God." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/10.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Mutakabbir", 3 | "description": "Al Mutakabbir is one of the names of Allah in Islam, derived from the Arabic root 'k-b-r' which means 'to be great' or 'to be proud'.", 4 | "summary": "Al Mutakabbir translates to 'The Supreme' or 'The Majestic'. It signifies Allah's greatness and His absolute sovereignty over all created beings, emphasizing His power and majesty. This name encourages humility in humans, reminding them of their reliance on Allah's greatness." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/11.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Khaaliq", 3 | "description": "Al Khaaliq is one of the names of Allah in Islam, meaning 'The Creator' or 'The Maker'. It signifies the attribute of God as the one who creates and brings forth everything that exists.", 4 | "summary": "The name Al Khaaliq originates from the Arabic root 'Khalq', which means creation. In Islamic theology, it emphasizes God's role as the ultimate creator of the universe, reflecting His divine power and wisdom in bringing things into existence. This name illustrates the belief that all creation is a manifestation of God's will and creativity." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/12.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Baari", 3 | "description": "Al Baari is one of the names of Allah in Islamic tradition, meaning 'The Evolver' or 'The Creator'. It signifies Allah's role in creating all things in their perfect forms and stages.", 4 | "summary": "The name Al Baari derives from the Arabic root 'ب ر أ' (B-R-ʾ), which conveys the concept of bringing into existence or creating. It emphasizes Allah's authority and power in shaping the universe and everything within it from non-existence to existence, tailoring each creation with purpose and precision." 5 | } -------------------------------------------------------------------------------- /names/data/13.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Musawwir", 3 | "description": "Al Musawwir translates to 'The Fashioner' or 'The Shaper'. It refers to Allah as the one who shapes and forms creation according to His will.", 4 | "summary": "Al Musawwir is one of the names of Allah in Islam, highlighting His role in shaping and defining the forms of all beings. The name emphasizes the intricate design and beauty of creation, illustrating that all forms and features in the universe are crafted by the Creator. The understanding of this name encourages believers to recognize the deliberate and purposeful creation of the world around them." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/14.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Ghaffaar", 3 | "description": "Al Ghaffaar is one of the names of Allah in Islam, derived from the Arabic root ' غ ف ر ' (ghafara), which means to forgive or to conceal.", 4 | "summary": "The meaning of Al Ghaffaar is 'The Constant Forgiver' or 'The Forgiving One'. It emphasizes Allah's willingness to forgive sins repeatedly and His mercy towards humanity. This name signifies that Allah continually provides opportunities for repentance and seeks to cover and forgive shortcomings, highlighting His compassion and understanding." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/15.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Qahhaar", 3 | "description": "Al Qahhaar is one of the names of Allah in Islam, meaning 'The All-Prevailing One' or 'The Supreme Conqueror'. It signifies Allah's ultimate power and control over all creation.", 4 | "summary": "The name Al Qahhaar emphasizes Allah's sovereignty and ability to dominate all beings and situations. It reflects His authority and the inevitable defeat of all that opposes His will. The name inspires believers to submit to Allah's will, reminding them of His might and the transient nature of worldly power." 5 | } -------------------------------------------------------------------------------- /names/data/16.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Wahhaab", 3 | "description": "Al Wahhaab is one of the names of Allah in Islam, meaning 'The Bestower' or 'The Giver'. It signifies God's generosity and His ability to grant gifts and blessings to His creation without any expectation in return.", 4 | "summary": "The origin of Al Wahhaab comes from the Arabic root word 'wahb', which means to give or to donate freely. This name reflects the aspect of Allah's mercy and benevolence, emphasizing that all provisions and resources come from Him. In Islamic tradition, it is a reminder for believers to be grateful for God's endless gifts." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/17.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Ar Razzaaq", 3 | "description": "Ar Razzaaq is one of the names of Allah in Islam, meaning 'The Provider' or 'The Sustainer'. It signifies the divine attribute of providing sustenance and means to all of creation.", 4 | "summary": "The name Ar Razzaaq underscores Allah's role as the ultimate provider, ensuring that every creature receives what it needs to sustain life. The origin of this name comes from the Arabic root word 'rizq', which means sustenance. This name reflects the belief that Allah is responsible for the provision of all that is beneficial for His creations, both material and spiritual." 5 | } -------------------------------------------------------------------------------- /names/data/18.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Fattaah", 3 | "description": "Al Fattaah is one of the names of Allah in Islam, meaning 'The Opener' or 'The Victory Giver'. It represents the divine authority to open doors to new opportunities, success, and guidance.", 4 | "summary": "Al Fattaah signifies Allah's role as the One who provides openings and breakthroughs. This name emphasizes the concept of divine intervention in the affairs of humanity, helping believers overcome obstacles and granting them victory. It highlights the importance of seeking Allah's help in times of struggle and the belief that He can change situations for the better." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/19.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al 'Aleem", 3 | "description": "Al 'Aleem (العليم) translates to 'The All-Knowing' or 'The Omniscient'. It is one of the names of Allah in Islam, reflecting His complete and perfect knowledge of all things, including the unseen and the seen.", 4 | "summary": "The name Al 'Aleem emphasizes Allah's infinite wisdom and understanding. It signifies that nothing is hidden from His knowledge, and He is aware of every detail in the universe. This name is often invoked in prayers for guidance and understanding, illustrating the importance of knowledge in the Islamic faith." 5 | } -------------------------------------------------------------------------------- /names/data/2.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Ar-Raheem", 3 | "description": "Ar-Raheem is one of the names of Allah in Islam, which translates to 'The Most Merciful' or 'The Beneficent'. It emphasizes Allah's compassion and mercy towards His creations.", 4 | "summary": "The name Ar-Raheem originates from the Arabic root 'R-H-M', which denotes mercy and compassion. It signifies Allah's attribute of bestowing kindness and forgiveness to His creatures, highlighting the importance of mercy in the Islamic faith. Ar-Raheem often appears alongside Ar-Rahman, which also denotes mercy but encompasses a broader, universal aspect, while Ar-Raheem focuses more on a specific, heartfelt mercy towards the believers." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/20.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Qaabid", 3 | "description": "Al Qaabid (Arabic: القابض) is one of the names of Allah in Islamic theology. It translates to 'The Withholder' or 'The Restrainer'.", 4 | "summary": "The name Al Qaabid reflects Allah's attribute of controlling provision and restricting the means of sustenance as He wills. It signifies that Allah has the authority to grant or withhold bounty and that everything is under His control. This name reminds believers of the importance of gratitude and reliance on Allah, as well as the transient nature of worldly possessions." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/21.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Baasit", 3 | "description": "Al Baasit is one of the names of Allah, which translates to 'The Expander' or 'The One Who Spreads'. It emphasizes Allah's ability to provide sustenance and abundance, as well as the expansion of mercy and blessings.", 4 | "summary": "The name Al Baasit originates from the Arabic root word 'b-s-t', which conveys the concept of spreading or expanding. In Islamic tradition, it reflects Allah’s role in providing for His creation and ensuring that resources, both spiritual and material, are sufficiently available. This name highlights the boundless nature of Allah's provision and mercy." 5 | } -------------------------------------------------------------------------------- /names/data/22.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Khaafid", 3 | "description": "Al Khaafid (Arabic: الخافض) is one of the names of Allah in Islam, meaning 'The Reducer' or 'The Diminisher'. This name signifies Allah's ability to lower, humiliate, or reduce the status of individuals or things as He wills.", 4 | "summary": "Al Khaafid emphasizes the power of Allah in altering circumstances and statuses, both by raising some and lowering others. The concept reflects His sovereignty and control over all creation, highlighting that one's worth or position is ultimately determined by Him." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/23.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Ar Raafi'", 3 | "description": "Ar Raafi' is one of the names of Allah in Islam that means 'The Exalter' or 'The Elevator'. It signifies Allah's power to raise the status of His creation, be it in their worldly affairs, ranks, or spiritual elevation.", 4 | "summary": "Originating from the Arabic root word 'رفعة' (raf'ah), which means to raise or elevate, Ar Raafi' reflects the belief that Allah can elevate individuals spiritually and socially. This name highlights the attribute of Allah that involves bestowing honor, success, and high status upon those whom He wills." 5 | } -------------------------------------------------------------------------------- /names/data/24.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Mu'iz", 3 | "description": "Al Mu'iz is one of the names of Allah in Islam, meaning 'The Honorer' or 'The Bestower of Honor.' This name signifies Allah's ability to grant dignity and respect to His creation.", 4 | "summary": "The name Al Mu'iz originates from the Arabic root 'عز' (عزَّ), which conveys themes of honor, strength, and dignity. It reflects Allah's power to elevate believers and provide them with status and respect in the eyes of others and in society. Recognizing Allah as Al Mu'iz encourages humility and reliance on Him as the ultimate source of honor." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/25.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Mudhil", 3 | "description": "Al Mudhil is one of the names of Allah in Islam, derived from Arabic. It translates to 'The Dishonorer' or 'The One Who Humiliates.'", 4 | "summary": "Al Mudhil refers to Allah's attribute of causing disgrace or humiliation to those who oppose His commands or reject His guidance. This name emphasizes the power of Allah to elevate or debase individuals based on their actions and faith. It serves as a reminder of the consequences of turning away from righteousness and the importance of adhering to divine guidance." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/26.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "As Samee'", 3 | "description": "As Samee' (Arabic: السميع) is one of the 99 names of Allah in Islam, meaning 'The All-Hearing'. It signifies that Allah hears all things, whether spoken or unspoken, and nothing escapes His hearing.", 4 | "summary": "The name As Samee' emphasizes Allah's attribute of complete awareness and understanding of all sounds and voices. This attribute assures believers that their prayers, thoughts, and cries for help are heard, providing comfort and hope. The origin of this name comes from the Arabic root 'سمع' (sama'), which means 'to hear'. This name reflects Allah's omnipresence and is often invoked in prayers and supplications." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/27.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Baseer", 3 | "description": "Al Baseer, meaning 'The All-Seeing', is one of the names of Allah in Islam that signifies His infinite ability to perceive and understand everything in existence.", 4 | "summary": "The name Al Baseer highlights Allah's attribute of seeing all things, whether visible or hidden. It represents His knowledge of the inner thoughts and intentions of individuals, as well as the external realities of the world. Originating from the Arabic root 'بصر', which means sight or vision, Al Baseer reassures believers that nothing escapes Allah's awareness, encouraging them to act justly and with sincerity." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/28.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Hakam", 3 | "description": "Al Hakam is one of the names of Allah in Islamic tradition, meaning 'The Judge' or 'The Arbitrator'.", 4 | "summary": "The name Al Hakam emphasizes Allah's role as the supreme judge who determines justice and fairness. It signifies His authority to rule over His creation and to decide matters, rewarding the righteous and punishing the wrongdoers. The use of this name serves to remind believers of the ultimate accountability they have in the Hereafter." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/29.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al 'Adl", 3 | "description": "Al 'Adl is one of the 99 Names of Allah in Islam, meaning 'The Just' or 'The Utterly Just'. It signifies God's inherent justice and fairness in all matters.", 4 | "summary": "The concept of Al 'Adl reflects the belief that Allah is just in His actions, laws, and decrees, ensuring fairness in the universe. This name emphasizes the importance of justice as a moral value in Islam, guiding individual behavior and societal laws. The origin of Al 'Adl is rooted in Islamic theology, where it underscores the belief that Allah does not oppress anyone and that all human beings will be judged fairly on the Day of Judgment." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/3.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Malik", 3 | "description": "Al Malik translates to 'The King' in Arabic. It is one of the names of Allah in Islam, denoting His sovereignty and authority over all creation.", 4 | "summary": "Al Malik emphasizes God's ultimate dominion and control over the universe. This name reflects His majesty, power, and the structure He has established in creation. It originates from the Quran, where God's sovereignty is highlighted, demonstrating that He is the rightful ruler and king over all that exists." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/30.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Lateef", 3 | "description": "Al Lateef (اللَّطِيفُ) is one of the names of Allah in Islam, meaning 'The Subtle One' or 'The Gracious'. It signifies Allah's gentle and kind nature, as well as His ability to provide for His creation in ways that may not be immediately apparent.", 4 | "summary": "The name Al Lateef originates from the Arabic root 'l-t-f', which conveys the concept of kindness and subtlety. In Islamic theology, it emphasizes Allah's care and gentleness, reminding believers of His hidden grace and support in their lives. Al Lateef assures followers that even in difficult times, there is a divine presence that understands and provides for their needs with kindness." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/31.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Khabeer", 3 | "description": "Al Khabeer, which translates to 'The All-Aware' or 'The All-Knowing', is one of the names of Allah in Islam. It signifies God's complete and profound knowledge of all things, including the hidden and the apparent. This attribute emphasizes His awareness of the intricacies of creation and human actions.", 4 | "summary": "The name Al Khabeer comes from the Arabic root 'k-b-r', related to deep knowledge and awareness. It is a reminder that Allah possesses knowledge beyond human comprehension, encompassing the unseen and the seen. The name encourages believers to seek Allah's guidance and trust in His wisdom." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/32.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Haleem", 3 | "description": "Al Haleem is one of the names of Allah in Islam, meaning 'The Forbearing' or 'The Patient'. It signifies the quality of being slow to punish and tolerant in the face of the shortcomings of others.", 4 | "summary": "The name Al Haleem originates from the Arabic root 'H-L-M', which conveys the meaning of gentleness and forbearance. In the Quran, Allah is described as Al Haleem, emphasizing His patience and restraint towards His creation, even when they commit sins. This attribute encourages believers to embody patience and understanding in their own lives." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/33.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al 'Azeem", 3 | "description": "Al 'Azeem is one of the names of Allah in Islam, meaning 'The Most Great' or 'The Supreme.'", 4 | "summary": "This name reflects Allah's greatness and majesty. It signifies His unparalleled power and authority over all creation. The name Al 'Azeem emphasizes that no one and nothing can compare to Allah in greatness. It originates from the Arabic root word 'عَظَمَ' (ʿaẓama), which means to be great or to exalt. In prayers and supplications, invoking this name serves as a reminder of Allah's immense greatness and serves as an expression of humility and awe from the believer." 5 | } -------------------------------------------------------------------------------- /names/data/34.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Ghafoor", 3 | "description": "Al Ghafoor is one of the names of Allah in Islam, meaning 'The Most Forgiving'. It signifies Allah's capacity to forgive sins and show mercy to His creation.", 4 | "summary": "The name Al Ghafoor originates from the Arabic root 'gh-f-r', which means to cover or to conceal. In the context of Allah's attributes, it reflects His ability to overlook and forgive the mistakes and wrongdoings of His servants, encouraging repentance and hope for mercy. Al Ghafoor emphasizes Allah's compassion and readiness to pardon, reinforcing the importance of seeking forgiveness in one's relationship with Him." 5 | } -------------------------------------------------------------------------------- /names/data/35.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Ash Shakoor", 3 | "description": "Ash Shakoor is one of the names of Allah in Islam, meaning 'The Appreciative' or 'The Acknowledging'. It signifies Allah's recognition and reward for the good deeds of His servants.", 4 | "summary": "The term 'Ash Shakoor' originates from Arabic, where 'Shakoor' refers to being grateful or appreciative. This name reflects Allah's nature of valuing and rewarding the efforts and sincerity of His worshippers, even if their deeds may seem minor. It emphasizes the importance of gratitude and acknowledgment, encouraging believers to perform good deeds with the understanding that Allah appreciates their efforts." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/36.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al 'Aliyy", 3 | "description": "Al 'Aliyy is one of the names of Allah in Islam, meaning 'The Most High' or 'The Exalted'.", 4 | "summary": "The name Al 'Aliyy emphasizes the supreme status of Allah, highlighting His greatness, majesty, and unparalleled position above all creation. It reflects His authority and power over the universe, as well as His ability to elevate and honor whomever He wills. This name is derived from the Arabic root 'ع ل ي', which connotes highness and elevation." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/37.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Kabeer", 3 | "description": "Al Kabeer is one of the names of Allah in Islam, which translates to 'The Most Great' or 'The Most Exalted.' It emphasizes God's greatness and supremacy over all creation.", 4 | "summary": "The term Al Kabeer highlights Allah's unparalleled magnitude, authority, and grandeur, reminding believers of His infinite power and majesty. The name originates from the Arabic root 'K-B-R,' meaning 'to be great or to be large.' It is found in various Islamic texts, emphasizing the significance of recognizing Allah's greatness in worship and daily life." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/38.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Hafeez", 3 | "description": "Al Hafeez is one of the names of Allah in Islam, meaning 'The Preserver' or 'The Guardian'.", 4 | "summary": "The name Al Hafeez emphasizes Allah's attribute of protecting and preserving all of creation, ensuring the safety of the universe and its elements. It derives from the Arabic root 'H-f-z', which implies safeguarding and guardianship. This name reflects the belief that Allah is vigilant over His creation, preserving their essence, fate, and the balance of the cosmos." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/39.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Muqeet", 3 | "description": "Al Muqeet is one of the names of Allah in Islam, meaning 'The Sustainer' or 'The Provider'. It signifies Allah's role in providing and maintaining the necessities of life for His creation.", 4 | "summary": "The name Al Muqeet comes from the Arabic root 'q-t', which relates to provision and sustenance. It reflects Allah's capacity to care for and nourish all beings, ensuring they receive what they need to survive and thrive, both physically and spiritually. This name emphasizes divine mercy and support." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/4.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Quddus", 3 | "description": "Al Quddus, meaning 'The Most Sacred' or 'The Most Holy', is one of the names (Asma’ul Husna) of Allah in Islam.", 4 | "summary": "The name Al Quddus emphasizes the purity and sanctity of Allah. It signifies that Allah is free from any imperfection and holds perfect holiness. This name is often invoked in prayers and supplications to highlight the divine essence of purity and to seek closeness to Allah through recognition of His holiness." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/40.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Haseeb", 3 | "description": "Al Haseeb is one of the names of Allah in Islam, meaning 'The Reckoner' or 'The One Who Keeps Account'.", 4 | "summary": "The name Al Haseeb signifies that Allah is the All-Sufficient One who takes account of all actions. It reflects His attribute of justice and emphasizes that He is fully aware of everything that occurs in the universe. This name conveys the idea that individuals will be held accountable for their deeds, encouraging personal responsibility and righteousness in behavior." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/41.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Jaleel", 3 | "description": "Al Jaleel is one of the names of Allah in Islam, meaning 'The Majestic' or 'The Glorious'. It signifies the immense greatness and dignity of Allah.", 4 | "summary": "The name Al Jaleel emphasizes Allah's majesty and grandeur, reflecting His supreme authority and the awe-inspiring nature of His creation. It reminds believers of the reverence due to Allah and the beauty in His divine attributes. The name is derived from the Arabic root 'jalal', which relates to honor and magnificence." 5 | } -------------------------------------------------------------------------------- /names/data/42.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al-Kareem", 3 | "description": "Al-Kareem is one of the names of Allah in Islam, which translates to 'The Generous' or 'The Bountiful'. It signifies God's abundant grace and generosity towards His creation.", 4 | "summary": "Originating from Arabic, Al-Kareem is derived from the root word 'k-r-m' which means to be generous or noble. In Islamic theology, this name emphasizes Allah's boundless mercy and His willingness to bestow blessings and sustenance upon His creatures without any expectation in return." 5 | } -------------------------------------------------------------------------------- /names/data/43.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Ar Raqeeb", 3 | "description": "Ar Raqeeb is one of the names of Allah in Islam, meaning 'The Observer' or 'The Watchful'.", 4 | "summary": "The name Ar Raqeeb signifies Allah's attribute of being ever-watchful and aware of all actions and deeds of His creation. This name emphasizes the concept of divine surveillance and accountability, illustrating that nothing escapes Allah's notice. Its origin is rooted in the Quran and Hadith, reflecting the belief that Allah observes all things with clarity and fairness." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/44.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Mujeeb", 3 | "description": "Al Mujeeb is one of the names of Allah in Islam, meaning 'The Responsive One' or 'The Answerer of Prayers'.", 4 | "summary": "The name Al Mujeeb expresses Allah's attribute of responding to the supplications and needs of His creation. It emphasizes His willingness to answer prayers and grant requests, highlighting His mercy and compassion. The origin of this name is derived from Arabic, specifically from the root 'J-B', which relates to responding or answering. This name encourages believers to turn to Allah in their times of need, trusting in His responsiveness." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/45.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Waasi'", 3 | "description": "Al Waasi' is one of the names of Allah in Islam, meaning 'The All-Encompassing' or 'The Boundless'.", 4 | "summary": "This name reflects Allah's infinite nature, His ability to encompass all things within His knowledge, mercy, and power. It signifies that Allah's provisions and knowledge extend beyond human comprehension and limitations, offering reassurance of His omnipresence and support in the lives of His creations." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/46.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Hakeem", 3 | "description": "Al Hakeem is one of the names of Allah in Islam, meaning 'The All-Wise.' It reflects Allah's perfect wisdom and knowledge in all matters.", 4 | "summary": "The name Al Hakeem emphasizes Allah's infinite understanding and the intricate wisdom behind His creation and decrees. It suggests that every action of Allah is grounded in wisdom, and believers are encouraged to trust in His plans even when they do not understand." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/47.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Wudood", 3 | "description": "Al Wudood is one of the names of Allah, meaning 'The Most Loving' or 'The Affectionate.' This name signifies God's immense love and compassion towards His creation.", 4 | "summary": "Al Wudood reflects the quality of love that Allah has for His creations, showcasing the divine nature of compassion and affection. The name is derived from the Arabic root word 'Wad,' which means love or affection. It is mentioned in Islamic texts to emphasize God's nurturing and caring attributes." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/48.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Majeed", 3 | "description": "Al Majeed is one of the names of Allah in Islam, which translates to 'The Glorious' or 'The Most Majestic'. It signifies the perfection, greatness, and honor of Allah, highlighting His supreme status and divine attributes.", 4 | "summary": "The name Al Majeed emphasizes Allah's majesty and glory. It is derived from the Arabic root 'm-j-d', which relates to honor and greatness. This name reminds believers of the importance of recognizing and respecting the grandeur of Allah." 5 | } -------------------------------------------------------------------------------- /names/data/49.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Baa'ith", 3 | "description": "Al Baa'ith is one of the names of Allah in Islam, meaning 'The Resurrector' or 'The Resurrecting One'.", 4 | "summary": "The origin of the name Al Baa'ith comes from the Arabic root word 'baa'atha', which means 'to raise or to send forth'. In the context of Islamic theology, it refers to Allah's power to resurrect the dead and to bring about new life. This attribute is a reminder of the Day of Judgment, where all individuals will be brought back to life for accountability. It highlights Allah’s authority over life and death and serves to instill hope in believers for resurrection and eternal life." 5 | } -------------------------------------------------------------------------------- /names/data/5.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "As Salaam", 3 | "description": "As Salaam is one of the 99 names of Allah in Islam, meaning 'The Source of Peace' or 'The Flawless'. It signifies that Allah is the ultimate giver of peace, safety, and tranquility.", 4 | "summary": "Originating from Arabic, the name 'As Salaam' highlights Allah's nature as the one who provides peace and serenity to His creation. It emphasizes a key attribute of Allah, fostering a sense of calm and security for believers. The invocation of this name is often used in prayers and supplications, seeking divine peace in one's life." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/50.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Ash Shaheed", 3 | "description": "Ash Shaheed is one of the names of Allah, often translated as 'The All-Witnessing' or 'The Martyr'. It signifies the divine attribute of witnessing all actions and events, affirming the ultimate truth of reality, and reflects on God's justice and knowledge.", 4 | "summary": "The name Ash Shaheed represents God's omnipresence and omniscience, emphasizing that nothing escapes His knowledge. The origin of this name is rooted in Arabic, with 'Shaheed' deriving from the verb 'shahada', meaning to witness. It is a reminder for believers to act with integrity and righteousness, understanding that their actions are observed and recorded." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/51.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Haqq", 3 | "description": "Al Haqq, meaning 'The Absolute Truth,' is one of the names of Allah in Islam. It signifies the nature of Allah as the ultimate truth and reality, contrasting with falsehood and impermanence.", 4 | "summary": "The name Al Haqq highlights Allah's role as the source of all true knowledge and the ultimate arbiter of justice. It emphasizes that all matters will return to Him and that He is the foundation upon which truth and justice are built." 5 | } -------------------------------------------------------------------------------- /names/data/52.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Wakeel", 3 | "description": "Al Wakeel is one of the names of Allah in Islam, meaning 'The Trustee' or 'The Disposer of Affairs'. It signifies that Allah is the one who manages, protects, and oversees all affairs in the universe.", 4 | "summary": "The name implies that Allah is the ultimate protector and guardian of His creation, handling all matters and ensuring they are done justly and in accordance with His wisdom. The name Al Wakeel is derived from the Arabic root 'w-k-l', which means 'to appoint, to designate, or to entrust'. It appears in Islamic texts and emphasizes the reliance of creation on Allah's management." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/53.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Qawiyy", 3 | "description": "Al Qawiyy is one of the names of Allah in Islam, meaning 'The All-Strong' or 'The Powerful'. It reflects God's supreme strength and ability over all creation.", 4 | "summary": "The name Al Qawiyy emphasizes the unmatched strength and power of Allah, highlighting that He is capable of doing all things without any limitations. This name originates from the Arabic root 'q-w-y', which signifies strength and might. Al Qawiyy reminds believers of the importance of relying on Allah's strength during times of difficulty." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/54.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Mateen", 3 | "description": "Al Mateen is one of the names of Allah in Islam, meaning 'The Firm' or 'The Steadfast.' It signifies Allah's power, strength, and unwavering support for His creation.", 4 | "summary": "Al Mateen highlights the strength and reliability of Allah, showcasing that He is a source of firmness in faith and an unyielding support for believers. The name emphasizes that Allah is ever-present and capable of providing strength to those who seek Him." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/55.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Waliyy", 3 | "description": "Al Waliyy is one of the names of Allah in Islam. It translates to 'The Protecting Associate' or 'The Patron.' This name signifies Allah's role as a protector and guide for His creation, emphasizing His closeness and support to those who believe in Him.", 4 | "summary": "The name Al Waliyy reflects Allah's protective nature and His intimate relationship with His believers. Originating from Arabic, it highlights the concept of divine guardianship, where Allah assists, nurtures, and supports those who seek His help, ensuring their well-being in both spiritual and worldly matters." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/56.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Hameed", 3 | "description": "Al Hameed is one of the names of Allah in Islam, meaning 'The Praiseworthy.' It denotes Allah's perfection, worthiness of praise, and the excellence of His attributes.", 4 | "summary": "The name Al Hameed emphasizes the significance of Allah's nature as deserving of all praise and commendation. It recognizes that all good qualities and actions originate from Him, and humanity is encouraged to acknowledge and express gratitude for His blessings. The term comes from the Arabic root 'ḥ-m-d,' which relates to praise and commendation." 5 | } -------------------------------------------------------------------------------- /names/data/57.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Muhsi", 3 | "description": "Al Muhsi is one of the names of Allah in Islam, meanings 'The All-Enumerating' or 'The Counter'.", 4 | "summary": "The name Al Muhsi signifies Allah’s attribute of being fully aware of everything that exists, counting all actions and deeds, ensuring nothing is overlooked. This name emphasizes the concept of accountability in the hereafter, where every action will be recorded and judged. The origin of this name is from the Arabic root 'حَصَرَ' which means to enumerate or count." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/58.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Mubdi", 3 | "description": "Al Mubdi, meaning 'The Originator', is one of the names of Allah in Islam. It signifies the act of creating something from nothing and initiating existence.", 4 | "summary": "The name Al Mubdi represents Allah's attribute of being the Creator and the one who brings forth life and creation. It emphasizes the divine power to start all things and highlights the concept of renewal and new beginnings." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/59.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Mu'eed", 3 | "description": "Al Mu'eed is one of the names of Allah in Islam. It means 'The Restorer' or 'The Reinstater'.", 4 | "summary": "The origin of the name Al Mu'eed comes from the Arabic root word 'ع و د' (ʿ-w-d), which signifies the act of returning or bringing back. In Islamic belief, this name emphasizes Allah's attribute of restoring creation and granting second chances, whether in terms of guidance, forgiveness, or the revival of life after death." 5 | } -------------------------------------------------------------------------------- /names/data/6.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Mu'min", 3 | "description": "Al Mu'min is one of the Names of Allah in Islam, meaning 'The Granter of Security' or 'The Infuser of Faith'.", 4 | "summary": "Al Mu'min signifies Allah's role in providing peace, safety, and faith to His creatures. It emphasizes His ability to grant security not only in a worldly sense but also in the spiritual realm, instilling belief within hearts. This name is derived from the Arabic root word 'aman', which means security and faith. It reflects Allah's mercy and protection over His creations." 5 | } -------------------------------------------------------------------------------- /names/data/60.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Muhiy", 3 | "description": "Al Muhiy is one of the names of Allah in Islam, meaning 'The Giver of Life' or 'The Restorer.' It refers to Allah's power to grant life and revitalize creation.", 4 | "summary": "The name Al Muhiy originates from the Arabic root 'حيا' (ḥ-y-y), which is associated with life and living. This name emphasizes the belief that Allah is the source of all life and has the ability to give it and restore it. It reflects His mercy and control over the cycles of life and death." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/61.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Mumeet", 3 | "description": "Al Mumeet, meaning 'The Creator of Death', is one of the names of Allah in Islam. It signifies Allah's authority over life and death.", 4 | "summary": "The name Al Mumeet originates from the Arabic root word 'moot', which means death. In Islamic belief, it emphasizes that Allah is the one who decrees death and has complete control over the end of life for all living beings. This attribute encourages reflection on mortality and inspires believers to lead a purposeful life." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/62.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Haiyy", 3 | "description": "Al Haiyy translates to \"The Ever-Living\" in Arabic. It is one of the names of Allah in Islam, reflecting His eternal existence and the fact that He is alive without beginning or end.", 4 | "summary": "The name Al Haiyy signifies the attribute of life that is all-encompassing and perfect. It conveys that Allah's life is not like that of His creation; He is self-sustained and independent, contrasting with the finite nature of all living beings. This name emphasizes the importance of Allah's eternal presence and His continuous maintenance of the universe." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/63.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Qayyoom", 3 | "description": "Al Qayyoom is one of the names of Allah in Islam, and it translates to 'The Sustainer' or 'The Holder of All Things.' It signifies Allah's eternal existence and His role in maintaining and sustaining the universe.", 4 | "summary": "The name Al Qayyoom emphasizes Allah's self-sufficiency and His absolute power in sustaining His creation. It highlights the concept that everything depends on Him for existence and continuity, as He is always present and aware of all that happens. This name is derived from the Arabic root 'Qama,' which means 'to stand' or 'to maintain.' Al Qayyoom reflects the idea that Allah is the everlasting and ever-watchful guardian of all beings." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/64.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Waajid", 3 | "description": "Al Waajid is one of the names of Allah in Islam, meaning 'The Perceiver' or 'The Finder'.", 4 | "summary": "Al Waajid signifies Allah's ability to perceive and identify all things, conveying that nothing is hidden from Him. This name reflects the belief that Allah knows everything and can find what may be lost to human perception. It originates from Arabic, with 'waajid' derived from the root that encompasses concepts of presence and realization." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/65.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Maajid", 3 | "description": "Al Maajid is one of the names of Allah in Islam, translating to 'The Glorious' or 'The Majestic.' It signifies the greatness of Allah's attributes and His exalted nature.", 4 | "summary": "The name Al Maajid emphasizes the glory and majesty of Allah. It highlights His honor and the reverence He commands in the hearts of believers. The origin of this name comes from the Arabic root related to honor and magnificence, reflecting the Islamic belief in Allah's supremacy and grandeur in all aspects of existence." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/66.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Waahid", 3 | "description": "Al Waahid means 'The One' in Arabic. This name signifies the oneness and uniqueness of Allah, emphasizing that there is no partner or equal to Him.", 4 | "summary": "Al Waahid reflects the concept of divine unity in Islam, underscoring the belief that Allah is singular and incomparable. This name is derived from the Arabic root 'W-H-D', which conveys the idea of oneness and individuality. It is a reminder of Allah's sole sovereignty and His singular nature, reinforcing the central tenet of Tawhid in Islamic belief." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/67.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Ahad", 3 | "description": "Al Ahad is one of the names of Allah in Islam, signifying 'The One' or 'The Unique'. This name emphasizes the oneness and indivisibility of God, underscoring that He has no partners, equals, or rivals.", 4 | "summary": "The name Al Ahad is derived from the Arabic root word 'ahd', which means a covenant or promise. In Islamic theology, it represents the singularity of God's essence and nature. Al Ahad denotes that Allah is the sole creator and sustainer of the universe, reinforcing the concept of monotheism (Tawhid) in Islam." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/68.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "As Samad", 3 | "description": "As Samad is one of the names of Allah in Islam, which translates to 'The Eternal' or 'The Absolute.' It refers to Allah's self-sufficiency and the idea that He is in need of nothing and that everything relies on Him.", 4 | "summary": "The name As Samad originates from the Quran, specifically from Surah Al-Ikhlas (Chapter 112), which emphasizes the unique oneness and eternal nature of Allah. It is a reminder of God's independence and the source of all sustenance and existence." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/69.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Qaadir", 3 | "description": "Al Qaadir is one of the names of Allah in Islam, meaning 'The Powerful' or 'The Omnipotent'. It signifies Allah's absolute power and ability to do all things.", 4 | "summary": "The name Al Qaadir is derived from the Arabic root 'q-d-r', which denotes strength and capability. This name reflects the belief that Allah has complete control over the universe and is capable of exercising His will in all matters. It emphasizes the concept of divine power and authority in Islamic theology." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/7.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Muhaymin", 3 | "description": "Al Muhaymin is one of the names of Allah in Islam, which translates to 'The Guardian' or 'The Preserver of Safety'. It signifies God's oversight and protection over His creation.", 4 | "summary": "The name Al Muhaymin originates from the Arabic root 'h-m-n', which means to guard, protect, or supervise. In the context of Islamic theology, it reflects Allah's ability to safeguard and preserve the universe and everything within it. It embodies reassurance for believers that their affairs are under divine protection and that Allah is aware of all actions and intentions." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/70.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Muqtadir", 3 | "description": "Al Muqtadir is one of the names of Allah in Islam, which means 'The Powerful' or 'The Omnipotent.' This name conveys the concept of absolute power and authority, indicating that Allah has complete control over all things.", 4 | "summary": "The name signifies Allah's capability to execute His will and manage all affairs of creation. It emphasizes His strength and the fact that nothing occurs without His permission. Derived from the Arabic root 'q-d-r,' which relates to power and capability, Al Muqtadir is mentioned in the Quran, reflecting the attributes of strength and supreme authority." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/71.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Muqaddim", 3 | "description": "One of the 99 names of Allah in Islam, meaning 'The Expediter' or 'The Promoter.'", 4 | "summary": "Al Muqaddim signifies Allah's ability to advance and prioritize matters as He wills. This name reflects His divine wisdom in the way He orders events in the universe, ensuring that everything unfolds according to His plan. It emphasizes the concept that God is in control of all situations, facilitating and hastening what needs to occur in a person's life or the world at large." 5 | } -------------------------------------------------------------------------------- /names/data/72.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Mu'akhir", 3 | "description": "Al Mu'akhir is one of the names of Allah, which means 'The Delayer'. It refers to God's control over time and His ability to postpone events according to His wisdom.", 4 | "summary": "The name Al Mu'akhir emphasizes the concept that Allah has the ultimate authority over what happens when, reminding believers that everything unfolds in the timing that is best according to divine wisdom. Its origin can be traced to the Arabic language and Islamic teachings, reflecting the understanding of God's nature as encompassing all aspects of time and existence." 5 | } -------------------------------------------------------------------------------- /names/data/73.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Awwal", 3 | "description": "Al Awwal is one of the names of Allah in Islam, meaning 'The First.' It signifies that Allah is the first and has no beginning, emphasizing His eternal and timeless nature.", 4 | "summary": "The name Al Awwal illustrates Allah's precedence over all creation, indicating that everything else comes after Him in existence. It serves to remind believers of His sovereignty and the notion that He transcends time and sequence." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/74.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Aakhir", 3 | "description": "Al Aakhir is one of the names of Allah in Islam, meaning 'The Last'.", 4 | "summary": "The name Al Aakhir signifies that Allah is the ultimate end of all existence. In Islamic theology, this name emphasizes His eternal nature and the idea that everything in the universe has a beginning and an end, but Allah remains beyond the constraints of time. It reflects the belief in the Day of Judgment and the finality of His will." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/75.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Az-Zaahir", 3 | "description": "Az-Zaahir is one of the names of Allah in Islam, meaning 'The Manifest' or 'The Evident.' It signifies the visible aspect of God's essence, reflecting His presence and the clarity of His attributes.", 4 | "summary": "The name Az-Zaahir illustrates Allah's nature as being apparent and known, emphasizing that His attributes and creations are clear and evident in the world. This name encourages believers to recognize the signs of God in the universe." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/76.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Baatin", 3 | "description": "Al Baatin, meaning 'The Hidden One,' refers to one of the names of Allah in Islam. It denotes the aspect of God's nature that is not visible or apparent to human understanding. This name emphasizes that God's essence and attributes are beyond human perception and comprehension.", 4 | "summary": "Al Baatin signifies the hidden and unseen nature of Allah, reflecting the belief that while Allah is manifest in creation, His true essence remains concealed from human sight and understanding. This name reminds believers of the limitations of human knowledge and the depth of God's presence in the universe." 5 | } -------------------------------------------------------------------------------- /names/data/77.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Waali", 3 | "description": "Al Waali is one of the names of Allah in Islamic tradition, meaning 'The Sole Governor' or 'The Patron'.", 4 | "summary": "The name Al Waali signifies Allah's role as the ultimate authority and protector over all creation. It indicates His sovereignty and ability to manage and govern the affairs of the universe. The origin of this name can be traced to Arabic roots, where it emphasizes the loving and guiding relationship Allah has with His creation, showcasing His mercy and power." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/78.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Muta'ali", 3 | "description": "Al Muta'ali (المتعالي) is one of the names of Allah in Islam, meaning 'The Transcendent' or 'The Most Exalted'. This name emphasizes Allah's absolute majesty and superiority over all of creation.", 4 | "summary": "Al Muta'ali refers to Allah's nature of being beyond all limitations and imperfections, highlighting His greatness and the fact that He is above anything that can be imagined or compared. The name inspires reverence and acknowledgment of Allah's unique status as the Creator, who is exalted above all that exists." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/79.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al-Barr", 3 | "description": "Al-Barr is one of the names of Allah in Islam, which translates to 'The Source of All Goodness' or 'The Kind One'.", 4 | "summary": "The name Al-Barr signifies Allah's attributes of kindness, compassion, and benevolence. It conveys the idea that Allah is the ultimate source of all goodness and moral uprightness, encouraging believers to embody these qualities in their own lives. The name is derived from the Arabic root word 'B-R-R', which implies righteousness and devotion." 5 | } -------------------------------------------------------------------------------- /names/data/8.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Azeez", 3 | "description": "Al Azeez translates to 'The Mighty' or 'The Invincible' in Arabic. It signifies one who has strength, power, and authority, and is often used to denote Allah's supreme power over all creation.", 4 | "summary": "Al Azeez is one of the 99 names of Allah in Islam, reflecting His infinite might and strength. Originating from the Arabic root word 'عز' (ʿizz), which means honor, glory, and strength, this name emphasizes the greatness of Allah and His ability to overpower all opposition, granting dignity and protection to His creation." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/80.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "At Tawwaab", 3 | "description": "At Tawwaab is one of the names of Allah in Islam, meaning 'The Acceptor of Repentance'. It reflects God's mercy and willingness to forgive His servants who turn back to Him in sincere repentance.", 4 | "summary": "The name signifies Allah's infinite mercy and compassion, emphasizing His readiness to forgive those who seek forgiveness after sinning. At Tawwaab is derived from the Arabic root 't-w-b', which relates to the act of returning or repenting. It underscores the importance of repentance (tawbah) in Islam." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/81.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Muntaqim", 3 | "description": "Al Muntaqim is one of the names of Allah in Islam. It is derived from the Arabic root word 'naqama,' which means 'to take vengeance' or 'to retaliate.'", 4 | "summary": "Al Muntaqim, meaning 'The Avenger,' signifies Allah's attribute of holding accountable those who do wrong and seeking justice. This name reflects the divine nature of ensuring moral order and punishing transgressors in accordance with His wisdom and mercy. It serves as a reminder of the importance of justice in human conduct and the repercussions of one's actions." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/82.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Afuww", 3 | "description": "Al Afuww is one of the names of Allah in Islam, meaning 'The Pardoner' or 'The Forgiver'. It highlights Allah's boundless mercy and forgiveness towards His creation, emphasizing His ability to absolve sins and grant pardon to those who repent sincerely.", 4 | "summary": "The concept of Al Afuww signifies Allah's readiness to forgive and His compassion towards His creatures. The name is derived from the Arabic root 'عَفَا' (ʿafā), which means to pardon or to overlook. This name is often invoked in prayers and supplications, reflecting the hope for divine mercy and forgiveness. It teaches believers the importance of repentance and the potential for redemption." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/83.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Ar Ra'oof", 3 | "description": "Ar Ra'oof is one of the names of Allah in Islam, which translates to 'The Most Kind', 'The Most Compassionate', or 'The Most Caring'.", 4 | "summary": "The name Ar Ra'oof emphasizes Allah's deep compassion and kindness towards His creation. It reflects His tender care, particularly towards those who are in need of mercy and support. This attribute inspires believers to exhibit kindness and compassion in their own lives, encouraging them to emulate this divine quality in their interactions with others." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/84.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Maalik Ul Mulk", 3 | "description": "Maalik Ul Mulk, which translates to 'Master of the Kingdom', is one of the names of Allah in Islam. It emphasizes His sovereignty and authority over all creation and dominions.", 4 | "summary": "The name 'Maalik Ul Mulk' is derived from Arabic, where 'Maalik' means 'Master' and 'Mulk' means 'Kingdom' or 'Sovereignty'. It signifies Allah's complete control over the universe, reinforcing the concept that all power and authority belong solely to Him. This name reflects His role as the ultimate ruler and caretaker of all that exists." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/85.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Dhu Al Jalaali Wa Al Ikraam", 3 | "description": "This name translates to 'The Lord of Glory and Honour' or 'The Lord of Majesty and Generosity'. It emphasizes Allah's attributes of majesty, greatness, and generosity towards His creation.", 4 | "summary": "Dhu Al Jalaali Wa Al Ikraam is one of the names of Allah in Islam, found in Hadith literature and referred to in the context of Allah's overwhelming majesty and benevolence. The origin of this name reflects the Islamic understanding of God's dual nature of being exalted with glory and simultaneously generous, reminding believers of His magnificence and the kindness He bestows upon them." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/86.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Muqsit", 3 | "description": "Al Muqsit is one of the names of Allah in Islam, meaning 'The Just' or 'The Equitable'. It reflects His attribute of fairness and justice in all matters.", 4 | "summary": "Al Muqsit highlights the concept of justice which is central to Islamic teachings. It emphasizes that Allah is fair and equitable in His judgments and dealings with creation. The origin of this name is rooted in the Quran and Hadith, where Allah's attributes are described, and it serves as a reminder for believers to strive for justice in their own lives." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/87.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Jaami'", 3 | "description": "Al Jaami' is one of the names of Allah in Islam, meaning 'The Gatherer' or 'The Collector'. It signifies the divine attribute of bringing together all of creation, including souls on the Day of Judgment.", 4 | "summary": "The name Al Jaami' reflects God's power to gather all beings and souls, emphasizing His ultimate control over the universe and the resurrection of humanity. This concept is rooted in Islamic teachings about the Day of Judgment, where all individuals will be resurrected and held accountable for their actions." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/88.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Ghaniyy", 3 | "description": "Al Ghaniyy is one of the names of Allah in Islam, meaning 'The Self-Sufficient' or 'The Wealthy.' It represents Allah's attribute of being free of need, independent, and possessing all richness and sufficiency.", 4 | "summary": "The name Al Ghaniyy emphasizes Allah's self-sufficiency and independence from any external support. It reassures believers that Allah is the ultimate provider, in contrast to human dependency and need. The concept originates from the Quran, where Allah is described as possessing all wealth and sufficiency, highlighting His greatness and the assurance to His creation." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/89.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Mughi", 3 | "description": "Al Mughi is one of the names of Allah in Islam, which translates to 'The Inflictor of Help' or 'The One Who Grants Victory'.", 4 | "summary": "The name Al Mughi signifies Allah's attribute of providing support and assistance to those in need. It represents the divine capacity to offer help during times of struggle, guiding believers towards triumph over adversity. The origin of this name is rooted in Islamic teachings and is mentioned in various sources, emphasizing Allah's role as a protector and helper." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/9.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Jabbaar", 3 | "description": "Al Jabbaar is one of the names of Allah in Islam, derived from the Arabic root 'j-b-r', which means to compel, to repair, or to make whole. It signifies Allah's attribute of power and authority, to enact His will and establish what is right.", 4 | "summary": "Al Jabbaar, meaning 'The Compeller' or 'The Restorer', reflects Allah's supreme ability to enforce His will upon creation. It emphasizes His power to rectify and restore all that is broken or unjust. This name highlights Allah's dominion over the universe, ensuring that justice and order prevail according to His divine plan." 5 | } -------------------------------------------------------------------------------- /names/data/90.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Maani'", 3 | "description": "Al Maani' is one of the names of Allah in Islam, meaning 'The Withholder' or 'The Preventer'.", 4 | "summary": "This name reflects the divine attribute of Allah who controls and restrains that which is harmful or unnecessary for His creation. It highlights the concept that Allah has the authority to grant or withhold benefits and blessings, emphasizing His wisdom and sovereignty over all matters." 5 | } -------------------------------------------------------------------------------- /names/data/91.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Ad-Daaarr", 3 | "description": "Ad-Daaarr (Arabic: الضار) is one of the names of Allah in Islam, meaning 'The Distresser' or 'The Creator of Distress'.", 4 | "summary": "Ad-Daaarr reflects Allah's capability to create hardship or distress as part of His divine will. This name signifies that trials and difficulties can be a means of testing faith and character. Originating from the Arabic root ‘Daal-Ra’-‘Ayn, it emphasizes Allah's power over all aspects of existence, including the adverse circumstances one may face. It serves as a reminder that even in hardship, there is a greater wisdom and purpose at play." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/92.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "An Naafi'", 3 | "description": "An Naafi', meaning 'The Benefactor' or 'The One Who Causes Benefit', is one of the names attributed to Allah in Islamic tradition. It signifies God's ability to bring goodness, support, and benefit to His creation.", 4 | "summary": "The name An Naafi' highlights the divine attribute of providing benefits and positive outcomes to the believers and all of creation. It emphasizes God's mercy and generosity, reflecting His role as a source of sustenance and care for humanity and the universe." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/93.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "An Noor", 3 | "description": "An Noor, meaning 'The Light', is one of the names of Allah in Islam. It signifies divine illumination, guidance, and the essence of purity and truth. This name emphasizes the importance of spiritual enlightenment and the illumination provided by God in the lives of believers.", 4 | "summary": "The name An Noor originates from the Arabic word 'Noor', which means light. It is associated with the Quranic verse that highlights Allah as the source of light in both the physical and spiritual realms. This name encourages reflection on the guidance and clarity that faith provides to individuals, illuminating their path in life." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/94.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Haadi", 3 | "description": "Al Haadi is one of the names of Allah in Islamic tradition. It translates to 'The Guide' in Arabic.", 4 | "summary": "The name Al Haadi emphasizes Allah's role as the ultimate guide and leader for humanity towards the right path. It signifies His ability to provide direction, wisdom, and understanding, helping individuals make righteous choices in their lives. The concept is rooted in the Quran and reflects the belief that guidance is a divine gift bestowed upon those who seek it sincerely." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/95.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Badi'", 3 | "description": "Al Badi' is one of the names of Allah in Islamic tradition, which means 'The Incomparable' or 'The Originator'.", 4 | "summary": "The name Al Badi' signifies Allah's unique ability to create everything from nothing, emphasizing His unmatched creativity and originality in bringing forth the universe. It reflects the concept of being peerless in creation, underscoring that no one can replicate His divine act of creation. This name originates from the Arabic root 'ب-د-ع' (B-D-A), which conveys the sense of initiating and bringing something into existence without any prior example." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/96.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Baaqi", 3 | "description": "Al Baaqi, meaning 'The Ever-Surviving' or 'The Eternal', is one of the names of Allah in Islam. It signifies that Allah is everlasting and exists without an end, in contrast to all created things that are temporary and perishable.", 4 | "summary": "Al-Baaqi signifies that Allah is the sole entity that remains after all of creation ceases to exist. He is the ultimate, unchanging reality, beyond the limitations of time and mortality. While everything else is transient and subject to decay, Allah alone is eternal and enduring, representing the ultimate source of permanence and stability. This name emphasizes His absolute and infinite existence, highlighting that all other things are temporary and dependent on Him." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/97.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Al Waarith", 3 | "description": "Al Waarith (الوَارِث) is one of the Names of Allah in Islam, which means 'The Inheritor' or 'The Heir'.", 4 | "summary": "The name Al Waarith signifies that Allah is the ultimate inheritor of all things, as everything in existence belongs to Him, and all creation will return to Him. This concept highlights the transient nature of life and material possessions. The origin of this name is derived from the Quran, specifically in Surah Al-Anbiya (21:55), where Allah is referred to as the Heir of the heavens and the earth. This name instills a sense of reliance on Allah and reflects His eternal nature as the owner and keeper of all that exists." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/98.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Ar-Rasheed", 3 | "description": "Ar-Rasheed is one of the names of Allah in Islam, which means 'The Guide' or 'The Rightly Guided'. It signifies divine guidance and wisdom from Allah.", 4 | "summary": "The name Ar-Rasheed conveys the idea of Allah being the one who leads and guides believers towards the path of righteousness and truth. The name is derived from the Arabic root 'راشد' (r-sh-d), which pertains to guidance and correctness. It appears in various Islamic teachings, emphasizing the importance of seeking guidance from Allah in all aspects of life." 5 | } 6 | -------------------------------------------------------------------------------- /names/data/99.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "As Saboor", 3 | "description": "As Saboor (الْصَّبُور) is one of the names of Allah in Islam, meaning 'The Patient' or 'The Most Patient'. It reflects Allah's attribute of enduring and being patient with His creation, forgiving their shortcomings and sins.", 4 | "summary": "The name As Saboor signifies Allah's enduring patience and ability to withhold anger and punishment, emphasizing His compassion and mercy towards humanity. The concept encourages believers to embody patience in their own lives, understanding the importance of forbearance in facing life's challenges." 5 | } 6 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "reminder", 3 | "lockfileVersion": 3, 4 | "requires": true, 5 | "packages": { 6 | "": { 7 | "dependencies": { 8 | "@types/react": "^19.1.5", 9 | "@types/react-dom": "^19.1.5", 10 | "react": "^19.1.0", 11 | "react-dom": "^19.1.0" 12 | } 13 | }, 14 | "node_modules/@types/react": { 15 | "version": "19.1.5", 16 | "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.5.tgz", 17 | "integrity": "sha512-piErsCVVbpMMT2r7wbawdZsq4xMvIAhQuac2gedQHysu1TZYEigE6pnFfgZT+/jQnrRuF5r+SHzuehFjfRjr4g==", 18 | "license": "MIT", 19 | "dependencies": { 20 | "csstype": "^3.0.2" 21 | } 22 | }, 23 | "node_modules/@types/react-dom": { 24 | "version": "19.1.5", 25 | "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.5.tgz", 26 | "integrity": "sha512-CMCjrWucUBZvohgZxkjd6S9h0nZxXjzus6yDfUb+xLxYM7VvjKNH1tQrE9GWLql1XoOP4/Ds3bwFqShHUYraGg==", 27 | "license": "MIT", 28 | "peerDependencies": { 29 | "@types/react": "^19.0.0" 30 | } 31 | }, 32 | "node_modules/csstype": { 33 | "version": "3.1.3", 34 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", 35 | "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", 36 | "license": "MIT" 37 | }, 38 | "node_modules/react": { 39 | "version": "19.1.0", 40 | "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", 41 | "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", 42 | "license": "MIT", 43 | "engines": { 44 | "node": ">=0.10.0" 45 | } 46 | }, 47 | "node_modules/react-dom": { 48 | "version": "19.1.0", 49 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", 50 | "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", 51 | "license": "MIT", 52 | "dependencies": { 53 | "scheduler": "^0.26.0" 54 | }, 55 | "peerDependencies": { 56 | "react": "^19.1.0" 57 | } 58 | }, 59 | "node_modules/scheduler": { 60 | "version": "0.26.0", 61 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", 62 | "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", 63 | "license": "MIT" 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "@types/react": "^19.1.5", 4 | "@types/react-dom": "^19.1.5", 5 | "react": "^19.1.0", 6 | "react-dom": "^19.1.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /quran/data/1.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 1, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Opener", 7 | "transliterated": "Al-Fatihah", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1601, 12 | 1575, 13 | 1578, 14 | 1581, 15 | 1577 16 | ] 17 | }, 18 | "ayahs": 7, 19 | "slug": "al-fatihah", 20 | "translator": "Dr. Mustafa Khattab" 21 | }, 22 | [ 23 | 1, 24 | "In the Name of Allah—the Most Compassionate, Most Merciful." 25 | ], 26 | [ 27 | 2, 28 | "All praise is for Allah—Lord of all worlds," 29 | ], 30 | [ 31 | 3, 32 | "the Most Compassionate, Most Merciful," 33 | ], 34 | [ 35 | 4, 36 | "Master of the Day of Judgment." 37 | ], 38 | [ 39 | 5, 40 | "You ˹alone˺ we worship and You ˹alone˺ we ask for help." 41 | ], 42 | [ 43 | 6, 44 | "Guide us along the Straight Path," 45 | ], 46 | [ 47 | 7, 48 | "the Path of those You have blessed—not those You are displeased with, or those who are astray. " 49 | ] 50 | ] -------------------------------------------------------------------------------- /quran/data/100.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 100, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Courser", 7 | "transliterated": "Al-'Adiyat", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1593, 12 | 1575, 13 | 1583, 14 | 1610, 15 | 1575, 16 | 1578 17 | ] 18 | }, 19 | "ayahs": 11, 20 | "slug": "al-adiyat", 21 | "translator": "Dr. Mustafa Khattab" 22 | }, 23 | [ 24 | 1, 25 | "’ By the galloping, panting horses," 26 | ], 27 | [ 28 | 2, 29 | "striking sparks of fire ˹with their hoofs˺," 30 | ], 31 | [ 32 | 3, 33 | "launching raids at dawn," 34 | ], 35 | [ 36 | 4, 37 | "stirring up ˹clouds of˺ dust," 38 | ], 39 | [ 40 | 5, 41 | "and penetrating into the heart of enemy lines!" 42 | ], 43 | [ 44 | 6, 45 | "Surely humankind is ungrateful to their Lord—" 46 | ], 47 | [ 48 | 7, 49 | "and they certainly attest to this—" 50 | ], 51 | [ 52 | 8, 53 | "and they are truly extreme in their love of ˹worldly˺ gains." 54 | ], 55 | [ 56 | 9, 57 | "Do they not know that when the contents of the graves will be spilled out," 58 | ], 59 | [ 60 | 10, 61 | "and the secrets of the hearts will be laid bare—" 62 | ], 63 | [ 64 | 11, 65 | "surely their Lord is All-Aware of them on that Day." 66 | ] 67 | ] -------------------------------------------------------------------------------- /quran/data/101.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 101, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Calamity", 7 | "transliterated": "Al-Qari'ah", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1602, 12 | 1575, 13 | 1585, 14 | 1593, 15 | 1577 16 | ] 17 | }, 18 | "ayahs": 11, 19 | "slug": "al-qariah", 20 | "translator": "Dr. Mustafa Khattab" 21 | }, 22 | [ 23 | 1, 24 | "The Striking Disaster!" 25 | ], 26 | [ 27 | 2, 28 | "What is the Striking Disaster?" 29 | ], 30 | [ 31 | 3, 32 | "And what will make you realize what the Striking Disaster is?" 33 | ], 34 | [ 35 | 4, 36 | "˹It is˺ the Day people will be like scattered moths," 37 | ], 38 | [ 39 | 5, 40 | "and the mountains will be like carded wool." 41 | ], 42 | [ 43 | 6, 44 | "So as for those whose scale is heavy ˹with good deeds˺," 45 | ], 46 | [ 47 | 7, 48 | "they will be in a life of bliss." 49 | ], 50 | [ 51 | 8, 52 | "And as for those whose scale is light," 53 | ], 54 | [ 55 | 9, 56 | "their home will be the abyss." 57 | ], 58 | [ 59 | 10, 60 | "And what will make you realize what that is?" 61 | ], 62 | [ 63 | 11, 64 | "˹It is˺ a scorching Fire." 65 | ] 66 | ] -------------------------------------------------------------------------------- /quran/data/102.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 102, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Rivalry in world increase", 7 | "transliterated": "At-Takathur", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1578, 12 | 1603, 13 | 1575, 14 | 1579, 15 | 1585 16 | ] 17 | }, 18 | "ayahs": 8, 19 | "slug": "at-takathur", 20 | "translator": "Dr. Mustafa Khattab" 21 | }, 22 | [ 23 | 1, 24 | "Competition for more ˹gains˺ diverts you ˹from Allah˺," 25 | ], 26 | [ 27 | 2, 28 | "until you end up in ˹your˺ graves." 29 | ], 30 | [ 31 | 3, 32 | "But no! You will soon come to know." 33 | ], 34 | [ 35 | 4, 36 | "Again, no! You will soon come to know." 37 | ], 38 | [ 39 | 5, 40 | "Indeed, if you were to know ˹your fate˺ with certainty, ˹you would have acted differently˺." 41 | ], 42 | [ 43 | 6, 44 | "˹But˺ you will surely see the Hellfire." 45 | ], 46 | [ 47 | 7, 48 | "Again, you will surely see it with the eye of certainty." 49 | ], 50 | [ 51 | 8, 52 | "Then, on that Day, you will definitely be questioned about ˹your worldly˺ pleasures." 53 | ] 54 | ] -------------------------------------------------------------------------------- /quran/data/103.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 103, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Declining Day", 7 | "transliterated": "Al-'Asr", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1593, 12 | 1589, 13 | 1585 14 | ] 15 | }, 16 | "ayahs": 3, 17 | "slug": "al-asr", 18 | "translator": "Dr. Mustafa Khattab" 19 | }, 20 | [ 21 | 1, 22 | "By the ˹passage of˺ time!" 23 | ], 24 | [ 25 | 2, 26 | "Surely humanity is in ˹grave˺ loss," 27 | ], 28 | [ 29 | 3, 30 | "except those who have faith, do good, and urge each other to the truth, and urge each other to perseverance." 31 | ] 32 | ] -------------------------------------------------------------------------------- /quran/data/104.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 104, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Traducer", 7 | "transliterated": "Al-Humazah", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1607, 12 | 1605, 13 | 1586, 14 | 1577 15 | ] 16 | }, 17 | "ayahs": 9, 18 | "slug": "al-humazah", 19 | "translator": "Dr. Mustafa Khattab" 20 | }, 21 | [ 22 | 1, 23 | "Woe to every backbiter, slanderer," 24 | ], 25 | [ 26 | 2, 27 | "who amasses wealth ˹greedily˺ and counts it ˹repeatedly˺," 28 | ], 29 | [ 30 | 3, 31 | "thinking that their wealth will make them immortal!" 32 | ], 33 | [ 34 | 4, 35 | "Not at all! Such a person will certainly be tossed into the Crusher." 36 | ], 37 | [ 38 | 5, 39 | "And what will make you realize what the Crusher is?" 40 | ], 41 | [ 42 | 6, 43 | "˹It is˺ Allah’s kindled Fire," 44 | ], 45 | [ 46 | 7, 47 | "which rages over the hearts." 48 | ], 49 | [ 50 | 8, 51 | "It will be sealed over them," 52 | ], 53 | [ 54 | 9, 55 | "˹tightly secured˺ with long braces. " 56 | ] 57 | ] -------------------------------------------------------------------------------- /quran/data/105.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 105, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Elephant", 7 | "transliterated": "Al-Fil", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1601, 12 | 1610, 13 | 1604 14 | ] 15 | }, 16 | "ayahs": 5, 17 | "slug": "al-fil", 18 | "translator": "Dr. Mustafa Khattab" 19 | }, 20 | [ 21 | 1, 22 | "Have you not seen ˹O Prophet˺ how your Lord dealt with the Army of the Elephant?" 23 | ], 24 | [ 25 | 2, 26 | "Did He not frustrate their scheme?" 27 | ], 28 | [ 29 | 3, 30 | "For He sent against them flocks of birds," 31 | ], 32 | [ 33 | 4, 34 | "that pelted them with stones of baked clay," 35 | ], 36 | [ 37 | 5, 38 | "leaving them like chewed up straw. " 39 | ] 40 | ] -------------------------------------------------------------------------------- /quran/data/106.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 106, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "Quraysh", 7 | "transliterated": "Quraysh", 8 | "codepoints": [ 9 | 1602, 10 | 1585, 11 | 1610, 12 | 1588 13 | ] 14 | }, 15 | "ayahs": 4, 16 | "slug": "quraysh", 17 | "translator": "Dr. Mustafa Khattab" 18 | }, 19 | [ 20 | 1, 21 | "˹At least˺ for ˹the favour of˺ making Quraysh habitually secure—" 22 | ], 23 | [ 24 | 2, 25 | "secure in their trading caravan ˹to Yemen˺ in the winter and ˹Syria˺ in the summer—" 26 | ], 27 | [ 28 | 3, 29 | "let them worship the Lord of this ˹Sacred˺ House," 30 | ], 31 | [ 32 | 4, 33 | "Who has fed them against hunger and made them secure against fear. " 34 | ] 35 | ] -------------------------------------------------------------------------------- /quran/data/107.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 107, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Small kindnesses", 7 | "transliterated": "Al-Ma'un", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1605, 12 | 1575, 13 | 1593, 14 | 1608, 15 | 1606 16 | ] 17 | }, 18 | "ayahs": 7, 19 | "slug": "al-maun", 20 | "translator": "Dr. Mustafa Khattab" 21 | }, 22 | [ 23 | 1, 24 | "Have you seen the one who denies the ˹final˺ Judgment?" 25 | ], 26 | [ 27 | 2, 28 | "That is the one who repulses the orphan," 29 | ], 30 | [ 31 | 3, 32 | "and does not encourage the feeding of the poor." 33 | ], 34 | [ 35 | 4, 36 | "So woe to those ˹hypocrites˺ who pray" 37 | ], 38 | [ 39 | 5, 40 | "yet are unmindful of their prayers;" 41 | ], 42 | [ 43 | 6, 44 | "those who ˹only˺ show off," 45 | ], 46 | [ 47 | 7, 48 | "and refuse to give ˹even the simplest˺ aid. " 49 | ] 50 | ] -------------------------------------------------------------------------------- /quran/data/108.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 108, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Abundance", 7 | "transliterated": "Al-Kawthar", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1603, 12 | 1608, 13 | 1579, 14 | 1585 15 | ] 16 | }, 17 | "ayahs": 3, 18 | "slug": "al-kawthar", 19 | "translator": "Dr. Mustafa Khattab" 20 | }, 21 | [ 22 | 1, 23 | "Indeed, We have granted you ˹O Prophet˺ abundant goodness." 24 | ], 25 | [ 26 | 2, 27 | "So pray and sacrifice to your Lord ˹alone˺." 28 | ], 29 | [ 30 | 3, 31 | "Only the one who hates you is truly cut off ˹from any goodness˺." 32 | ] 33 | ] -------------------------------------------------------------------------------- /quran/data/109.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 109, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Disbelievers", 7 | "transliterated": "Al-Kafirun", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1603, 12 | 1575, 13 | 1601, 14 | 1585, 15 | 1608, 16 | 1606 17 | ] 18 | }, 19 | "ayahs": 6, 20 | "slug": "al-kafirun", 21 | "translator": "Dr. Mustafa Khattab" 22 | }, 23 | [ 24 | 1, 25 | "Say, ˹O Prophet,˺ “O you disbelievers!" 26 | ], 27 | [ 28 | 2, 29 | "I do not worship what you worship," 30 | ], 31 | [ 32 | 3, 33 | "nor do you worship what I worship." 34 | ], 35 | [ 36 | 4, 37 | "I will never worship what you worship," 38 | ], 39 | [ 40 | 5, 41 | "nor will you ever worship what I worship." 42 | ], 43 | [ 44 | 6, 45 | "You have your way, and I have my Way.”" 46 | ] 47 | ] -------------------------------------------------------------------------------- /quran/data/110.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 110, 4 | "city": "madinah", 5 | "name": { 6 | "translated": "The Divine Support", 7 | "transliterated": "An-Nasr", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1606, 12 | 1589, 13 | 1585 14 | ] 15 | }, 16 | "ayahs": 3, 17 | "slug": "an-nasr", 18 | "translator": "Dr. Mustafa Khattab" 19 | }, 20 | [ 21 | 1, 22 | "When Allah’s ˹ultimate˺ help comes and the victory ˹over Mecca is achieved˺," 23 | ], 24 | [ 25 | 2, 26 | "and you ˹O Prophet˺ see the people embracing Allah’s Way in crowds," 27 | ], 28 | [ 29 | 3, 30 | "then glorify the praises of your Lord and seek His forgiveness, for certainly He is ever Accepting of Repentance." 31 | ] 32 | ] -------------------------------------------------------------------------------- /quran/data/111.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 111, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Palm Fiber", 7 | "transliterated": "Al-Masad", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1605, 12 | 1587, 13 | 1583 14 | ] 15 | }, 16 | "ayahs": 5, 17 | "slug": "al-masad", 18 | "translator": "Dr. Mustafa Khattab" 19 | }, 20 | [ 21 | 1, 22 | "May the hands of Abu Lahab perish, and he ˹himself˺ perish!" 23 | ], 24 | [ 25 | 2, 26 | "Neither his wealth nor ˹worldly˺ gains will benefit him." 27 | ], 28 | [ 29 | 3, 30 | "He will burn in a flaming Fire," 31 | ], 32 | [ 33 | 4, 34 | "and ˹so will˺ his wife, the carrier of ˹thorny˺ kindling," 35 | ], 36 | [ 37 | 5, 38 | "around her neck will be a rope of palm-fibre." 39 | ] 40 | ] -------------------------------------------------------------------------------- /quran/data/112.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 112, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Sincerity", 7 | "transliterated": "Al-Ikhlas", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1573, 12 | 1582, 13 | 1604, 14 | 1575, 15 | 1589 16 | ] 17 | }, 18 | "ayahs": 4, 19 | "slug": "al-ikhlas", 20 | "translator": "Dr. Mustafa Khattab" 21 | }, 22 | [ 23 | 1, 24 | "Say, ˹O Prophet,˺ “He is Allah—One ˹and Indivisible˺;" 25 | ], 26 | [ 27 | 2, 28 | "Allah—the Sustainer ˹needed by all˺." 29 | ], 30 | [ 31 | 3, 32 | "He has never had offspring, nor was He born." 33 | ], 34 | [ 35 | 4, 36 | "And there is none comparable to Him.”" 37 | ] 38 | ] -------------------------------------------------------------------------------- /quran/data/113.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 113, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Daybreak", 7 | "transliterated": "Al-Falaq", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1601, 12 | 1604, 13 | 1602 14 | ] 15 | }, 16 | "ayahs": 5, 17 | "slug": "al-falaq", 18 | "translator": "Dr. Mustafa Khattab" 19 | }, 20 | [ 21 | 1, 22 | "Say, ˹O Prophet,˺ “I seek refuge in the Lord of the daybreak" 23 | ], 24 | [ 25 | 2, 26 | "from the evil of whatever He has created," 27 | ], 28 | [ 29 | 3, 30 | "and from the evil of the night when it grows dark," 31 | ], 32 | [ 33 | 4, 34 | "and from the evil of those ˹witches casting spells by˺ blowing onto knots," 35 | ], 36 | [ 37 | 5, 38 | "and from the evil of an envier when they envy.”" 39 | ] 40 | ] -------------------------------------------------------------------------------- /quran/data/114.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 114, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "Mankind", 7 | "transliterated": "An-Nas", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1606, 12 | 1575, 13 | 1587 14 | ] 15 | }, 16 | "ayahs": 6, 17 | "slug": "an-nas", 18 | "translator": "Dr. Mustafa Khattab" 19 | }, 20 | [ 21 | 1, 22 | "Say, ˹O Prophet,˺ “I seek refuge in the Lord of humankind," 23 | ], 24 | [ 25 | 2, 26 | "the Master of humankind," 27 | ], 28 | [ 29 | 3, 30 | "the God of humankind," 31 | ], 32 | [ 33 | 4, 34 | "from the evil of the lurking whisperer—" 35 | ], 36 | [ 37 | 5, 38 | "who whispers into the hearts of humankind—" 39 | ], 40 | [ 41 | 6, 42 | "from among jinn and humankind.”" 43 | ] 44 | ] -------------------------------------------------------------------------------- /quran/data/62.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 62, 4 | "city": "madinah", 5 | "name": { 6 | "translated": "The Congregation, Friday", 7 | "transliterated": "Al-Jumu'ah", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1580, 12 | 1605, 13 | 1593, 14 | 1577 15 | ] 16 | }, 17 | "ayahs": 11, 18 | "slug": "al-jumuah", 19 | "translator": "Dr. Mustafa Khattab" 20 | }, 21 | [ 22 | 1, 23 | "Whatever is in the heavens and whatever is on the earth ˹constantly˺ glorifies Allah—the King, the Most Holy, the Almighty, the All-Wise." 24 | ], 25 | [ 26 | 2, 27 | "He is the One Who raised for the illiterate ˹people˺ a messenger from among themselves—reciting to them His revelations, purifying them, and teaching them the Book and wisdom, for indeed they had previously been clearly astray—" 28 | ], 29 | [ 30 | 3, 31 | "along with others of them who have not yet joined them ˹in faith˺. For He is the Almighty, All-Wise." 32 | ], 33 | [ 34 | 4, 35 | "This is the favour of Allah. He grants it to whoever He wills. And Allah is the Lord of infinite bounty." 36 | ], 37 | [ 38 | 5, 39 | "The example of those who were entrusted with ˹observing˺ the Torah but failed to do so, is that of a donkey carrying books. How evil is the example of those who reject Allah’s signs! For Allah does not guide the wrongdoing people." 40 | ], 41 | [ 42 | 6, 43 | "Say, ˹O Prophet,˺ “O Jews! If you claim to be Allah’s chosen ˹people˺ out of all humanity, then wish for death, if what you say is true.”" 44 | ], 45 | [ 46 | 7, 47 | "But they will never wish for that because of what their hands have done. And Allah has ˹perfect˺ knowledge of the wrongdoers." 48 | ], 49 | [ 50 | 8, 51 | "Say, “The death you are running away from will inevitably come to you. Then you will be returned to the Knower of the seen and unseen, and He will inform you of what you used to do.”" 52 | ], 53 | [ 54 | 9, 55 | "O believers! When the call to prayer is made on Friday, then proceed ˹diligently˺ to the remembrance of Allah and leave off ˹your˺ business. That is best for you, if only you knew." 56 | ], 57 | [ 58 | 10, 59 | "Once the prayer is over, disperse throughout the land and seek the bounty of Allah. And remember Allah often so you may be successful." 60 | ], 61 | [ 62 | 11, 63 | "When they saw the fanfare along with the caravan, they ˹almost all˺ flocked to it, leaving you ˹O Prophet˺ standing ˹on the pulpit˺. Say, “What is with Allah is far better than amusement and merchandise. And Allah is the Best Provider.”" 64 | ] 65 | ] -------------------------------------------------------------------------------- /quran/data/63.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 63, 4 | "city": "madinah", 5 | "name": { 6 | "translated": "The Hypocrites", 7 | "transliterated": "Al-Munafiqun", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1605, 12 | 1606, 13 | 1575, 14 | 1601, 15 | 1602, 16 | 1608, 17 | 1606 18 | ] 19 | }, 20 | "ayahs": 11, 21 | "slug": "al-munafiqun", 22 | "translator": "Dr. Mustafa Khattab" 23 | }, 24 | [ 25 | 1, 26 | "When the hypocrites come to you ˹O Prophet˺, they say, “We bear witness that you are certainly the Messenger of Allah”—and surely Allah knows that you are His Messenger—but Allah bears witness that the hypocrites are truly liars." 27 | ], 28 | [ 29 | 2, 30 | "They have made their ˹false˺ oaths as a shield, hindering ˹others˺ from the Way of Allah. Evil indeed is what they do!" 31 | ], 32 | [ 33 | 3, 34 | "This is because they believed and then abandoned faith. Therefore, their hearts have been sealed, so they do not comprehend." 35 | ], 36 | [ 37 | 4, 38 | "When you see them, their appearance impresses you. And when they speak, you listen to their ˹impressive˺ speech. But they are ˹just˺ like ˹worthless˺ planks of wood leaned ˹against a wall˺. They think every cry is against them. They are the enemy, so beware of them. May Allah condemn them! How can they be deluded ˹from the truth˺?" 39 | ], 40 | [ 41 | 5, 42 | "When it is said to them, “Come! The Messenger of Allah will pray for you to be forgiven,” they turn their heads ˹in disgust˺, and you see them ˹O Prophet˺ turn away in arrogance." 43 | ], 44 | [ 45 | 6, 46 | "It is the same whether you pray for their forgiveness or not, Allah will not forgive them. Surely Allah does not guide the rebellious people." 47 | ], 48 | [ 49 | 7, 50 | "They are the ones who say ˹to one another˺, “Do not spend ˹anything˺ on those ˹emigrants˺ with the Messenger of Allah so that they will break away ˹from him˺.” But to Allah ˹alone˺ belong the treasuries of the heavens and the earth, yet the hypocrites do not comprehend." 51 | ], 52 | [ 53 | 8, 54 | "They say, “If we return to Medina, the honourable will definitely expel the inferior.” But all honour and power belongs to Allah, His Messenger, and the believers, yet the hypocrites do not know." 55 | ], 56 | [ 57 | 9, 58 | "O believers! Do not let your wealth or your children divert you from the remembrance of Allah. For whoever does so, it is they who are the ˹true˺ losers." 59 | ], 60 | [ 61 | 10, 62 | "And donate from what We have provided for you before death comes to one of you, and you cry, “My Lord! If only You delayed me for a short while, I would give in charity and be one of the righteous.”" 63 | ], 64 | [ 65 | 11, 66 | "But Allah never delays a soul when its appointed time comes. And Allah is All-Aware of what you do." 67 | ] 68 | ] -------------------------------------------------------------------------------- /quran/data/81.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 81, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Overthrowing", 7 | "transliterated": "At-Takwir", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1578, 12 | 1603, 13 | 1608, 14 | 1610, 15 | 1585 16 | ] 17 | }, 18 | "ayahs": 29, 19 | "slug": "at-takwir", 20 | "translator": "Dr. Mustafa Khattab" 21 | }, 22 | [ 23 | 1, 24 | "When the sun is put out," 25 | ], 26 | [ 27 | 2, 28 | "and when the stars fall down," 29 | ], 30 | [ 31 | 3, 32 | "and when the mountains are blown away," 33 | ], 34 | [ 35 | 4, 36 | "and when pregnant camels are left untended," 37 | ], 38 | [ 39 | 5, 40 | "and when wild beasts are gathered together," 41 | ], 42 | [ 43 | 6, 44 | "and when the seas are set on fire," 45 | ], 46 | [ 47 | 7, 48 | "and when the souls ˹and their bodies˺ are paired ˹once more˺," 49 | ], 50 | [ 51 | 8, 52 | "and when baby girls, buried alive, are asked" 53 | ], 54 | [ 55 | 9, 56 | "for what crime they were put to death," 57 | ], 58 | [ 59 | 10, 60 | "and when the records ˹of deeds˺ are laid open," 61 | ], 62 | [ 63 | 11, 64 | "and when the sky is stripped away," 65 | ], 66 | [ 67 | 12, 68 | "and when the Hellfire is fiercely flared up," 69 | ], 70 | [ 71 | 13, 72 | "and when Paradise is brought near—" 73 | ], 74 | [ 75 | 14, 76 | "˹on that Day˺ each soul will know what ˹deeds˺ it has brought along." 77 | ], 78 | [ 79 | 15, 80 | "I do swear by the receding stars" 81 | ], 82 | [ 83 | 16, 84 | "which travel and hide," 85 | ], 86 | [ 87 | 17, 88 | "and the night as it falls" 89 | ], 90 | [ 91 | 18, 92 | "and the day as it breaks!" 93 | ], 94 | [ 95 | 19, 96 | "Indeed, this ˹Quran˺ is the Word of ˹Allah delivered by Gabriel,˺ a noble messenger-angel," 97 | ], 98 | [ 99 | 20, 100 | "full of power, held in honour by the Lord of the Throne," 101 | ], 102 | [ 103 | 21, 104 | "obeyed there ˹in heaven˺, and trustworthy." 105 | ], 106 | [ 107 | 22, 108 | "And your fellow man is not insane." 109 | ], 110 | [ 111 | 23, 112 | "And he did see that ˹angel˺ on the clear horizon," 113 | ], 114 | [ 115 | 24, 116 | "and he does not withhold ˹what is revealed to him of˺ the unseen." 117 | ], 118 | [ 119 | 25, 120 | "And this ˹Quran˺ is not the word of an outcast devil." 121 | ], 122 | [ 123 | 26, 124 | "So what ˹other˺ path would you take?" 125 | ], 126 | [ 127 | 27, 128 | "Surely this ˹Quran˺ is only a reminder to the whole world—" 129 | ], 130 | [ 131 | 28, 132 | "to whoever of you wills to take the Straight Way." 133 | ], 134 | [ 135 | 29, 136 | "But you cannot will ˹to do so˺, except by the Will of Allah, the Lord of all worlds." 137 | ] 138 | ] -------------------------------------------------------------------------------- /quran/data/82.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 82, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Cleaving", 7 | "transliterated": "Al-Infitar", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1573, 12 | 1606, 13 | 1601, 14 | 1591, 15 | 1575, 16 | 1585 17 | ] 18 | }, 19 | "ayahs": 19, 20 | "slug": "al-infitar", 21 | "translator": "Dr. Mustafa Khattab" 22 | }, 23 | [ 24 | 1, 25 | "When the sky splits open," 26 | ], 27 | [ 28 | 2, 29 | "and when the stars fall away," 30 | ], 31 | [ 32 | 3, 33 | "and when the seas burst forth," 34 | ], 35 | [ 36 | 4, 37 | "and when the graves spill out," 38 | ], 39 | [ 40 | 5, 41 | "˹then˺ each soul will know what it has sent forth or left behind." 42 | ], 43 | [ 44 | 6, 45 | "O humanity! What has emboldened you against your Lord, the Most Generous," 46 | ], 47 | [ 48 | 7, 49 | "Who created you, fashioned you, and perfected your design," 50 | ], 51 | [ 52 | 8, 53 | "moulding you in whatever form He willed?" 54 | ], 55 | [ 56 | 9, 57 | "But no! In fact, you deny the ˹final˺ Judgment," 58 | ], 59 | [ 60 | 10, 61 | "while you are certainly observed by vigilant," 62 | ], 63 | [ 64 | 11, 65 | "honourable angels, recording ˹everything˺." 66 | ], 67 | [ 68 | 12, 69 | "They know whatever you do." 70 | ], 71 | [ 72 | 13, 73 | "Indeed, the virtuous will be in bliss," 74 | ], 75 | [ 76 | 14, 77 | "and the wicked will be in Hell," 78 | ], 79 | [ 80 | 15, 81 | "burning in it on Judgment Day," 82 | ], 83 | [ 84 | 16, 85 | "and they will have no escape from it." 86 | ], 87 | [ 88 | 17, 89 | "What will make you realize what Judgment Day is?" 90 | ], 91 | [ 92 | 18, 93 | "Again, what will make you realize what Judgment Day is?" 94 | ], 95 | [ 96 | 19, 97 | "˹It is˺ the Day no soul will be of ˹any˺ benefit to another whatsoever, for all authority on that Day belongs to Allah ˹entirely˺." 98 | ] 99 | ] -------------------------------------------------------------------------------- /quran/data/84.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 84, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Sundering", 7 | "transliterated": "Al-Inshiqaq", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1573, 12 | 1606, 13 | 1588, 14 | 1602, 15 | 1575, 16 | 1602 17 | ] 18 | }, 19 | "ayahs": 25, 20 | "slug": "al-inshiqaq", 21 | "translator": "Dr. Mustafa Khattab" 22 | }, 23 | [ 24 | 1, 25 | "When the sky bursts open," 26 | ], 27 | [ 28 | 2, 29 | "obeying its Lord as it must," 30 | ], 31 | [ 32 | 3, 33 | "and when the earth is flattened out," 34 | ], 35 | [ 36 | 4, 37 | "and ejects ˹all˺ its contents and becomes empty," 38 | ], 39 | [ 40 | 5, 41 | "obeying its Lord as it must, ˹surely you will all be judged˺." 42 | ], 43 | [ 44 | 6, 45 | "O humanity! Indeed, you are labouring restlessly towards your Lord, and will ˹eventually˺ meet the consequences." 46 | ], 47 | [ 48 | 7, 49 | "As for those who are given their record in their right hand," 50 | ], 51 | [ 52 | 8, 53 | "they will have an easy reckoning," 54 | ], 55 | [ 56 | 9, 57 | "and will return to their people joyfully." 58 | ], 59 | [ 60 | 10, 61 | "And as for those who are given their record ˹in their left hand˺ from behind their backs," 62 | ], 63 | [ 64 | 11, 65 | "they will cry for ˹instant˺ destruction," 66 | ], 67 | [ 68 | 12, 69 | "and will burn in the blazing Fire." 70 | ], 71 | [ 72 | 13, 73 | "For they used to be prideful among their people," 74 | ], 75 | [ 76 | 14, 77 | "thinking they would never return ˹to Allah˺." 78 | ], 79 | [ 80 | 15, 81 | "Yes ˹they would˺! Surely their Lord has always been All-Seeing of them." 82 | ], 83 | [ 84 | 16, 85 | "So, I do swear by the twilight!" 86 | ], 87 | [ 88 | 17, 89 | "And by the night and whatever it envelops!" 90 | ], 91 | [ 92 | 18, 93 | "And by the moon when it waxes full!" 94 | ], 95 | [ 96 | 19, 97 | "You will certainly pass from one state to another." 98 | ], 99 | [ 100 | 20, 101 | "So what is the matter with them that they do not believe," 102 | ], 103 | [ 104 | 21, 105 | "and when the Quran is recited to them, they do not bow down ˹in submission˺?" 106 | ], 107 | [ 108 | 22, 109 | "In fact, the disbelievers persist in denial." 110 | ], 111 | [ 112 | 23, 113 | "But Allah knows best whatever they hide." 114 | ], 115 | [ 116 | 24, 117 | "So give them good news of a painful punishment." 118 | ], 119 | [ 120 | 25, 121 | "But those who believe and do good will have a never-ending reward." 122 | ] 123 | ] -------------------------------------------------------------------------------- /quran/data/85.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 85, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Mansions of the Stars", 7 | "transliterated": "Al-Buruj", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1576, 12 | 1585, 13 | 1608, 14 | 1580 15 | ] 16 | }, 17 | "ayahs": 22, 18 | "slug": "al-buruj", 19 | "translator": "Dr. Mustafa Khattab" 20 | }, 21 | [ 22 | 1, 23 | "By the sky full of constellations," 24 | ], 25 | [ 26 | 2, 27 | "and the promised Day ˹of Judgment˺," 28 | ], 29 | [ 30 | 3, 31 | "and the witness and what is witnessed!" 32 | ], 33 | [ 34 | 4, 35 | "Condemned are the makers of the ditch—" 36 | ], 37 | [ 38 | 5, 39 | "the fire ˹pit˺, filled with fuel—" 40 | ], 41 | [ 42 | 6, 43 | "when they sat around it," 44 | ], 45 | [ 46 | 7, 47 | "watching what they had ˹ordered to be˺ done to the believers," 48 | ], 49 | [ 50 | 8, 51 | "who they resented for no reason other than belief in Allah—the Almighty, the Praiseworthy—" 52 | ], 53 | [ 54 | 9, 55 | "˹the One˺ to Whom belongs the kingdom of the heavens and earth. And Allah is a Witness over all things." 56 | ], 57 | [ 58 | 10, 59 | "Those who persecute the believing men and women and then do not repent will certainly suffer the punishment of Hell and the torment of burning." 60 | ], 61 | [ 62 | 11, 63 | "Surely those who believe and do good will have Gardens under which rivers flow. That is the greatest triumph." 64 | ], 65 | [ 66 | 12, 67 | "Indeed, the ˹crushing˺ grip of your Lord is severe." 68 | ], 69 | [ 70 | 13, 71 | "˹For˺ He is certainly the One Who originates and resurrects ˹all˺." 72 | ], 73 | [ 74 | 14, 75 | "And He is the All-Forgiving, All-Loving—" 76 | ], 77 | [ 78 | 15, 79 | "Lord of the Throne, the All-Glorious," 80 | ], 81 | [ 82 | 16, 83 | "Doer of whatever He wills." 84 | ], 85 | [ 86 | 17, 87 | "Has the story of the ˹destroyed˺ forces reached you ˹O Prophet˺—" 88 | ], 89 | [ 90 | 18, 91 | "˹the forces of˺ Pharaoh and Thamûd?" 92 | ], 93 | [ 94 | 19, 95 | "Yet the disbelievers ˹still˺ persist in denial." 96 | ], 97 | [ 98 | 20, 99 | "But Allah encompasses them from all sides." 100 | ], 101 | [ 102 | 21, 103 | "In fact, this is a glorious Quran," 104 | ], 105 | [ 106 | 22, 107 | "˹recorded˺ in a Preserved Tablet." 108 | ] 109 | ] -------------------------------------------------------------------------------- /quran/data/86.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 86, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Nightcommer", 7 | "transliterated": "At-Tariq", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1591, 12 | 1575, 13 | 1585, 14 | 1602 15 | ] 16 | }, 17 | "ayahs": 17, 18 | "slug": "at-tariq", 19 | "translator": "Dr. Mustafa Khattab" 20 | }, 21 | [ 22 | 1, 23 | "By the heaven and the nightly star!" 24 | ], 25 | [ 26 | 2, 27 | "And what will make you realize what the nightly star is?" 28 | ], 29 | [ 30 | 3, 31 | "˹It is˺ the star of piercing brightness." 32 | ], 33 | [ 34 | 4, 35 | "There is no soul without a vigilant angel ˹recording everything˺." 36 | ], 37 | [ 38 | 5, 39 | "Let people then consider what they were created from!" 40 | ], 41 | [ 42 | 6, 43 | "˹They were˺ created from a spurting fluid," 44 | ], 45 | [ 46 | 7, 47 | "stemming from between the backbone and the ribcage." 48 | ], 49 | [ 50 | 8, 51 | "Surely He is fully capable of bringing them back ˹to life˺" 52 | ], 53 | [ 54 | 9, 55 | "on the Day all secrets will be disclosed." 56 | ], 57 | [ 58 | 10, 59 | "Then one will have neither power nor ˹any˺ helper." 60 | ], 61 | [ 62 | 11, 63 | "By the sky with its recurring cycles," 64 | ], 65 | [ 66 | 12, 67 | "and the earth with its sprouting plants!" 68 | ], 69 | [ 70 | 13, 71 | "Surely this ˹Quran˺ is a decisive word," 72 | ], 73 | [ 74 | 14, 75 | "and is not to be taken lightly." 76 | ], 77 | [ 78 | 15, 79 | "They are certainly devising ˹evil˺ plans," 80 | ], 81 | [ 82 | 16, 83 | "but I too am planning." 84 | ], 85 | [ 86 | 17, 87 | "So bear with the disbelievers ˹O Prophet˺. Let them be for ˹just˺ a little while." 88 | ] 89 | ] -------------------------------------------------------------------------------- /quran/data/87.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 87, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Most High", 7 | "transliterated": "Al-A'la", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1571, 12 | 1593, 13 | 1604, 14 | 1609 15 | ] 16 | }, 17 | "ayahs": 19, 18 | "slug": "al-ala", 19 | "translator": "Dr. Mustafa Khattab" 20 | }, 21 | [ 22 | 1, 23 | "Glorify the Name of your Lord, the Most High," 24 | ], 25 | [ 26 | 2, 27 | "Who created and ˹perfectly˺ fashioned ˹all˺," 28 | ], 29 | [ 30 | 3, 31 | "and Who ordained precisely and inspired accordingly," 32 | ], 33 | [ 34 | 4, 35 | "and Who brings forth ˹green˺ pasture," 36 | ], 37 | [ 38 | 5, 39 | "then reduces it to withered chaff." 40 | ], 41 | [ 42 | 6, 43 | "We will have you recite ˹the Quran, O  Prophet,˺ so you will not forget ˹any of it˺," 44 | ], 45 | [ 46 | 7, 47 | "unless Allah wills otherwise. He surely knows what is open and what is hidden." 48 | ], 49 | [ 50 | 8, 51 | "We will facilitate for you the Way of Ease." 52 | ], 53 | [ 54 | 9, 55 | "So ˹always˺ remind ˹with the Quran˺—˹even˺ if the reminder is beneficial ˹only to some˺." 56 | ], 57 | [ 58 | 10, 59 | "Those in awe ˹of Allah˺ will be mindful ˹of it˺." 60 | ], 61 | [ 62 | 11, 63 | "But it will be shunned by the most wretched," 64 | ], 65 | [ 66 | 12, 67 | "who will burn in the greatest Fire," 68 | ], 69 | [ 70 | 13, 71 | "where they will not ˹be able to˺ live or die." 72 | ], 73 | [ 74 | 14, 75 | "Successful indeed are those who purify themselves," 76 | ], 77 | [ 78 | 15, 79 | "remember the Name of their Lord, and pray." 80 | ], 81 | [ 82 | 16, 83 | "But you ˹deniers only˺ prefer the life of this world," 84 | ], 85 | [ 86 | 17, 87 | "even though the Hereafter is far better and more lasting." 88 | ], 89 | [ 90 | 18, 91 | "This is certainly ˹mentioned˺ in the earlier Scriptures—" 92 | ], 93 | [ 94 | 19, 95 | "the Scriptures of Abraham and Moses." 96 | ] 97 | ] -------------------------------------------------------------------------------- /quran/data/88.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 88, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Overwhelming", 7 | "transliterated": "Al-Ghashiyah", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1594, 12 | 1575, 13 | 1588, 14 | 1610, 15 | 1577 16 | ] 17 | }, 18 | "ayahs": 26, 19 | "slug": "al-ghashiyah", 20 | "translator": "Dr. Mustafa Khattab" 21 | }, 22 | [ 23 | 1, 24 | "Has the news of the Overwhelming Event reached you ˹O Prophet˺?" 25 | ], 26 | [ 27 | 2, 28 | "On that Day ˹some˺ faces will be downcast," 29 | ], 30 | [ 31 | 3, 32 | "˹totally˺ overburdened, exhausted," 33 | ], 34 | [ 35 | 4, 36 | "burning in a scorching Fire," 37 | ], 38 | [ 39 | 5, 40 | "left to drink from a scalding spring." 41 | ], 42 | [ 43 | 6, 44 | "They will have no food except a foul, thorny shrub," 45 | ], 46 | [ 47 | 7, 48 | "neither nourishing nor satisfying hunger." 49 | ], 50 | [ 51 | 8, 52 | "On that Day ˹other˺ faces will be glowing with bliss," 53 | ], 54 | [ 55 | 9, 56 | "˹fully˺ pleased with their striving," 57 | ], 58 | [ 59 | 10, 60 | "in an elevated Garden," 61 | ], 62 | [ 63 | 11, 64 | "where no idle talk will be heard." 65 | ], 66 | [ 67 | 12, 68 | "In it will be a running spring," 69 | ], 70 | [ 71 | 13, 72 | "along with thrones raised high," 73 | ], 74 | [ 75 | 14, 76 | "and cups set at hand," 77 | ], 78 | [ 79 | 15, 80 | "and ˹fine˺ cushions lined up," 81 | ], 82 | [ 83 | 16, 84 | "and ˹splendid˺ carpets spread out." 85 | ], 86 | [ 87 | 17, 88 | "Do they not ever reflect on camels—how they were ˹masterfully˺ created;" 89 | ], 90 | [ 91 | 18, 92 | "and the sky—how it was raised ˹high˺;" 93 | ], 94 | [ 95 | 19, 96 | "and the mountains—how they were firmly set up;" 97 | ], 98 | [ 99 | 20, 100 | "and the earth—how it was levelled out?" 101 | ], 102 | [ 103 | 21, 104 | "So, ˹continue to˺ remind ˹all, O  Prophet˺, for your duty is only to remind." 105 | ], 106 | [ 107 | 22, 108 | "You are not ˹there˺ to compel them ˹to believe˺." 109 | ], 110 | [ 111 | 23, 112 | "But whoever turns away, persisting in disbelief," 113 | ], 114 | [ 115 | 24, 116 | "then Allah will inflict upon them the major punishment." 117 | ], 118 | [ 119 | 25, 120 | "Surely to Us is their return," 121 | ], 122 | [ 123 | 26, 124 | "then surely with Us is their reckoning." 125 | ] 126 | ] -------------------------------------------------------------------------------- /quran/data/90.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 90, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The City", 7 | "transliterated": "Al-Balad", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1576, 12 | 1604, 13 | 1583 14 | ] 15 | }, 16 | "ayahs": 20, 17 | "slug": "al-balad", 18 | "translator": "Dr. Mustafa Khattab" 19 | }, 20 | [ 21 | 1, 22 | "I do swear by this city ˹of Mecca˺—" 23 | ], 24 | [ 25 | 2, 26 | "even though you ˹O Prophet˺ are subject to abuse in this city—" 27 | ], 28 | [ 29 | 3, 30 | "and by every parent and ˹their˺ child!" 31 | ], 32 | [ 33 | 4, 34 | "Indeed, We have created humankind in ˹constant˺ struggle." 35 | ], 36 | [ 37 | 5, 38 | "Do they think that no one has power over them," 39 | ], 40 | [ 41 | 6, 42 | "boasting, “I have wasted enormous wealth!”?" 43 | ], 44 | [ 45 | 7, 46 | "Do they think that no one sees them?" 47 | ], 48 | [ 49 | 8, 50 | "Have We not given them two eyes," 51 | ], 52 | [ 53 | 9, 54 | "a tongue, and two lips;" 55 | ], 56 | [ 57 | 10, 58 | "and shown them the two ways ˹of right and wrong˺?" 59 | ], 60 | [ 61 | 11, 62 | "If only they had attempted the challenging path ˹of goodness instead˺!" 63 | ], 64 | [ 65 | 12, 66 | "And what will make you realize what ˹attempting˺ the challenging path is?" 67 | ], 68 | [ 69 | 13, 70 | "It is to free a slave," 71 | ], 72 | [ 73 | 14, 74 | "or to give food in times of famine" 75 | ], 76 | [ 77 | 15, 78 | "to an orphaned relative" 79 | ], 80 | [ 81 | 16, 82 | "or to a poor person in distress," 83 | ], 84 | [ 85 | 17, 86 | "and—above all—to be one of those who have faith and urge each other to perseverance and urge each other to compassion." 87 | ], 88 | [ 89 | 18, 90 | "These are the people of the right." 91 | ], 92 | [ 93 | 19, 94 | "As for those who deny Our signs, they are the people of the left." 95 | ], 96 | [ 97 | 20, 98 | "The Fire will be sealed over them." 99 | ] 100 | ] -------------------------------------------------------------------------------- /quran/data/91.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 91, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Sun", 7 | "transliterated": "Ash-Shams", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1588, 12 | 1605, 13 | 1587 14 | ] 15 | }, 16 | "ayahs": 15, 17 | "slug": "ash-shams", 18 | "translator": "Dr. Mustafa Khattab" 19 | }, 20 | [ 21 | 1, 22 | "By the sun and its brightness," 23 | ], 24 | [ 25 | 2, 26 | "and the moon as it follows it," 27 | ], 28 | [ 29 | 3, 30 | "and the day as it unveils it," 31 | ], 32 | [ 33 | 4, 34 | "and the night as it conceals it!" 35 | ], 36 | [ 37 | 5, 38 | "And by heaven and ˹the One˺ Who built it," 39 | ], 40 | [ 41 | 6, 42 | "and the earth and ˹the One˺ Who spread it!" 43 | ], 44 | [ 45 | 7, 46 | "And by the soul and ˹the One˺ Who fashioned it," 47 | ], 48 | [ 49 | 8, 50 | "then with ˹the knowledge of˺ right and wrong inspired it!" 51 | ], 52 | [ 53 | 9, 54 | "Successful indeed is the one who purifies their soul," 55 | ], 56 | [ 57 | 10, 58 | "and doomed is the one who corrupts it!" 59 | ], 60 | [ 61 | 11, 62 | "Thamûd rejected ˹the truth˺ out of arrogance," 63 | ], 64 | [ 65 | 12, 66 | "when the most wicked of them was roused ˹to kill the she-camel˺." 67 | ], 68 | [ 69 | 13, 70 | "But the messenger of Allah warned them, “˹Do not disturb˺ Allah’s camel and her ˹turn to˺ drink!”" 71 | ], 72 | [ 73 | 14, 74 | "Still they defied him and slaughtered her. So their Lord crushed them for their crime, levelling all to the ground." 75 | ], 76 | [ 77 | 15, 78 | "He has no fear of consequences." 79 | ] 80 | ] -------------------------------------------------------------------------------- /quran/data/92.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 92, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Night", 7 | "transliterated": "Al-Layl", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1604, 12 | 1610, 13 | 1604 14 | ] 15 | }, 16 | "ayahs": 21, 17 | "slug": "al-layl", 18 | "translator": "Dr. Mustafa Khattab" 19 | }, 20 | [ 21 | 1, 22 | "By the night when it covers," 23 | ], 24 | [ 25 | 2, 26 | "and the day when it shines!" 27 | ], 28 | [ 29 | 3, 30 | "And by ˹the One˺ Who created male and female!" 31 | ], 32 | [ 33 | 4, 34 | "Surely the ends you strive for are diverse." 35 | ], 36 | [ 37 | 5, 38 | "As for the one who is charitable, mindful ˹of Allah˺," 39 | ], 40 | [ 41 | 6, 42 | "and ˹firmly˺ believes in the finest reward," 43 | ], 44 | [ 45 | 7, 46 | "We will facilitate for them the Way of Ease." 47 | ], 48 | [ 49 | 8, 50 | "And as for the one who is stingy, indifferent ˹to Allah˺," 51 | ], 52 | [ 53 | 9, 54 | "and ˹staunchly˺ denies the finest reward," 55 | ], 56 | [ 57 | 10, 58 | "We will facilitate for them the path of hardship." 59 | ], 60 | [ 61 | 11, 62 | "And their wealth will be of no benefit to them when they tumble ˹into Hell˺." 63 | ], 64 | [ 65 | 12, 66 | "It is certainly upon Us ˹alone˺ to show ˹the way to˺ guidance." 67 | ], 68 | [ 69 | 13, 70 | "And surely to Us ˹alone˺ belong this life and the next." 71 | ], 72 | [ 73 | 14, 74 | "And so I have warned you of a raging Fire," 75 | ], 76 | [ 77 | 15, 78 | "in which none will burn except the most wretched—" 79 | ], 80 | [ 81 | 16, 82 | "who deny and turn away." 83 | ], 84 | [ 85 | 17, 86 | "But the righteous will be spared from it—" 87 | ], 88 | [ 89 | 18, 90 | "who donate ˹some of˺ their wealth only to purify themselves," 91 | ], 92 | [ 93 | 19, 94 | "not in return for someone’s favours," 95 | ], 96 | [ 97 | 20, 98 | "but seeking the pleasure of their Lord, the Most High." 99 | ], 100 | [ 101 | 21, 102 | "They will certainly be pleased." 103 | ] 104 | ] -------------------------------------------------------------------------------- /quran/data/93.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 93, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Morning Hours", 7 | "transliterated": "Ad-Duhaa", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1590, 12 | 1581, 13 | 1609 14 | ] 15 | }, 16 | "ayahs": 11, 17 | "slug": "ad-duhaa", 18 | "translator": "Dr. Mustafa Khattab" 19 | }, 20 | [ 21 | 1, 22 | "By the morning sunlight," 23 | ], 24 | [ 25 | 2, 26 | "and the night when it falls still!" 27 | ], 28 | [ 29 | 3, 30 | "Your Lord ˹O Prophet˺ has not abandoned you, nor has He become hateful ˹of you˺." 31 | ], 32 | [ 33 | 4, 34 | "And the next life is certainly far better for you than this one." 35 | ], 36 | [ 37 | 5, 38 | "And ˹surely˺ your Lord will give so much to you that you will be pleased." 39 | ], 40 | [ 41 | 6, 42 | "Did He not find you as an orphan then sheltered you?" 43 | ], 44 | [ 45 | 7, 46 | "Did He not find you unguided then guided you?" 47 | ], 48 | [ 49 | 8, 50 | "And did He not find you needy then satisfied your needs?" 51 | ], 52 | [ 53 | 9, 54 | "So do not oppress the orphan," 55 | ], 56 | [ 57 | 10, 58 | "nor repulse the beggar." 59 | ], 60 | [ 61 | 11, 62 | "And proclaim the blessings of your Lord." 63 | ] 64 | ] -------------------------------------------------------------------------------- /quran/data/94.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 94, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Relief", 7 | "transliterated": "Ash-Sharh", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1588, 12 | 1585, 13 | 1581 14 | ] 15 | }, 16 | "ayahs": 8, 17 | "slug": "ash-sharh", 18 | "translator": "Dr. Mustafa Khattab" 19 | }, 20 | [ 21 | 1, 22 | "Have We not uplifted your heart for you ˹O Prophet˺," 23 | ], 24 | [ 25 | 2, 26 | "relieved you of the burden" 27 | ], 28 | [ 29 | 3, 30 | "which weighed so heavily on your back," 31 | ], 32 | [ 33 | 4, 34 | "and elevated your renown for you?" 35 | ], 36 | [ 37 | 5, 38 | "So, surely with hardship comes ease." 39 | ], 40 | [ 41 | 6, 42 | "Surely with ˹that˺ hardship comes ˹more˺ ease." 43 | ], 44 | [ 45 | 7, 46 | "So once you have fulfilled ˹your duty˺, strive ˹in devotion˺," 47 | ], 48 | [ 49 | 8, 50 | "turning to your Lord ˹alone˺ with hope." 51 | ] 52 | ] -------------------------------------------------------------------------------- /quran/data/95.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 95, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Fig", 7 | "transliterated": "At-Tin", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1578, 12 | 1610, 13 | 1606 14 | ] 15 | }, 16 | "ayahs": 8, 17 | "slug": "at-tin", 18 | "translator": "Dr. Mustafa Khattab" 19 | }, 20 | [ 21 | 1, 22 | "By the fig and the olive ˹of Jerusalem˺," 23 | ], 24 | [ 25 | 2, 26 | "and Mount Sinai," 27 | ], 28 | [ 29 | 3, 30 | "and this secure city ˹of Mecca˺!" 31 | ], 32 | [ 33 | 4, 34 | "Indeed, We created humans in the best form." 35 | ], 36 | [ 37 | 5, 38 | "But We will reduce them to the lowest of the low ˹in Hell˺," 39 | ], 40 | [ 41 | 6, 42 | "except those who believe and do good—they will have a never-ending reward." 43 | ], 44 | [ 45 | 7, 46 | "Now, what makes you deny the ˹final˺ Judgment?" 47 | ], 48 | [ 49 | 8, 50 | "Is Allah not the most just of all judges?" 51 | ] 52 | ] -------------------------------------------------------------------------------- /quran/data/96.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 96, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Clot", 7 | "transliterated": "Al-'Alaq", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1593, 12 | 1604, 13 | 1602 14 | ] 15 | }, 16 | "ayahs": 19, 17 | "slug": "al-alaq", 18 | "translator": "Dr. Mustafa Khattab" 19 | }, 20 | [ 21 | 1, 22 | "Read, ˹O Prophet,˺ in the Name of your Lord Who created—" 23 | ], 24 | [ 25 | 2, 26 | "created humans from a clinging clot." 27 | ], 28 | [ 29 | 3, 30 | "Read! And your Lord is the Most Generous," 31 | ], 32 | [ 33 | 4, 34 | "Who taught by the pen—" 35 | ], 36 | [ 37 | 5, 38 | "taught humanity what they knew not. " 39 | ], 40 | [ 41 | 6, 42 | "Most certainly, one exceeds all bounds" 43 | ], 44 | [ 45 | 7, 46 | "once they think they are self-sufficient." 47 | ], 48 | [ 49 | 8, 50 | "˹But˺ surely to your Lord is the return ˹of all˺." 51 | ], 52 | [ 53 | 9, 54 | "Have you seen the man who prevents" 55 | ], 56 | [ 57 | 10, 58 | "a servant ˹of Ours˺ from praying?" 59 | ], 60 | [ 61 | 11, 62 | "What if this ˹servant˺ is ˹rightly˺ guided," 63 | ], 64 | [ 65 | 12, 66 | "or encourages righteousness?" 67 | ], 68 | [ 69 | 13, 70 | "What if that ˹man˺ persists in denial and turns away?" 71 | ], 72 | [ 73 | 14, 74 | "Does he not know that Allah sees ˹all˺?" 75 | ], 76 | [ 77 | 15, 78 | "But no! If he does not desist, We will certainly drag him by the forelock—" 79 | ], 80 | [ 81 | 16, 82 | "a lying, sinful forelock." 83 | ], 84 | [ 85 | 17, 86 | "So let him call his associates." 87 | ], 88 | [ 89 | 18, 90 | "We will call the wardens of Hell." 91 | ], 92 | [ 93 | 19, 94 | "Again, no! Never obey him ˹O Prophet˺! Rather, ˹continue to˺ prostrate and draw near ˹to Allah˺." 95 | ] 96 | ] -------------------------------------------------------------------------------- /quran/data/97.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 97, 4 | "city": "makkah", 5 | "name": { 6 | "translated": "The Power", 7 | "transliterated": "Al-Qadr", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1602, 12 | 1583, 13 | 1585 14 | ] 15 | }, 16 | "ayahs": 5, 17 | "slug": "al-qadr", 18 | "translator": "Dr. Mustafa Khattab" 19 | }, 20 | [ 21 | 1, 22 | "Indeed, ˹it is˺ We ˹Who˺ sent this ˹Quran˺ down on the Night of Glory." 23 | ], 24 | [ 25 | 2, 26 | "And what will make you realize what the Night of Glory is?" 27 | ], 28 | [ 29 | 3, 30 | "The Night of Glory is better than a thousand months." 31 | ], 32 | [ 33 | 4, 34 | "That night the angels and the ˹holy˺ spirit descend, by the permission of their Lord, for every ˹decreed˺ matter." 35 | ], 36 | [ 37 | 5, 38 | "It is all peace until the break of dawn." 39 | ] 40 | ] -------------------------------------------------------------------------------- /quran/data/98.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 98, 4 | "city": "madinah", 5 | "name": { 6 | "translated": "The Clear Proof", 7 | "transliterated": "Al-Bayyinah", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1576, 12 | 1610, 13 | 1606, 14 | 1577 15 | ] 16 | }, 17 | "ayahs": 8, 18 | "slug": "al-bayyinah", 19 | "translator": "Dr. Mustafa Khattab" 20 | }, 21 | [ 22 | 1, 23 | "The disbelievers from the People of the Book and the polytheists were not going to desist ˹from disbelief˺ until the clear proof came to them:" 24 | ], 25 | [ 26 | 2, 27 | "a messenger from Allah, reciting scrolls of ˹utmost˺ purity," 28 | ], 29 | [ 30 | 3, 31 | "containing upright commandments." 32 | ], 33 | [ 34 | 4, 35 | "It was not until this clear proof came to the People of the Book that they became divided ˹about his prophethood˺—" 36 | ], 37 | [ 38 | 5, 39 | "even though they were only commanded to worship Allah ˹alone˺ with sincere devotion to Him in all uprightness, establish prayer, and pay alms-tax. That is the upright Way." 40 | ], 41 | [ 42 | 6, 43 | "Indeed, those who disbelieve from the People of the Book and the polytheists will be in the Fire of Hell, to stay there forever. They are the worst of ˹all˺ beings." 44 | ], 45 | [ 46 | 7, 47 | "Indeed, those who believe and do good—they are the best of ˹all˺ beings." 48 | ], 49 | [ 50 | 8, 51 | "Their reward with their Lord will be Gardens of Eternity, under which rivers flow, to stay there for ever and ever. Allah is pleased with them and they are pleased with Him. This is ˹only˺ for those in awe of their Lord." 52 | ] 53 | ] -------------------------------------------------------------------------------- /quran/data/99.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 99, 4 | "city": "madinah", 5 | "name": { 6 | "translated": "The Earthquake", 7 | "transliterated": "Az-Zalzalah", 8 | "codepoints": [ 9 | 1575, 10 | 1604, 11 | 1586, 12 | 1604, 13 | 1586, 14 | 1604, 15 | 1577 16 | ] 17 | }, 18 | "ayahs": 8, 19 | "slug": "az-zalzalah", 20 | "translator": "Dr. Mustafa Khattab" 21 | }, 22 | [ 23 | 1, 24 | "When the earth is shaken ˹in˺ its ultimate quaking," 25 | ], 26 | [ 27 | 2, 28 | "and when the earth throws out ˹all˺ its contents," 29 | ], 30 | [ 31 | 3, 32 | "and humanity cries, “What is wrong with it?”—" 33 | ], 34 | [ 35 | 4, 36 | "on that Day the earth will recount everything," 37 | ], 38 | [ 39 | 5, 40 | "having been inspired by your Lord ˹to do so˺." 41 | ], 42 | [ 43 | 6, 44 | "On that Day people will proceed in separate groups to be shown ˹the consequences of˺ their deeds." 45 | ], 46 | [ 47 | 7, 48 | "So whoever does an atom’s weight of good will see it." 49 | ], 50 | [ 51 | 8, 52 | "And whoever does an atom’s weight of evil will see it." 53 | ] 54 | ] -------------------------------------------------------------------------------- /quran/data/words/1.json: -------------------------------------------------------------------------------- 1 | {"1":{"w":[{"b":"0.06","h":"0.05","c":"بِسْمِ","d":"bis'mi","e":"In (the) name"},{"b":"0.62","h":"0.52","c":"اللَّهِ","d":"l-lahi","e":"(of) Allah"},{"b":"1.3","h":"1.19","c":"الرَّحْمَنِ","d":"l-raḥmāni","e":"the Most Gracious"},{"b":"2.4","h":"2.35","c":"الرَّحِيمِ","d":"l-raḥīmi","e":"the Most Merciful"}],"a":{"g":"In the name of Allah, the Entirely Merciful, the Especially Merciful."}},"2":{"w":[{"b":"0.08","h":"0.7","c":"الْحَمْدُ","d":"al-ḥamdu","e":"All praises and thanks"},{"b":"0.97","h":"1.42","c":"لِلَّهِ","d":"lillahi","e":"(be) to Allah"},{"b":"1.8","h":"2.21","c":"رَبِّ","d":"rabbi","e":"(the) Lord"},{"b":"2.4","h":"2.89","c":"الْعَالَمِينَ","d":"l-ʿālamīna","e":"(of all) the worlds"}],"a":{"g":"[All] praise is [due] to Allah, Lord of the worlds -"}},"3":{"w":[{"b":"0.04","h":"0.15","c":"الرَّحْمَنِ","d":"al-raḥmāni","e":"The Most Gracious"},{"b":"1.2","h":"1.41","c":"الرَّحِيمِ","d":"l-raḥīmi","e":"the Most Merciful"}],"a":{"g":"The Entirely Merciful, the Especially Merciful,"}},"4":{"w":[{"b":"0.06","h":"0","c":"مَالِكِ","d":"māliki","e":"Master"},{"b":"0.85","h":"1.05","c":"يَوْمِ","d":"yawmi","e":"(of the) Day"},{"b":"1.4","h":"1.67","c":"الدِّينِ","d":"l-dīni","e":"(of) [the] Judgment"}],"a":{"g":"Sovereign of the Day of Recompense."}},"5":{"w":[{"b":"0.03","h":"0.35","c":"إِيَّاكَ","d":"iyyāka","e":"You Alone"},{"b":"0.98","h":"1.32","c":"نَعْبُدُ","d":"naʿbudu","e":"we worship"},{"b":"1.7","h":"2.22","c":"وَإِيَّاكَ","d":"wa-iyyāka","e":"and You Alone"},{"b":"2.8","h":"3.52","c":"نَسْتَعِينُ","d":"nastaʿīnu","e":"we ask for help"}],"a":{"g":"It is You we worship and You we ask for help."}},"6":{"w":[{"b":"0.03","h":"0.3","c":"اهْدِنَا","d":"ih'dinā","e":"Guide us"},{"b":"0.68","h":"0.88","c":"الصِّرَاطَ","d":"l-ṣirāṭa","e":"(to) the path"},{"b":"1.6","h":"1.8","c":"الْمُسْتَقِيمَ","d":"l-mus'taqīma","e":"the straight"}],"a":{"g":"Guide us to the straight path -"}},"7":{"w":[{"b":"0.03","h":"0.45","c":"صِرَاطَ","d":"ṣirāṭa","e":"(The) path"},{"b":"0.75","h":"1.21","c":"الَّذِينَ","d":"alladhīna","e":"(of) those"},{"b":"1.7","h":"2.12","c":"أَنْعَمْتَ","d":"anʿamta","e":"You have bestowed (Your) Favors"},{"b":"2.6","h":"3.08","c":"عَلَيْهِمْ","d":"ʿalayhim","e":"on them"},{"b":"3.6","h":"4.23","c":"غَيْرِ","d":"ghayri","e":"not (of)"},{"b":"4.2","h":"4.95","c":"الْمَغْضُوبِ","d":"l-maghḍūbi","e":"those who earned (Your) wrath"},{"b":"5.3","h":"6.21","c":"عَلَيْهِمْ","d":"ʿalayhim","e":"on themselves"},{"b":"6.3","h":"7.38","c":"وَلَا","d":"walā","e":"and not"},{"b":"6.6","h":"7.7","c":"الضَّالِّينَ","d":"l-ḍālīna","e":"(of) those who go astray"}],"a":{"g":"The path of those upon whom You have bestowed favor, not of those who have evoked [Your] anger or of those who are astray."}}} -------------------------------------------------------------------------------- /quran/data/words/101.json: -------------------------------------------------------------------------------- 1 | {"1":{"w":[{"b":"0.15","h":"0.4","c":"الْقَارِعَةُ","d":"al-qāriʿatu","e":"The Striking Calamity!"}],"a":{"g":"The Striking Calamity -"}},"2":{"w":[{"b":"0.04","h":"0.48","c":"مَا","d":"mā","e":"What"},{"b":"0.25","h":"0.73","c":"الْقَارِعَةُ","d":"l-qāriʿatu","e":"(is) the Striking Calamity"}],"a":{"g":"What is the Striking Calamity?"}},"3":{"w":[{"b":"0.04","h":"0.42","c":"وَمَا","d":"wamā","e":"And what"},{"b":"0.34","h":"2.44","c":"أَدْرَاكَ","d":"adrāka","e":"will make you know"},{"b":"3.6","h":"4.37","c":"مَا","d":"mā","e":"what"},{"b":"3.7","h":"4.73","c":"الْقَارِعَةُ","d":"l-qāriʿatu","e":"(is) the Striking Calamity"}],"a":{"g":"And what can make you know what is the Striking Calamity?"}},"4":{"w":[{"b":"0.09","h":"0.55","c":"يَوْمَ","d":"yawma","e":"(The) Day"},{"b":"0.62","h":"1.42","c":"يَكُونُ","d":"yakūnu","e":"will be"},{"b":"1.5","h":"3.18","c":"النَّاسُ","d":"l-nāsu","e":"the mankind"},{"b":"3.0","h":"4.8","c":"كَالْفَرَاشِ","d":"kal-farāshi","e":"like moths"},{"b":"4.4","h":"7.07","c":"الْمَبْثُوثِ","d":"l-mabthūthi","e":"scattered"}],"a":{"g":"It is the Day when people will be like moths, dispersed,"}},"5":{"w":[{"b":"0.08","h":"0.15","c":"وَتَكُونُ","d":"watakūnu","e":"And will be"},{"b":"1.1","h":"1.89","c":"الْجِبَالُ","d":"l-jibālu","e":"the mountains"},{"b":"2.2","h":"3.6","c":"كَالْعِهْنِ","d":"kal-ʿih'ni","e":"like wool"},{"b":"3.3","h":"5.62","c":"الْمَنْفُوشِ","d":"l-manfūshi","e":"fluffed up"}],"a":{"g":"And the mountains will be like wool, fluffed up."}},"6":{"w":[{"b":"0.05","h":"0.35","c":"فَأَمَّا","d":"fa-ammā","e":"Then as for"},{"b":"1.9","h":"2.51","c":"مَنْ","d":"man","e":"(him) whose"},{"b":"2.9","h":"3.73","c":"ثَقُلَتْ","d":"thaqulat","e":"are heavy"},{"b":"3.8","h":"5.3","c":"مَوَازِينُهُ","d":"mawāzīnuhu","e":"his scales"}],"a":{"g":"Then as for one whose scales are heavy [with good deeds],"}},"7":{"w":[{"b":"0.03","h":"0.5","c":"فَهُوَ","d":"fahuwa","e":"Then he"},{"b":"0.63","h":"1.41","c":"فِي","d":"fī","e":"(will be) in"},{"b":"1.0","h":"2.16","c":"عِيشَةٍ","d":"ʿīshatin","e":"a life"},{"b":"1.9","h":"3.78","c":"رَاضِيَةٍ","d":"rāḍiyatin","e":"pleasant"}],"a":{"g":"He will be in a pleasant life."}},"8":{"w":[{"b":"0.03","h":"0.55","c":"وَأَمَّا","d":"wa-ammā","e":"But as for"},{"b":"1.8","h":"2.69","c":"مَنْ","d":"man","e":"(him) whose"},{"b":"2.2","h":"3.31","c":"خَفَّتْ","d":"khaffat","e":"are light"},{"b":"3.1","h":"4.95","c":"مَوَازِينُهُ","d":"mawāzīnuhu","e":"his scales"}],"a":{"g":"But as for one whose scales are light,"}},"9":{"w":[{"b":"0.03","h":"0.35","c":"فَأُمُّهُ","d":"fa-ummuhu","e":"His abode"},{"b":"1.9","h":"2.82","c":"هَاوِيَةٌ","d":"hāwiyatun","e":"(will be the) Pit"}],"a":{"g":"His refuge will be an abyss."}},"10":{"w":[{"b":"0.03","h":"0.35","c":"وَمَا","d":"wamā","e":"And what"},{"b":"1.9","h":"2.15","c":"أَدْرَاكَ","d":"adrāka","e":"will make you know"},{"b":"3.0","h":"4.35","c":"مَا","d":"mā","e":"what"},{"b":"3.4","h":"5.21","c":"هِيَهْ","d":"hiyah","e":"it is"}],"a":{"g":"And what can make you know what that is?"}},"11":{"w":[{"b":"0.1","h":"0.4","c":"نَارٌ","d":"nārun","e":"A Fire"},{"b":"0.91","h":"2.06","c":"حَامِيَةٌ","d":"ḥāmiyatun","e":"intensely hot"}],"a":{"g":"It is a Fire, intensely hot."}}} -------------------------------------------------------------------------------- /quran/data/words/102.json: -------------------------------------------------------------------------------- 1 | {"1":{"w":[{"b":"0.15","h":"0.3","c":"أَلْهَاكُمُ","d":"alhākumu","e":"Diverts you"},{"b":"1.3","h":"2.33","c":"التَّكَاثُرُ","d":"l-takāthuru","e":"the competition to increase"}],"a":{"g":"Competition in [worldly] increase diverts you"}},"2":{"w":[{"b":"0.03","h":"0.3","c":"حَتَّى","d":"ḥattā","e":"Until"},{"b":"0.88","h":"1.7","c":"زُرْتُمُ","d":"zur'tumu","e":"you visit"},{"b":"1.7","h":"3.15","c":"الْمَقَابِرَ","d":"l-maqābira","e":"the graves"}],"a":{"g":"Until you visit the graveyards."}},"3":{"w":[{"b":"0.03","h":"0.55","c":"كَلَّا","d":"kallā","e":"Nay!"},{"b":"0.82","h":"1.81","c":"سَوْفَ","d":"sawfa","e":"Soon"},{"b":"1.5","h":"2.97","c":"تَعْلَمُونَ","d":"taʿlamūna","e":"you will know"}],"a":{"g":"No! You are going to know."}},"4":{"w":[{"b":"0.03","h":"0.2","c":"ثُمَّ","d":"thumma","e":"Then"},{"b":"1.6","h":"1.5","c":"كَلَّا","d":"kallā","e":"nay!"},{"b":"2.5","h":"2.96","c":"سَوْفَ","d":"sawfa","e":"Soon"},{"b":"3.2","h":"4.09","c":"تَعْلَمُونَ","d":"taʿlamūna","e":"you will know"}],"a":{"g":"Then no! You are going to know."}},"5":{"w":[{"b":"0.05","h":"0.2","c":"كَلَّا","d":"kallā","e":"Nay!"},{"b":"0.91","h":"1.44","c":"لَوْ","d":"law","e":"If"},{"b":"1.2","h":"2.09","c":"تَعْلَمُونَ","d":"taʿlamūna","e":"you know"},{"b":"2.5","h":"4.23","c":"عِلْمَ","d":"ʿil'ma","e":"(with) a knowledge"},{"b":"3.1","h":"5.43","c":"الْيَقِينِ","d":"l-yaqīni","e":"(of) certainty"}],"a":{"g":"No! If you only knew with knowledge of certainty..."}},"6":{"w":[{"b":"0.15","h":"0.3","c":"لَتَرَوُنَّ","d":"latarawunna","e":"Surely you will see"},{"b":"2.2","h":"2.77","c":"الْجَحِيمَ","d":"l-jaḥīma","e":"the Hellfire"}],"a":{"g":"You will surely see the Hellfire."}},"7":{"w":[{"b":"0.04","h":"0.25","c":"ثُمَّ","d":"thumma","e":"Then"},{"b":"1.1","h":"1.49","c":"لَتَرَوُنَّهَا","d":"latarawunnahā","e":"surely you will see it"},{"b":"3.8","h":"4.62","c":"عَيْنَ","d":"ʿayna","e":"(with the) eye"},{"b":"4.4","h":"5.83","c":"الْيَقِينِ","d":"l-yaqīni","e":"(of) certainty"}],"a":{"g":"Then you will surely see it with the eye of certainty."}},"8":{"w":[{"b":"0.03","h":"0.3","c":"ثُمَّ","d":"thumma","e":"Then"},{"b":"1.6","h":"1.83","c":"لَتُسْءَلُنَّ","d":"latus'alunna","e":"surely you will be asked"},{"b":"3.8","h":"4.66","c":"يَوْمَئِذٍ","d":"yawma-idhin","e":"that Day"},{"b":"5.1","h":"6.66","c":"عَنِ","d":"ʿani","e":"about"},{"b":"5.6","h":"7.58","c":"النَّعِيمِ","d":"l-naʿīmi","e":"the pleasures"}],"a":{"g":"Then you will surely be asked that Day about pleasure."}}} -------------------------------------------------------------------------------- /quran/data/words/103.json: -------------------------------------------------------------------------------- 1 | {"1":{"w":[{"b":"0.03","h":"0.2","c":"وَالْعَصْرِ","d":"wal-ʿaṣri","e":"By the time"}],"a":{"g":"By time,"}},"2":{"w":[{"b":"0.03","h":"0.35","c":"إِنَّ","d":"inna","e":"Indeed"},{"b":"1.2","h":"1.52","c":"الْإِنْسَانَ","d":"l-insāna","e":"mankind"},{"b":"3.8","h":"4.18","c":"لَفِي","d":"lafī","e":"(is) surely in"},{"b":"4.4","h":"5.37","c":"خُسْرٍ","d":"khus'rin","e":"loss"}],"a":{"g":"Indeed, mankind is in loss,"}},"3":{"w":[{"b":"0.05","h":"0.85","c":"إِلَّا","d":"illā","e":"Except"},{"b":"0.61","h":"1.62","c":"الَّذِينَ","d":"alladhīna","e":"those who"},{"b":"1.7","h":"3.31","c":"ءَامَنُوا","d":"āmanū","e":"believe"},{"b":"2.9","h":"5.06","c":"وَعَمِلُوا","d":"waʿamilū","e":"and do"},{"b":"3.7","h":"6.27","c":"الصَّالِحَاتِ","d":"l-ṣāliḥāti","e":"righteous deeds"},{"b":"5.3","h":"8.88","c":"وَتَوَاصَوْا","d":"watawāṣaw","e":"and enjoin each other"},{"b":"6.6","h":"11.14","c":"بِالْحَقِّ","d":"bil-ḥaqi","e":"to the truth"},{"b":"7.7","h":"12.83","c":"وَتَوَاصَوْا","d":"watawāṣaw","e":"and enjoin each other"},{"b":"9.0","h":"15.35","c":"بِالصَّبْرِ","d":"bil-ṣabri","e":"to [the] patience"}],"a":{"g":"Except for those who have believed and done righteous deeds and advised each other to truth and advised each other to patience."}}} -------------------------------------------------------------------------------- /quran/data/words/104.json: -------------------------------------------------------------------------------- 1 | {"1":{"w":[{"b":"0.03","h":"0.25","c":"وَيْلٌ","d":"waylun","e":"Woe"},{"b":"0.82","h":"1.12","c":"لِكُلِّ","d":"likulli","e":"to every"},{"b":"1.8","h":"2.7","c":"هُمَزَةٍ","d":"humazatin","e":"slanderer"},{"b":"2.8","h":"4.12","c":"لُمَزَةٍ","d":"lumazatin","e":"backbiter!"}],"a":{"g":"Woe to every scorner and mocker"}},"2":{"w":[{"b":"0.03","h":"0.65","c":"الَّذِي","d":"alladhī","e":"The one who"},{"b":"1.0","h":"2.21","c":"جَمَعَ","d":"jamaʿa","e":"collects"},{"b":"1.8","h":"3.26","c":"مَالًا","d":"mālan","e":"wealth"},{"b":"2.5","h":"4.32","c":"وَعَدَّدَهُ","d":"waʿaddadahu","e":"and counts it"}],"a":{"g":"Who collects wealth and [continuously] counts it."}},"3":{"w":[{"b":"0.06","h":"0.5","c":"يَحْسَبُ","d":"yaḥsabu","e":"Thinking"},{"b":"0.92","h":"1.79","c":"أَنَّ","d":"anna","e":"that"},{"b":"2.3","h":"3.08","c":"مَالَهُ","d":"mālahu","e":"his wealth"},{"b":"4.8","h":"5.62","c":"أَخْلَدَهُ","d":"akhladahu","e":"will make him immortal"}],"a":{"g":"He thinks that his wealth will make him immortal."}},"4":{"w":[{"b":"0.03","h":"0.7","c":"كَلَّا","d":"kallā","e":"Nay!"},{"b":"1.6","h":"3.25","c":"لَيُنْبَذَنَّ","d":"layunbadhanna","e":"Surely he will be thrown"},{"b":"4.8","h":"6.14","c":"فِي","d":"fī","e":"in"},{"b":"5.0","h":"6.58","c":"الْحُطَمَةِ","d":"l-ḥuṭamati","e":"the Crusher"}],"a":{"g":"No! He will surely be thrown into the Crusher."}},"5":{"w":[{"b":"0.03","h":"0.35","c":"وَمَا","d":"wamā","e":"And what"},{"b":"1.4","h":"2.44","c":"أَدْرَاكَ","d":"adrāka","e":"will make you know"},{"b":"3.0","h":"4.31","c":"مَا","d":"mā","e":"what"},{"b":"3.2","h":"4.62","c":"الْحُطَمَةُ","d":"l-ḥuṭamatu","e":"the Crusher (is)"}],"a":{"g":"And what can make you know what is the Crusher?"}},"6":{"w":[{"b":"0.05","h":"0.9","c":"نَارُ","d":"nāru","e":"A Fire"},{"b":"0.67","h":"2.09","c":"اللَّهِ","d":"l-lahi","e":"Allah"},{"b":"1.6","h":"3.57","c":"الْمُوقَدَةُ","d":"l-mūqadatu","e":"kindled"}],"a":{"g":"It is the fire of Allah, [eternally] fueled,"}},"7":{"w":[{"b":"0.03","h":"0.06","c":"الَّتِي","d":"allatī","e":"Which"},{"b":"1.0","h":"1.78","c":"تَطَّلِعُ","d":"taṭṭaliʿu","e":"mounts up"},{"b":"2.0","h":"3.61","c":"عَلَى","d":"ʿalā","e":"to"},{"b":"2.5","h":"4.42","c":"الْأَفْئِدَةِ","d":"l-afidati","e":"the hearts"}],"a":{"g":"Which mounts directed at the hearts."}},"8":{"w":[{"b":"0.03","h":"0.15","c":"إِنَّهَا","d":"innahā","e":"Indeed it"},{"b":"1.8","h":"2.23","c":"عَلَيْهِمْ","d":"ʿalayhim","e":"(will be) upon them"},{"b":"2.8","h":"4.63","c":"مُؤْصَدَةٌ","d":"mu'ṣadatun","e":"closed over"}],"a":{"g":"Indeed, Hellfire will be closed down upon them"}},"9":{"w":[{"b":"0.03","h":"0.3","c":"فِي","d":"fī","e":"In"},{"b":"0.37","h":"0.82","c":"عَمَدٍ","d":"ʿamadin","e":"columns"},{"b":"2.4","h":"3.05","c":"مُمَدَّدَةٍ","d":"mumaddadatin","e":"extended"}],"a":{"g":"In extended columns."}}} -------------------------------------------------------------------------------- /quran/data/words/105.json: -------------------------------------------------------------------------------- 1 | {"1":{"w":[{"b":"0.05","h":"0.04","c":"أَلَمْ","d":"alam","e":"Have not"},{"b":"0.57","h":"0.77","c":"تَرَ","d":"tara","e":"you seen"},{"b":"1.0","h":"1.48","c":"كَيْفَ","d":"kayfa","e":"how"},{"b":"1.6","h":"2.57","c":"فَعَلَ","d":"faʿala","e":"dealt"},{"b":"2.3","h":"3.63","c":"رَبُّكَ","d":"rabbuka","e":"your Lord"},{"b":"3.2","h":"5.14","c":"بِأَصْحَابِ","d":"bi-aṣḥābi","e":"with (the) Companions"},{"b":"4.5","h":"7.32","c":"الْفِيلِ","d":"l-fīli","e":"(of the) Elephant"}],"a":{"g":"Have you not considered, [O Muhammad], how your Lord dealt with the companions of the elephant?"}},"2":{"w":[{"b":"0.15","h":"0.4","c":"أَلَمْ","d":"alam","e":"Did not"},{"b":"0.62","h":"1.12","c":"يَجْعَلْ","d":"yajʿal","e":"He make"},{"b":"1.4","h":"2.46","c":"كَيْدَهُمْ","d":"kaydahum","e":"their plan"},{"b":"2.5","h":"4.25","c":"فِي","d":"fī","e":"go"},{"b":"2.9","h":"5","c":"تَضْلِيلٍ","d":"taḍlīlin","e":"astray"}],"a":{"g":"Did He not make their plan into misguidance?"}},"3":{"w":[{"b":"0.05","h":"0.3","c":"وَأَرْسَلَ","d":"wa-arsala","e":"And He sent"},{"b":"1.0","h":"1.66","c":"عَلَيْهِمْ","d":"ʿalayhim","e":"against them"},{"b":"2.1","h":"3.65","c":"طَيْرًا","d":"ṭayran","e":"birds"},{"b":"2.9","h":"5.38","c":"أَبَابِيلَ","d":"abābīla","e":"(in) flocks"}],"a":{"g":"And He sent against them birds in flocks,"}},"4":{"w":[{"b":"0.03","h":"0.1","c":"تَرْمِيهِمْ","d":"tarmīhim","e":"Striking them"},{"b":"2.0","h":"2.42","c":"بِحِجَارَةٍ","d":"biḥijāratin","e":"with stones"},{"b":"4.6","h":"5.47","c":"مِنْ","d":"min","e":"of"},{"b":"5.6","h":"6.36","c":"سِجِّيلٍ","d":"sijjīlin","e":"baked clay"}],"a":{"g":"Striking them with stones of hard clay,"}},"5":{"w":[{"b":"0.03","h":"0.15","c":"فَجَعَلَهُمْ","d":"fajaʿalahum","e":"Then He made them"},{"b":"1.2","h":"1.92","c":"كَعَصْفٍ","d":"kaʿaṣfin","e":"like straw"},{"b":"3.5","h":"4.57","c":"مَأْكُولٍ","d":"makūlin","e":"eaten up"}],"a":{"g":"And He made them like eaten straw."}}} -------------------------------------------------------------------------------- /quran/data/words/106.json: -------------------------------------------------------------------------------- 1 | {"1":{"w":[{"b":"0.03","h":"0.55","c":"لِإِيلَافِ","d":"liīlāfi","e":"For (the) familiarity"},{"b":"1.2","h":"2.39","c":"قُرَيْشٍ","d":"qurayshin","e":"(of the) Quraish"}],"a":{"g":"For the accustomed security of the Quraysh -"}},"2":{"w":[{"b":"0.03","h":"0.5","c":"إِيلَافِهِمْ","d":"īlāfihim","e":"Their familiarity"},{"b":"1.4","h":"2.77","c":"رِحْلَةَ","d":"riḥ'lata","e":"(with the) journey"},{"b":"2.2","h":"4.2","c":"الشِّتَاءِ","d":"l-shitāi","e":"(of) winter"},{"b":"4.9","h":"7.1","c":"وَالصَّيْفِ","d":"wal-ṣayfi","e":"and summer"}],"a":{"g":"Their accustomed security [in] the caravan of winter and summer -"}},"3":{"w":[{"b":"0.03","h":"0.9","c":"فَلْيَعْبُدُوا","d":"falyaʿbudū","e":"So let them worship"},{"b":"1.4","h":"3.2","c":"رَبَّ","d":"rabba","e":"(the) Lord"},{"b":"2.0","h":"4.3","c":"هَذَا","d":"hādhā","e":"(of) this"},{"b":"2.7","h":"5.48","c":"الْبَيْتِ","d":"l-bayti","e":"House"}],"a":{"g":"Let them worship the Lord of this House,"}},"4":{"w":[{"b":"0.04","h":"0.3","c":"الَّذِي","d":"alladhī","e":"The One Who"},{"b":"2.2","h":"2.68","c":"أَطْعَمَهُمْ","d":"aṭʿamahum","e":"feeds them"},{"b":"4.3","h":"5.25","c":"مِنْ","d":"min","e":"against"},{"b":"5.4","h":"6.36","c":"جُوعٍ","d":"jūʿin","e":"hunger"},{"b":"6.2","h":"8.19","c":"وَءَامَنَهُمْ","d":"waāmanahum","e":"and gives them security"},{"b":"9.4","h":"11.28","c":"مِنْ","d":"min","e":"against"},{"b":"9.8","h":"11.92","c":"خَوْفٍ","d":"khawfin","e":"fear"}],"a":{"g":"Who has fed them, [saving them] from hunger and made them safe, [saving them] from fear."}}} -------------------------------------------------------------------------------- /quran/data/words/107.json: -------------------------------------------------------------------------------- 1 | {"1":{"w":[{"b":"0.15","h":"0.15","c":"أَرَءَيْتَ","d":"ara-ayta","e":"Have you seen"},{"b":"1.0","h":"1.61","c":"الَّذِي","d":"alladhī","e":"the one who"},{"b":"1.8","h":"3.06","c":"يُكَذِّبُ","d":"yukadhibu","e":"denies"},{"b":"2.9","h":"4.79","c":"بِالدِّينِ","d":"bil-dīni","e":"the Judgment"}],"a":{"g":"Have you seen the one who denies the Recompense?"}},"2":{"w":[{"b":"0.03","h":"0.2","c":"فَذَلِكَ","d":"fadhālika","e":"Then that"},{"b":"1.0","h":"1.79","c":"الَّذِي","d":"alladhī","e":"(is) the one who"},{"b":"1.9","h":"3.32","c":"يَدُعُّ","d":"yaduʿʿu","e":"repulses"},{"b":"2.7","h":"4.57","c":"الْيَتِيمَ","d":"l-yatīma","e":"the orphan"}],"a":{"g":"For that is the one who drives away the orphan"}},"3":{"w":[{"b":"0.15","h":"0.2","c":"وَلَا","d":"walā","e":"And (does) not"},{"b":"0.72","h":"1.07","c":"يَحُضُّ","d":"yaḥuḍḍu","e":"feel the urge"},{"b":"1.5","h":"2.41","c":"عَلَى","d":"ʿalā","e":"to"},{"b":"2.2","h":"3.49","c":"طَعَامِ","d":"ṭaʿāmi","e":"feed"},{"b":"3.1","h":"5.11","c":"الْمِسْكِينِ","d":"l-mis'kīni","e":"the poor"}],"a":{"g":"And does not encourage the feeding of the poor."}},"4":{"w":[{"b":"0.03","h":"0.4","c":"فَوَيْلٌ","d":"fawaylun","e":"So woe"},{"b":"1.1","h":"2.07","c":"لِلْمُصَلِّينَ","d":"lil'muṣallīna","e":"to those who pray"}],"a":{"g":"So woe to those who pray"}},"5":{"w":[{"b":"0.05","h":"0.4","c":"الَّذِينَ","d":"alladhīna","e":"Those who"},{"b":"1.2","h":"2.43","c":"هُمْ","d":"hum","e":"[they]"},{"b":"1.6","h":"3.15","c":"عَنْ","d":"ʿan","e":"of"},{"b":"2.7","h":"3.95","c":"صَلَاتِهِمْ","d":"ṣalātihim","e":"their prayers"},{"b":"4.0","h":"6.71","c":"سَاهُونَ","d":"sāhūna","e":"(are) neglectful"}],"a":{"g":"[But] who are heedless of their prayer -"}},"6":{"w":[{"b":"0.15","h":"0.5","c":"الَّذِينَ","d":"alladhīna","e":"Those who"},{"b":"1.2","h":"2.48","c":"هُمْ","d":"hum","e":"[they]"},{"b":"1.7","h":"3.3","c":"يُرَاءُونَ","d":"yurāūna","e":"make show"}],"a":{"g":"Those who make show [of their deeds]"}},"7":{"w":[{"b":"0.05","h":"0.15","c":"وَيَمْنَعُونَ","d":"wayamnaʿūna","e":"And they deny"},{"b":"1.5","h":"2.69","c":"الْمَاعُونَ","d":"l-māʿūna","e":"[the] small kindness"}],"a":{"g":"And withhold [simple] assistance."}}} -------------------------------------------------------------------------------- /quran/data/words/108.json: -------------------------------------------------------------------------------- 1 | {"1":{"w":[{"b":"0.15","h":"0.33","c":"إِنَّا","d":"innā","e":"Indeed, We"},{"b":"2.1","h":"1.55","c":"أَعْطَيْنَاكَ","d":"aʿṭaynāka","e":"have given you"},{"b":"4.9","h":"5.66","c":"الْكَوْثَرَ","d":"l-kawthara","e":"Al-Kauthar"}],"a":{"g":"Indeed, We have granted you, [O Muhammad], al-Kawthar."}},"2":{"w":[{"b":"0.03","h":"0.03","c":"فَصَلِّ","d":"faṣalli","e":"So pray"},{"b":"0.92","h":"1.34","c":"لِرَبِّكَ","d":"lirabbika","e":"to your Lord"},{"b":"1.9","h":"3.19","c":"وَانْحَرْ","d":"wa-in'ḥar","e":"and sacrifice"}],"a":{"g":"So pray to your Lord and sacrifice [to Him alone]."}},"3":{"w":[{"b":"0.03","h":"0.03","c":"إِنَّ","d":"inna","e":"Indeed"},{"b":"1.6","h":"1.4","c":"شَانِئَكَ","d":"shāni-aka","e":"your enemy"},{"b":"2.7","h":"3.23","c":"هُوَ","d":"huwa","e":"he (is)"},{"b":"3.2","h":"4.07","c":"الْأَبْتَرُ","d":"l-abtaru","e":"the one cut off"}],"a":{"g":"Indeed, your enemy is the one cut off."}}} -------------------------------------------------------------------------------- /quran/data/words/109.json: -------------------------------------------------------------------------------- 1 | {"1":{"w":[{"b":"0.15","h":"1.15","c":"قُلْ","d":"qul","e":"Say"},{"b":"0.44","h":"1.68","c":"يَاأَيُّهَا","d":"yāayyuhā","e":"O"},{"b":"3.3","h":"4.93","c":"الْكَافِرُونَ","d":"l-kāfirūna","e":"disbelievers"}],"a":{"g":"Say, \"O disbelievers,"}},"2":{"w":[{"b":"0.1","h":"0.4","c":"لَا","d":"lā","e":"Not"},{"b":"1.7","h":"2.14","c":"أَعْبُدُ","d":"aʿbudu","e":"I worship"},{"b":"3.4","h":"3.6","c":"مَا","d":"mā","e":"what"},{"b":"3.7","h":"4.33","c":"تَعْبُدُونَ","d":"taʿbudūna","e":"you worship"}],"a":{"g":"I do not worship what you worship."}},"3":{"w":[{"b":"0.07","h":"0.65","c":"وَلَا","d":"walā","e":"And not"},{"b":"2.0","h":"2.39","c":"أَنْتُمْ","d":"antum","e":"you"},{"b":"3.7","h":"4.14","c":"عَابِدُونَ","d":"ʿābidūna","e":"(are) worshippers"},{"b":"5.1","h":"6.61","c":"مَا","d":"mā","e":"(of) what"},{"b":"6.9","h":"8.28","c":"أَعْبُدُ","d":"aʿbudu","e":"I worship"}],"a":{"g":"Nor are you worshippers of what I worship."}},"4":{"w":[{"b":"0.04","h":"0.4","c":"وَلَا","d":"walā","e":"And not"},{"b":"2.0","h":"2.24","c":"أَنَا","d":"anā","e":"I am"},{"b":"2.6","h":"2.86","c":"عَابِدٌ","d":"ʿābidun","e":"a worshipper"},{"b":"3.5","h":"5.17","c":"مَا","d":"mā","e":"(of) what"},{"b":"4.9","h":"6.12","c":"عَبَدْتُمْ","d":"ʿabadttum","e":"you worship"}],"a":{"g":"Nor will I be a worshipper of what you worship."}},"5":{"w":[{"b":"0.05","h":"0.21","c":"وَلَا","d":"walā","e":"And not"},{"b":"2.0","h":"2.14","c":"أَنْتُمْ","d":"antum","e":"you are"},{"b":"3.7","h":"3.99","c":"عَابِدُونَ","d":"ʿābidūna","e":"worshippers"},{"b":"5.1","h":"6.57","c":"مَا","d":"mā","e":"(of) what"},{"b":"6.8","h":"8.3","c":"أَعْبُدُ","d":"aʿbudu","e":"I worship"}],"a":{"g":"Nor will you be worshippers of what I worship."}},"6":{"w":[{"b":"0.05","h":"0.55","c":"لَكُمْ","d":"lakum","e":"For you"},{"b":"0.68","h":"1.58","c":"دِينُكُمْ","d":"dīnukum","e":"(is) your religion"},{"b":"1.9","h":"3.45","c":"وَلِيَ","d":"waliya","e":"and for me"},{"b":"2.5","h":"4.7","c":"دِينِ","d":"dīni","e":"(is) my religion"}],"a":{"g":"For you is your religion, and for me is my religion.\""}}} -------------------------------------------------------------------------------- /quran/data/words/110.json: -------------------------------------------------------------------------------- 1 | {"1":{"w":[{"b":"0.2","h":"0.9","c":"إِذَا","d":"idhā","e":"When"},{"b":"0.69","h":"1.94","c":"جَاءَ","d":"jāa","e":"comes"},{"b":"3.6","h":"3.91","c":"نَصْرُ","d":"naṣru","e":"(the) Help"},{"b":"4.2","h":"5.04","c":"اللَّهِ","d":"l-lahi","e":"(of) Allah"},{"b":"5.1","h":"6.71","c":"وَالْفَتْحُ","d":"wal-fatḥu","e":"and the Victory"}],"a":{"g":"When the victory of Allah has come and the conquest,"}},"2":{"w":[{"b":"0.03","h":"0.7","c":"وَرَأَيْتَ","d":"wara-ayta","e":"And you see"},{"b":"1.0","h":"2.42","c":"النَّاسَ","d":"l-nāsa","e":"the people"},{"b":"2.6","h":"4.25","c":"يَدْخُلُونَ","d":"yadkhulūna","e":"entering"},{"b":"3.8","h":"6.26","c":"فِي","d":"fī","e":"into"},{"b":"4.3","h":"7.21","c":"دِينِ","d":"dīni","e":"(the) religion"},{"b":"5.0","h":"8.29","c":"اللَّهِ","d":"l-lahi","e":"(of) Allah"},{"b":"5.9","h":"9.79","c":"أَفْوَاجًا","d":"afwājan","e":"(in) multitudes"}],"a":{"g":"And you see the people entering into the religion of Allah in multitudes,"}},"3":{"w":[{"b":"0.03","h":"0.4","c":"فَسَبِّحْ","d":"fasabbiḥ","e":"Then glorify"},{"b":"1.0","h":"2.05","c":"بِحَمْدِ","d":"biḥamdi","e":"(the) praises"},{"b":"1.8","h":"3.47","c":"رَبِّكَ","d":"rabbika","e":"(of) your Lord"},{"b":"2.7","h":"5.1","c":"وَاسْتَغْفِرْهُ","d":"wa-is'taghfir'hu","e":"and ask His forgiveness"},{"b":"4.5","h":"8.9","c":"إِنَّهُ","d":"innahu","e":"Indeed He"},{"b":"6.3","h":"11.18","c":"كَانَ","d":"kāna","e":"is"},{"b":"7.0","h":"12.32","c":"تَوَّابًا","d":"tawwāban","e":"Oft-Returning"}],"a":{"g":"Then exalt [Him] with praise of your Lord and ask forgiveness of Him. Indeed, He is ever Accepting of repentance."}}} -------------------------------------------------------------------------------- /quran/data/words/111.json: -------------------------------------------------------------------------------- 1 | {"1":{"w":[{"b":"0.03","h":"1.1","c":"تَبَّتْ","d":"tabbat","e":"Perish"},{"b":"0.8","h":"2.21","c":"يَدَا","d":"yadā","e":"(the) hands"},{"b":"1.3","h":"3.03","c":"أَبِي","d":"abī","e":"(of) Abu"},{"b":"3.8","h":"5.28","c":"لَهَبٍ","d":"lahabin","e":"Lahab"},{"b":"5.4","h":"7.27","c":"وَتَبَّ","d":"watabba","e":"and perish he"}],"a":{"g":"May the hands of Abu Lahab be ruined, and ruined is he."}},"2":{"w":[{"b":"0.05","h":"0.5","c":"مَا","d":"mā","e":"Not"},{"b":"2.2","h":"2.22","c":"أَغْنَى","d":"aghnā","e":"(will) avail"},{"b":"3.0","h":"3.69","c":"عَنْهُ","d":"ʿanhu","e":"him"},{"b":"3.8","h":"5.07","c":"مَالُهُ","d":"māluhu","e":"his wealth"},{"b":"4.9","h":"7.05","c":"وَمَا","d":"wamā","e":"and what"},{"b":"5.5","h":"8.13","c":"كَسَبَ","d":"kasaba","e":"he earned"}],"a":{"g":"His wealth will not avail him or that which he gained."}},"3":{"w":[{"b":"0.03","h":"0.7","c":"سَيَصْلَى","d":"sayaṣlā","e":"He will be burnt"},{"b":"1.1","h":"2.42","c":"نَارًا","d":"nāran","e":"(in) a Fire"},{"b":"2.9","h":"4.4","c":"ذَاتَ","d":"dhāta","e":"of"},{"b":"3.6","h":"5.73","c":"لَهَبٍ","d":"lahabin","e":"Blazing Flames"}],"a":{"g":"He will [enter to] burn in a Fire of [blazing] flame"}},"4":{"w":[{"b":"0.04","h":"0.35","c":"وَامْرَأَتُهُ","d":"wa-im'ra-atuhu","e":"And his wife"},{"b":"1.4","h":"2.78","c":"حَمَّالَةَ","d":"ḥammālata","e":"(the) carrier"},{"b":"3.8","h":"5.44","c":"الْحَطَبِ","d":"l-ḥaṭabi","e":"(of) firewood"}],"a":{"g":"And his wife [as well] - the carrier of firewood."}},"5":{"w":[{"b":"0.03","h":"0.55","c":"فِي","d":"fī","e":"Around"},{"b":"0.4","h":"1.2","c":"جِيدِهَا","d":"jīdihā","e":"her neck"},{"b":"1.4","h":"3.11","c":"حَبْلٌ","d":"ḥablun","e":"(will be) a rope"},{"b":"3.4","h":"5.09","c":"مِنْ","d":"min","e":"of"},{"b":"4.6","h":"5.99","c":"مَسَدٍ","d":"masadin","e":"palm-fiber"}],"a":{"g":"Around her neck is a rope of [twisted] fiber."}}} -------------------------------------------------------------------------------- /quran/data/words/112.json: -------------------------------------------------------------------------------- 1 | {"1":{"w":[{"b":"0.03","h":"0.85","c":"قُلْ","d":"qul","e":"Say"},{"b":"0.4","h":"1.38","c":"هُوَ","d":"huwa","e":"He"},{"b":"0.8","h":"2.1","c":"اللَّهُ","d":"l-lahu","e":"(is) Allah"},{"b":"1.6","h":"3.72","c":"أَحَدٌ","d":"aḥadun","e":"the One"}],"a":{"g":"Say, \"He is Allah, [who is] One,"}},"2":{"w":[{"b":"0.04","h":"1.61","c":"اللَّهُ","d":"al-lahu","e":"Allah"},{"b":"0.99","h":"2.59","c":"الصَّمَدُ","d":"l-ṣamadu","e":"the Eternal the Absolute"}],"a":{"g":"Allah, the Eternal Refuge."}},"3":{"w":[{"b":"0.06","h":"0.45","c":"لَمْ","d":"lam","e":"Not"},{"b":"0.4","h":"0.92","c":"يَلِدْ","d":"yalid","e":"He begets"},{"b":"1.0","h":"2.09","c":"وَلَمْ","d":"walam","e":"and not"},{"b":"1.7","h":"3.39","c":"يُولَدْ","d":"yūlad","e":"He is begotten"}],"a":{"g":"He neither begets nor is born,"}},"4":{"w":[{"b":"0.03","h":"0.2","c":"وَلَمْ","d":"walam","e":"And not"},{"b":"0.66","h":"1.15","c":"يَكُنْ","d":"yakun","e":"is"},{"b":"1.1","h":"1.98","c":"لَهُ","d":"lahu","e":"for Him"},{"b":"2.0","h":"3.61","c":"كُفُوًا","d":"kufuwan","e":"equivalent"},{"b":"2.9","h":"5.29","c":"أَحَدٌ","d":"aḥadun","e":"any [one]"}],"a":{"g":"Nor is there to Him any equivalent.\""}}} -------------------------------------------------------------------------------- /quran/data/words/113.json: -------------------------------------------------------------------------------- 1 | {"1":{"w":[{"b":"0.03","h":"0.6","c":"قُلْ","d":"qul","e":"Say"},{"b":"0.35","h":"1.19","c":"أَعُوذُ","d":"aʿūdhu","e":"I seek refuge"},{"b":"1.2","h":"2.52","c":"بِرَبِّ","d":"birabbi","e":"in (the) Lord"},{"b":"2.0","h":"4.1","c":"الْفَلَقِ","d":"l-falaqi","e":"(of) the dawn"}],"a":{"g":"Say, \"I seek refuge in the Lord of daybreak"}},"2":{"w":[{"b":"0.03","h":"0","c":"مِنْ","d":"min","e":"From"},{"b":"1.3","h":"1.37","c":"شَرِّ","d":"sharri","e":"(the) evil"},{"b":"2.0","h":"2.66","c":"مَا","d":"mā","e":"(of) what"},{"b":"2.3","h":"3.42","c":"خَلَقَ","d":"khalaqa","e":"He created"}],"a":{"g":"From the evil of that which He created"}},"3":{"w":[{"b":"0.03","h":"0.06","c":"وَمِنْ","d":"wamin","e":"And from"},{"b":"1.4","h":"1.33","c":"شَرِّ","d":"sharri","e":"(the) evil"},{"b":"2.1","h":"2.52","c":"غَاسِقٍ","d":"ghāsiqin","e":"(of) darkness"},{"b":"3.2","h":"4.63","c":"إِذَا","d":"idhā","e":"when"},{"b":"3.8","h":"5.84","c":"وَقَبَ","d":"waqaba","e":"it settles"}],"a":{"g":"And from the evil of darkness when it settles"}},"4":{"w":[{"b":"0.03","h":"0.41","c":"وَمِنْ","d":"wamin","e":"And from"},{"b":"1.4","h":"1.64","c":"شَرِّ","d":"sharri","e":"(the) evil"},{"b":"2.1","h":"2.87","c":"النَّفَّاثَاتِ","d":"l-nafāthāti","e":"(of) the blowers"},{"b":"4.3","h":"6.45","c":"فِي","d":"fī","e":"in"},{"b":"4.6","h":"6.87","c":"الْعُقَدِ","d":"l-ʿuqadi","e":"the knots"}],"a":{"g":"And from the evil of the blowers in knots"}},"5":{"w":[{"b":"0.03","h":"0.34","c":"وَمِنْ","d":"wamin","e":"And from"},{"b":"1.2","h":"1.63","c":"شَرِّ","d":"sharri","e":"(the) evil"},{"b":"1.9","h":"2.68","c":"حَاسِدٍ","d":"ḥāsidin","e":"(of) an envier"},{"b":"3.0","h":"4.73","c":"إِذَا","d":"idhā","e":"when"},{"b":"3.6","h":"5.9","c":"حَسَدَ","d":"ḥasada","e":"he envies"}],"a":{"g":"And from the evil of an envier when he envies.\""}}} -------------------------------------------------------------------------------- /quran/data/words/114.json: -------------------------------------------------------------------------------- 1 | {"1":{"w":[{"b":"0.03","h":"0.45","c":"قُلْ","d":"qul","e":"Say"},{"b":"0.34","h":"1.02","c":"أَعُوذُ","d":"aʿūdhu","e":"I seek refuge"},{"b":"1.1","h":"2.45","c":"بِرَبِّ","d":"birabbi","e":"in (the) Lord"},{"b":"2.0","h":"4.5","c":"النَّاسِ","d":"l-nāsi","e":"(of) mankind"}],"a":{"g":"Say, \"I seek refuge in the Lord of mankind,"}},"2":{"w":[{"b":"0.03","h":"0.25","c":"مَلِكِ","d":"maliki","e":"(The) King"},{"b":"0.62","h":"1.34","c":"النَّاسِ","d":"l-nāsi","e":"(of) mankind"}],"a":{"g":"The Sovereign of mankind."}},"3":{"w":[{"b":"0.03","h":"0.3","c":"إِلَهِ","d":"ilāhi","e":"(The) God"},{"b":"0.85","h":"1.79","c":"النَّاسِ","d":"l-nāsi","e":"(of) mankind"}],"a":{"g":"The God of mankind,"}},"4":{"w":[{"b":"0.07","h":"0.4","c":"مِنْ","d":"min","e":"From"},{"b":"1.3","h":"1.26","c":"شَرِّ","d":"sharri","e":"(the) evil"},{"b":"2.0","h":"2.48","c":"الْوَسْوَاسِ","d":"l-waswāsi","e":"(of) the whisperer"},{"b":"3.3","h":"4.83","c":"الْخَنَّاسِ","d":"l-khanāsi","e":"the one who withdraws"}],"a":{"g":"From the evil of the retreating whisperer -"}},"5":{"w":[{"b":"0.03","h":"0.6","c":"الَّذِي","d":"alladhī","e":"The one who"},{"b":"1.0","h":"2.28","c":"يُوَسْوِسُ","d":"yuwaswisu","e":"whispers"},{"b":"2.0","h":"4.25","c":"فِي","d":"fī","e":"in"},{"b":"2.4","h":"5.08","c":"صُدُورِ","d":"ṣudūri","e":"(the) breasts"},{"b":"3.4","h":"6.77","c":"النَّاسِ","d":"l-nāsi","e":"(of) mankind"}],"a":{"g":"Who whispers [evil] into the breasts of mankind -"}},"6":{"w":[{"b":"0.1","h":"0.65","c":"مِنَ","d":"mina","e":"From"},{"b":"0.39","h":"1.17","c":"الْجِنَّةِ","d":"l-jinati","e":"the jinn"},{"b":"2.5","h":"3.75","c":"وَالنَّاسِ","d":"wal-nāsi","e":"and men"}],"a":{"g":"From among the jinn and mankind.\""}}} -------------------------------------------------------------------------------- /quran/data/words/94.json: -------------------------------------------------------------------------------- 1 | {"1":{"w":[{"b":"0.15","h":"0.4","c":"أَلَمْ","d":"alam","e":"Have not"},{"b":"0.61","h":"1.12","c":"نَشْرَحْ","d":"nashraḥ","e":"We expanded"},{"b":"1.4","h":"2.37","c":"لَكَ","d":"laka","e":"for you"},{"b":"1.8","h":"3.25","c":"صَدْرَكَ","d":"ṣadraka","e":"your breast"}],"a":{"g":"Did We not expand for you, [O Muhammad], your breast?"}},"2":{"w":[{"b":"0.03","h":"0.3","c":"وَوَضَعْنَا","d":"wawaḍaʿnā","e":"And We removed"},{"b":"1.2","h":"2.25","c":"عَنْكَ","d":"ʿanka","e":"from you"},{"b":"2.8","h":"3.96","c":"وِزْرَكَ","d":"wiz'raka","e":"your burden"}],"a":{"g":"And We removed from you your burden"}},"3":{"w":[{"b":"0.03","h":"0.4","c":"الَّذِي","d":"alladhī","e":"Which"},{"b":"2.6","h":"3.08","c":"أَنْقَضَ","d":"anqaḍa","e":"weighed upon"},{"b":"4.1","h":"4.85","c":"ظَهْرَكَ","d":"ẓahraka","e":"your back"}],"a":{"g":"Which had weighed upon your back"}},"4":{"w":[{"b":"0.04","h":"0.2","c":"وَرَفَعْنَا","d":"warafaʿnā","e":"And We raised high"},{"b":"1.3","h":"2.25","c":"لَكَ","d":"laka","e":"for you"},{"b":"1.7","h":"2.92","c":"ذِكْرَكَ","d":"dhik'raka","e":"your esteem"}],"a":{"g":"And raised high for you your repute."}},"5":{"w":[{"b":"0.03","h":"0.5","c":"فَإِنَّ","d":"fa-inna","e":"So indeed"},{"b":"1.5","h":"2.04","c":"مَعَ","d":"maʿa","e":"with"},{"b":"2.0","h":"2.73","c":"الْعُسْرِ","d":"l-ʿus'ri","e":"the hardship"},{"b":"2.8","h":"4.21","c":"يُسْرًا","d":"yus'ran","e":"(is) ease"}],"a":{"g":"For indeed, with hardship [will be] ease."}},"6":{"w":[{"b":"0.03","h":"0.2","c":"إِنَّ","d":"inna","e":"Indeed"},{"b":"1.3","h":"1.53","c":"مَعَ","d":"maʿa","e":"with"},{"b":"1.7","h":"2.21","c":"الْعُسْرِ","d":"l-ʿus'ri","e":"the hardship"},{"b":"2.6","h":"3.75","c":"يُسْرًا","d":"yus'ran","e":"(is) ease"}],"a":{"g":"Indeed, with hardship [will be] ease."}},"7":{"w":[{"b":"0.03","h":"0.35","c":"فَإِذَا","d":"fa-idhā","e":"So when"},{"b":"0.8","h":"1.53","c":"فَرَغْتَ","d":"faraghta","e":"you are free"},{"b":"1.6","h":"2.95","c":"فَانْصَبْ","d":"fa-inṣab","e":"then stand up"}],"a":{"g":"So when you have finished [your duties], then stand up [for worship]."}},"8":{"w":[{"b":"0.03","h":"0.25","c":"وَإِلَى","d":"wa-ilā","e":"And to"},{"b":"0.84","h":"1.53","c":"رَبِّكَ","d":"rabbika","e":"your Lord"},{"b":"1.7","h":"3.03","c":"فَارْغَبْ","d":"fa-ir'ghab","e":"turn your attention"}],"a":{"g":"And to your Lord direct [your] longing."}}} -------------------------------------------------------------------------------- /quran/data/words/95.json: -------------------------------------------------------------------------------- 1 | {"1":{"w":[{"b":"0.03","h":"0.15","c":"وَالتِّينِ","d":"wal-tīni","e":"By the fig"},{"b":"1.0","h":"1.73","c":"وَالزَّيْتُونِ","d":"wal-zaytūni","e":"and the olive"}],"a":{"g":"By the fig and the olive"}},"2":{"w":[{"b":"0.03","h":"0.15","c":"وَطُورِ","d":"waṭūri","e":"And (the) Mount"},{"b":"0.83","h":"1.43","c":"سِينِينَ","d":"sīnīna","e":"Sinai"}],"a":{"g":"And [by] Mount Sinai"}},"3":{"w":[{"b":"0.03","h":"0.1","c":"وَهَذَا","d":"wahādhā","e":"And this"},{"b":"0.81","h":"1.45","c":"الْبَلَدِ","d":"l-baladi","e":"[the] city"},{"b":"1.6","h":"2.84","c":"الْأَمِينِ","d":"l-amīni","e":"[the] secure"}],"a":{"g":"And [by] this secure city [Makkah],"}},"4":{"w":[{"b":"0.05","h":"0.35","c":"لَقَدْ","d":"laqad","e":"Indeed"},{"b":"0.54","h":"1.1","c":"خَلَقْنَا","d":"khalaqnā","e":"We created"},{"b":"1.3","h":"2.62","c":"الْإِنْسَانَ","d":"l-insāna","e":"man"},{"b":"3.2","h":"5.3","c":"فِي","d":"fī","e":"in"},{"b":"4.9","h":"7.07","c":"أَحْسَنِ","d":"aḥsani","e":"(the) best"},{"b":"5.7","h":"8.43","c":"تَقْوِيمٍ","d":"taqwīmin","e":"mould"}],"a":{"g":"We have certainly created man in the best of stature;"}},"5":{"w":[{"b":"0.03","h":"0.8","c":"ثُمَّ","d":"thumma","e":"Then"},{"b":"1.3","h":"1.93","c":"رَدَدْنَاهُ","d":"radadnāhu","e":"We return him"},{"b":"2.5","h":"4.12","c":"أَسْفَلَ","d":"asfala","e":"(to the) lowest"},{"b":"3.3","h":"5.45","c":"سَافِلِينَ","d":"sāfilīna","e":"(of the) low"}],"a":{"g":"Then We return him to the lowest of the low,"}},"6":{"w":[{"b":"0.03","h":"0.3","c":"إِلَّا","d":"illā","e":"Except"},{"b":"0.56","h":"1.13","c":"الَّذِينَ","d":"alladhīna","e":"those who"},{"b":"1.5","h":"2.77","c":"ءَامَنُوا","d":"āmanū","e":"believe"},{"b":"2.6","h":"4.59","c":"وَعَمِلُوا","d":"waʿamilū","e":"and do"},{"b":"3.3","h":"5.82","c":"الصَّالِحَاتِ","d":"l-ṣāliḥāti","e":"righteous deeds"},{"b":"4.7","h":"8.45","c":"فَلَهُمْ","d":"falahum","e":"then for them"},{"b":"5.6","h":"9.9","c":"أَجْرٌ","d":"ajrun","e":"(is a) reward"},{"b":"6.3","h":"11.07","c":"غَيْرُ","d":"ghayru","e":"never"},{"b":"6.9","h":"12.53","c":"مَمْنُونٍ","d":"mamnūnin","e":"ending"}],"a":{"g":"Except for those who believe and do righteous deeds, for they will have a reward uninterrupted."}},"7":{"w":[{"b":"0.03","h":"0.6","c":"فَمَا","d":"famā","e":"Then what"},{"b":"0.57","h":"1.49","c":"يُكَذِّبُكَ","d":"yukadhibuka","e":"causes you to deny"},{"b":"1.8","h":"3.58","c":"بَعْدُ","d":"baʿdu","e":"after (this)"},{"b":"2.3","h":"4.63","c":"بِالدِّينِ","d":"bil-dīni","e":"the judgment"}],"a":{"g":"So what yet causes you to deny the Recompense?"}},"8":{"w":[{"b":"0.05","h":"0.25","c":"أَلَيْسَ","d":"alaysa","e":"Is not"},{"b":"1.1","h":"1.24","c":"اللَّهُ","d":"l-lahu","e":"Allah"},{"b":"1.7","h":"2.93","c":"بِأَحْكَمِ","d":"bi-aḥkami","e":"(the) Most Just"},{"b":"2.8","h":"4.71","c":"الْحَاكِمِينَ","d":"l-ḥākimīna","e":"(of) the Judges"}],"a":{"g":"Is not Allah the most just of judges?"}}} -------------------------------------------------------------------------------- /quran/data/words/97.json: -------------------------------------------------------------------------------- 1 | {"1":{"w":[{"b":"0.15","h":"0.7","c":"إِنَّا","d":"innā","e":"Indeed We"},{"b":"2.9","h":"2.13","c":"أَنْزَلْنَاهُ","d":"anzalnāhu","e":"revealed it"},{"b":"5.4","h":"6.6","c":"فِي","d":"fī","e":"in"},{"b":"5.8","h":"7.5","c":"لَيْلَةِ","d":"laylati","e":"(the) Night"},{"b":"6.7","h":"8.99","c":"الْقَدْرِ","d":"l-qadri","e":"(of) Power"}],"a":{"g":"Indeed, We sent the Qur'an down during the Night of Decree."}},"2":{"w":[{"b":"0.04","h":"0.45","c":"وَمَا","d":"wamā","e":"And what"},{"b":"0.4","h":"2.48","c":"أَدْرَاكَ","d":"adrāka","e":"can make you know"},{"b":"3.2","h":"4.27","c":"مَا","d":"mā","e":"what"},{"b":"3.6","h":"5.05","c":"لَيْلَةُ","d":"laylatu","e":"(the) Night"},{"b":"4.4","h":"6.51","c":"الْقَدْرِ","d":"l-qadri","e":"(of) Power (is)"}],"a":{"g":"And what can make you know what is the Night of Decree?"}},"3":{"w":[{"b":"0.15","h":"0.35","c":"لَيْلَةُ","d":"laylatu","e":"(The) Night"},{"b":"0.88","h":"1.6","c":"الْقَدْرِ","d":"l-qadri","e":"(of) Power"},{"b":"1.6","h":"2.89","c":"خَيْرٌ","d":"khayrun","e":"(is) better"},{"b":"3.3","h":"4.95","c":"مِنْ","d":"min","e":"than"},{"b":"3.6","h":"5.57","c":"أَلْفِ","d":"alfi","e":"a thousand"},{"b":"4.2","h":"6.72","c":"شَهْرٍ","d":"shahrin","e":"month(s)"}],"a":{"g":"The Night of Decree is better than a thousand months."}},"4":{"w":[{"b":"0.03","h":"0.5","c":"تَنَزَّلُ","d":"tanazzalu","e":"Descend"},{"b":"1.0","h":"2.05","c":"الْمَلَائِكَةُ","d":"l-malāikatu","e":"the Angels"},{"b":"3.9","h":"5.52","c":"وَالرُّوحُ","d":"wal-rūḥu","e":"and the Spirit"},{"b":"4.9","h":"7.3","c":"فِيهَا","d":"fīhā","e":"therein"},{"b":"5.8","h":"9.02","c":"بِإِذْنِ","d":"bi-idh'ni","e":"by (the) permission"},{"b":"6.5","h":"10.3","c":"رَبِّهِمْ","d":"rabbihim","e":"(of) their Lord"},{"b":"8.3","h":"12.72","c":"مِنْ","d":"min","e":"for"},{"b":"9.3","h":"13.71","c":"كُلِّ","d":"kulli","e":"every"},{"b":"10.0","h":"14.88","c":"أَمْرٍ","d":"amrin","e":"affair"}],"a":{"g":"The angels and the Spirit descend therein by permission of their Lord for every matter."}},"5":{"w":[{"b":"0.2","h":"0.3","c":"سَلَامٌ","d":"salāmun","e":"Peace"},{"b":"1.0","h":"1.81","c":"هِيَ","d":"hiya","e":"it (is)"},{"b":"1.5","h":"2.54","c":"حَتَّى","d":"ḥattā","e":"until"},{"b":"2.4","h":"4.08","c":"مَطْلَعِ","d":"maṭlaʿi","e":"(the) emergence"},{"b":"3.3","h":"5.67","c":"الْفَجْرِ","d":"l-fajri","e":"(of) the dawn"}],"a":{"g":"Peace it is until the emergence of dawn."}}} -------------------------------------------------------------------------------- /quran/data/words/99.json: -------------------------------------------------------------------------------- 1 | {"1":{"w":[{"b":"0.04","h":"0.65","c":"إِذَا","d":"idhā","e":"When"},{"b":"0.62","h":"1.48","c":"زُلْزِلَتِ","d":"zul'zilati","e":"is shaken"},{"b":"1.7","h":"3.19","c":"الْأَرْضُ","d":"l-arḍu","e":"the earth"},{"b":"2.5","h":"4.53","c":"زِلْزَالَهَا","d":"zil'zālahā","e":"with its earthquake"}],"a":{"g":"When the earth is shaken with its [final] earthquake"}},"2":{"w":[{"b":"0.07","h":"0.45","c":"وَأَخْرَجَتِ","d":"wa-akhrajati","e":"And brings forth"},{"b":"1.3","h":"2.34","c":"الْأَرْضُ","d":"l-arḍu","e":"the earth"},{"b":"2.1","h":"3.68","c":"أَثْقَالَهَا","d":"athqālahā","e":"its burdens"}],"a":{"g":"And the earth discharges its burdens"}},"3":{"w":[{"b":"0.15","h":"0.3","c":"وَقَالَ","d":"waqāla","e":"And says"},{"b":"0.86","h":"1.61","c":"الْإِنْسَانُ","d":"l-insānu","e":"man"},{"b":"3.2","h":"4.35","c":"مَا","d":"mā","e":"What"},{"b":"3.7","h":"5.1","c":"لَهَا","d":"lahā","e":"(is) with it"}],"a":{"g":"And man says, \"What is [wrong] with it?\" -"}},"4":{"w":[{"b":"0.09","h":"0.6","c":"يَوْمَئِذٍ","d":"yawma-idhin","e":"That Day"},{"b":"2.0","h":"2.96","c":"تُحَدِّثُ","d":"tuḥaddithu","e":"it will report"},{"b":"3.2","h":"4.78","c":"أَخْبَارَهَا","d":"akhbārahā","e":"its news"}],"a":{"g":"That Day, it will report its news"}},"5":{"w":[{"b":"0.06","h":"0.3","c":"بِأَنَّ","d":"bi-anna","e":"Because"},{"b":"1.7","h":"1.83","c":"رَبَّكَ","d":"rabbaka","e":"your Lord"},{"b":"2.6","h":"3.5","c":"أَوْحَى","d":"awḥā","e":"inspired"},{"b":"3.5","h":"5.18","c":"لَهَا","d":"lahā","e":"[to] it"}],"a":{"g":"Because your Lord has commanded it."}},"6":{"w":[{"b":"0.05","h":"0.4","c":"يَوْمَئِذٍ","d":"yawma-idhin","e":"That Day"},{"b":"1.9","h":"2.88","c":"يَصْدُرُ","d":"yaṣduru","e":"will proceed"},{"b":"2.8","h":"4.24","c":"النَّاسُ","d":"l-nāsu","e":"the mankind"},{"b":"4.4","h":"6.04","c":"أَشْتَاتًا","d":"ashtātan","e":"(in) scattered groups"},{"b":"5.4","h":"7.79","c":"لِيُرَوْا","d":"liyuraw","e":"to be shown"},{"b":"6.5","h":"9.47","c":"أَعْمَالَهُمْ","d":"aʿmālahum","e":"their deeds"}],"a":{"g":"That Day, the people will depart separated [into categories] to be shown [the result of] their deeds."}},"7":{"w":[{"b":"0.03","h":"0.9","c":"فَمَنْ","d":"faman","e":"So whoever"},{"b":"1.3","h":"2.49","c":"يَعْمَلْ","d":"yaʿmal","e":"does"},{"b":"2.1","h":"3.54","c":"مِثْقَالَ","d":"mith'qāla","e":"(equal to the) weight"},{"b":"3.1","h":"5.33","c":"ذَرَّةٍ","d":"dharratin","e":"(of) an atom"},{"b":"4.2","h":"7.14","c":"خَيْرًا","d":"khayran","e":"good"},{"b":"5.8","h":"8.92","c":"يَرَهُ","d":"yarahu","e":"will see it"}],"a":{"g":"So whoever does an atom's weight of good will see it,"}},"8":{"w":[{"b":"0.04","h":"0.2","c":"وَمَنْ","d":"waman","e":"And whoever"},{"b":"1.7","h":"1.6","c":"يَعْمَلْ","d":"yaʿmal","e":"does"},{"b":"2.4","h":"2.95","c":"مِثْقَالَ","d":"mith'qāla","e":"(equal to the) weight"},{"b":"3.4","h":"4.8","c":"ذَرَّةٍ","d":"dharratin","e":"(of) an atom"},{"b":"5.6","h":"7.04","c":"شَرًّا","d":"sharran","e":"evil"},{"b":"7.5","h":"9.43","c":"يَرَهُ","d":"yarahu","e":"will see it"}],"a":{"g":"And whoever does an atom's weight of evil will see it."}}} -------------------------------------------------------------------------------- /search/data/reminder.idx.gob.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asim/reminder/bd4b5ab29521104b61f7d977ad068861939b77d4/search/data/reminder.idx.gob.gz -------------------------------------------------------------------------------- /search/seeker.go: -------------------------------------------------------------------------------- 1 | package search 2 | 3 | import ( 4 | "errors" 5 | "io" 6 | "io/fs" 7 | ) 8 | 9 | type ReadSeekerWrapper struct { 10 | data []byte 11 | offset int64 12 | } 13 | 14 | // NewReadSeekerWrapper creates a ReadSeeker from an fs.File 15 | func NewReadSeekerWrapper(f fs.File) (io.ReadSeeker, error) { 16 | data, err := io.ReadAll(f) // Read the entire content 17 | if err != nil { 18 | return nil, err 19 | } 20 | return &ReadSeekerWrapper{data: data}, nil 21 | } 22 | 23 | // Read reads data into p 24 | func (r *ReadSeekerWrapper) Read(p []byte) (int, error) { 25 | if r.offset >= int64(len(r.data)) { 26 | return 0, io.EOF 27 | } 28 | n := copy(p, r.data[r.offset:]) 29 | r.offset += int64(n) 30 | return n, nil 31 | } 32 | 33 | // Seek sets the offset for the next Read 34 | func (r *ReadSeekerWrapper) Seek(offset int64, whence int) (int64, error) { 35 | var newOffset int64 36 | switch whence { 37 | case io.SeekStart: 38 | newOffset = offset 39 | case io.SeekCurrent: 40 | newOffset = r.offset + offset 41 | case io.SeekEnd: 42 | newOffset = int64(len(r.data)) + offset 43 | default: 44 | return 0, errors.New("invalid whence") 45 | } 46 | if newOffset < 0 || newOffset > int64(len(r.data)) { 47 | return 0, errors.New("invalid offset") 48 | } 49 | r.offset = newOffset 50 | return r.offset, nil 51 | } 52 | -------------------------------------------------------------------------------- /web/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /node_modules/ 3 | 4 | # React Router 5 | /.react-router/ 6 | /build/ 7 | -------------------------------------------------------------------------------- /web/README.md: -------------------------------------------------------------------------------- 1 | # Welcome to React Router! 2 | 3 | A modern, production-ready template for building full-stack React applications using React Router. 4 | 5 | [![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/remix-run/react-router-templates/tree/main/default) 6 | 7 | ## Features 8 | 9 | - 🚀 Server-side rendering 10 | - ⚡️ Hot Module Replacement (HMR) 11 | - 📦 Asset bundling and optimization 12 | - 🔄 Data loading and mutations 13 | - 🔒 TypeScript by default 14 | - 🎉 TailwindCSS for styling 15 | - 📖 [React Router docs](https://reactrouter.com/) 16 | 17 | ## Getting Started 18 | 19 | ### Installation 20 | 21 | Install the dependencies: 22 | 23 | ```bash 24 | npm install 25 | ``` 26 | 27 | ### Development 28 | 29 | Start the development server with HMR: 30 | 31 | ```bash 32 | npm run dev 33 | ``` 34 | 35 | Your application will be available at `http://localhost:5173`. 36 | 37 | ## Building for Production 38 | 39 | Create a production build: 40 | 41 | ```bash 42 | npm run build 43 | ``` 44 | 45 | ## Deployment 46 | 47 | ### Docker Deployment 48 | 49 | To build and run using Docker: 50 | 51 | ```bash 52 | docker build -t my-app . 53 | 54 | # Run the container 55 | docker run -p 3000:3000 my-app 56 | ``` 57 | 58 | The containerized application can be deployed to any platform that supports Docker, including: 59 | 60 | - AWS ECS 61 | - Google Cloud Run 62 | - Azure Container Apps 63 | - Digital Ocean App Platform 64 | - Fly.io 65 | - Railway 66 | 67 | ### DIY Deployment 68 | 69 | If you're familiar with deploying Node applications, the built-in app server is production-ready. 70 | 71 | Make sure to deploy the output of `npm run build` 72 | 73 | ``` 74 | ├── package.json 75 | ├── package-lock.json (or pnpm-lock.yaml, or bun.lockb) 76 | ├── build/ 77 | │ ├── client/ # Static assets 78 | │ └── server/ # Server-side code 79 | ``` 80 | 81 | ## Styling 82 | 83 | This template comes with [Tailwind CSS](https://tailwindcss.com/) already configured for a simple default starting experience. You can use whatever CSS framework you prefer. 84 | 85 | --- 86 | 87 | Built with ❤️ using React Router. 88 | -------------------------------------------------------------------------------- /web/app/app.css: -------------------------------------------------------------------------------- 1 | @import 'tailwindcss'; 2 | 3 | @font-face { 4 | font-family: 'arabic'; 5 | src: url('/fonts/arabic.otf') format('opentype'); 6 | font-weight: normal; 7 | font-style: normal; 8 | font-display: swap; 9 | font-size: 1.5em; 10 | } 11 | 12 | @theme { 13 | --font-arabic: 'arabic'; 14 | } 15 | 16 | .verse-arabic-word:hover { 17 | color: #b45309; 18 | cursor: pointer; 19 | transition: color 0.3s ease; 20 | } -------------------------------------------------------------------------------- /web/app/components/interface/navigation-progress.tsx: -------------------------------------------------------------------------------- 1 | import { useEffect } from 'react'; 2 | import { useNavigation } from 'react-router'; 3 | import NProgress from 'nprogress'; 4 | import 'nprogress/nprogress.css'; 5 | 6 | NProgress.configure({ 7 | minimum: 0.1, 8 | showSpinner: false, 9 | trickleSpeed: 200, 10 | easing: 'ease', 11 | speed: 400, 12 | }); 13 | 14 | export function NavigationProgress() { 15 | const navigation = useNavigation(); 16 | const state = navigation.state; 17 | 18 | useEffect(() => { 19 | if (state === 'idle') { 20 | NProgress.done(); 21 | return; 22 | } 23 | 24 | NProgress.start(); 25 | }, [state]); 26 | 27 | return null; 28 | } 29 | -------------------------------------------------------------------------------- /web/app/components/interface/page-error.tsx: -------------------------------------------------------------------------------- 1 | import { isRouteErrorResponse } from 'react-router'; 2 | 3 | import { Frown } from 'lucide-react'; 4 | import { FetchError } from '~/utils/http'; 5 | 6 | type PageErrorProps = { 7 | error: unknown; 8 | }; 9 | 10 | export function PageError({ error }: PageErrorProps) { 11 | let title = 'Oops!'; 12 | let subtitle = 'An unexpected error occurred.'; 13 | 14 | if (error instanceof FetchError) { 15 | if (error.status === 404) { 16 | title = 'Page not found'; 17 | subtitle = 'Please make sure the page you are looking for exists.'; 18 | } else { 19 | title = error.message; 20 | subtitle = 'Please consider refreshing the page or trying again later.'; 21 | } 22 | } else if (isRouteErrorResponse(error)) { 23 | title = error.statusText; 24 | subtitle = error.data; 25 | } else if (error instanceof Error) { 26 | title = error.message; 27 | subtitle = 'Please consider refreshing the page or trying again later.'; 28 | } 29 | 30 | return ( 31 |
32 |
33 | 34 |

{title}

35 |

{subtitle}

36 |
37 |
38 | ); 39 | } 40 | -------------------------------------------------------------------------------- /web/app/components/interface/primary-button.tsx: -------------------------------------------------------------------------------- 1 | import { cn } from '~/utils/classname'; 2 | import { Slot } from '@radix-ui/react-slot'; 3 | 4 | type PrimaryButtonProps = React.ComponentProps<'button'> & { 5 | className?: string; 6 | disabled?: boolean; 7 | asChild?: boolean; 8 | }; 9 | 10 | export function PrimaryButton(props: PrimaryButtonProps) { 11 | const { children, className, disabled, asChild, ...rest } = props; 12 | 13 | const Comp = asChild ? Slot : 'button'; 14 | 15 | return ( 16 | 25 | {children} 26 | 27 | ); 28 | } 29 | -------------------------------------------------------------------------------- /web/app/components/quran/chapter-header.tsx: -------------------------------------------------------------------------------- 1 | type ChapterHeaderProps = { 2 | title: string; 3 | translation: string; 4 | subtitle: string; 5 | }; 6 | 7 | export function ChapterHeader(props: ChapterHeaderProps) { 8 | const { title, translation, subtitle } = props; 9 | 10 | return ( 11 |
12 |
{translation}
13 |

{title}

14 |
{subtitle}
15 |
16 | ); 17 | } 18 | -------------------------------------------------------------------------------- /web/app/components/quran/view-mode.tsx: -------------------------------------------------------------------------------- 1 | import { cn } from '~/utils/classname'; 2 | import { Languages, Book, BookA } from 'lucide-react'; 3 | 4 | export type ViewMode = 'translation' | 'arabic' | 'english'; 5 | 6 | type ViewModeProps = { 7 | mode: ViewMode; 8 | onChange: (mode: ViewMode) => void; 9 | }; 10 | 11 | const MODES: Array<{ id: ViewMode; icon: React.ReactNode }> = [ 12 | { id: 'translation', icon: }, 13 | { id: 'arabic', icon: }, 14 | { id: 'english', icon: }, 15 | ]; 16 | 17 | export function ViewMode(props: ViewModeProps) { 18 | const mode = props.mode; 19 | const onChange = props.onChange; 20 | 21 | return ( 22 |
23 | {MODES.map((viewMode) => ( 24 | 36 | ))} 37 |
38 | ); 39 | } 40 | -------------------------------------------------------------------------------- /web/app/config.ts: -------------------------------------------------------------------------------- 1 | export const config = { 2 | apiUrl: '', 3 | }; 4 | -------------------------------------------------------------------------------- /web/app/hooks/use-quran-view-mode.ts: -------------------------------------------------------------------------------- 1 | import { useEffect, useState } from 'react'; 2 | import type { ViewMode } from '~/components/quran/view-mode'; 3 | 4 | const VIEW_MODE_KEY = 'quran-view-mode'; 5 | 6 | export function useQuranViewMode() { 7 | const [mode, setMode] = useState(() => { 8 | if (typeof window === 'undefined') { 9 | return 'translation'; 10 | } 11 | 12 | return (localStorage.getItem(VIEW_MODE_KEY) as ViewMode) || 'translation'; 13 | }); 14 | 15 | useEffect(() => { 16 | localStorage.setItem(VIEW_MODE_KEY, mode); 17 | }, [mode]); 18 | 19 | return [mode, setMode] as const; 20 | } 21 | -------------------------------------------------------------------------------- /web/app/queries/hadith.ts: -------------------------------------------------------------------------------- 1 | import { httpGet } from '~/utils/http'; 2 | 3 | type BookType = { 4 | name: string; 5 | number: number; 6 | hadith_count: number; 7 | }; 8 | 9 | type ListBooksResponseType = BookType[]; 10 | 11 | export const listBooksOptions = () => ({ 12 | queryKey: ['list-hadith-books'], 13 | queryFn: async () => { 14 | const data = await httpGet('/api/hadith/books'); 15 | return data; 16 | }, 17 | }); 18 | 19 | type HadithType = { 20 | by: string; 21 | info: string; 22 | text: string; 23 | }; 24 | 25 | type BookResponseType = { 26 | name: string; 27 | number: number; 28 | hadiths: HadithType[]; 29 | hadith_count: number; 30 | }; 31 | 32 | export const getBookOptions = (bookNumber: number) => ({ 33 | queryKey: ['get-hadith-book', bookNumber], 34 | queryFn: async () => { 35 | const data = await httpGet(`/api/hadith/${bookNumber}`); 36 | return data; 37 | }, 38 | }); 39 | -------------------------------------------------------------------------------- /web/app/queries/names.ts: -------------------------------------------------------------------------------- 1 | import { httpGet } from '~/utils/http'; 2 | 3 | type NameType = { 4 | number: number; 5 | english: string; 6 | arabic: string; 7 | meaning: string; 8 | description: string; 9 | summary: string; 10 | location: string[]; 11 | }; 12 | 13 | type ListNamesResponseType = NameType[]; 14 | 15 | export const listNamesOptions = () => ({ 16 | queryKey: ['list-names'], 17 | queryFn: async () => { 18 | const data = await httpGet('/api/names'); 19 | return data; 20 | }, 21 | }); 22 | 23 | export const getNameOptions = (nameNumber: number) => ({ 24 | queryKey: ['get-name', nameNumber], 25 | queryFn: async () => { 26 | const data = await httpGet(`/api/names/${nameNumber}`); 27 | return data; 28 | }, 29 | }); 30 | -------------------------------------------------------------------------------- /web/app/queries/quran.ts: -------------------------------------------------------------------------------- 1 | import { httpGet } from '~/utils/http'; 2 | 3 | type ChapterType = { 4 | english: string; 5 | name: string; 6 | number: number; 7 | }; 8 | 9 | type ListSurahResponseType = ChapterType[]; 10 | 11 | export const listSurahsOptions = () => ({ 12 | queryKey: ['list-surahs'], 13 | queryFn: async () => { 14 | const data = await httpGet('/api/quran/chapters'); 15 | return data; 16 | }, 17 | }); 18 | 19 | type WordByWord = { 20 | arabic: string; 21 | english: string; 22 | transliteration: string; 23 | }; 24 | 25 | type VerseType = { 26 | chapter: number; 27 | number: number; 28 | text: string; 29 | arabic: string; 30 | words?: WordByWord[]; 31 | }; 32 | 33 | type ChapterResponseType = { 34 | name: string; 35 | english: string; 36 | number: number; 37 | verses: VerseType[]; 38 | }; 39 | 40 | export const getChapterOptions = (chapterNumber: number) => ({ 41 | queryKey: ['get-chapter', chapterNumber], 42 | queryFn: async () => { 43 | const data = await httpGet( 44 | `/api/quran/${chapterNumber}` 45 | ); 46 | return data; 47 | }, 48 | }); 49 | -------------------------------------------------------------------------------- /web/app/queries/search.ts: -------------------------------------------------------------------------------- 1 | import { httpGet, httpPost } from '~/utils/http'; 2 | import { queryClient } from '~/utils/query-client'; 3 | 4 | type SearchReference = { 5 | text: string; 6 | score: number; 7 | metadata: Record; 8 | }; 9 | 10 | export type SearchResponseType = { 11 | q: string; 12 | answer: string; 13 | references: SearchReference[]; 14 | }; 15 | 16 | export type SearchHistoryType = { 17 | session: string; 18 | history: string[]; 19 | }; 20 | 21 | export const searchOptions = (query: string) => ({ 22 | queryKey: ['search', query], 23 | queryFn: async () => { 24 | if (!query.trim()) { 25 | return null; 26 | } 27 | 28 | const data = await httpPost('/api/search', { 29 | q: query, 30 | }); 31 | 32 | queryClient.invalidateQueries({ 33 | queryKey: [getSearchHistoryOptions().queryKey], 34 | }); 35 | 36 | return data; 37 | }, 38 | enabled: !!query.trim(), 39 | }); 40 | 41 | export const getSearchHistoryOptions = () => ({ 42 | queryKey: ['search-history'], 43 | queryFn: async () => { 44 | const data = await httpGet('/api/search'); 45 | return data; 46 | }, 47 | }); 48 | -------------------------------------------------------------------------------- /web/app/root.tsx: -------------------------------------------------------------------------------- 1 | import { 2 | isRouteErrorResponse, 3 | Links, 4 | Meta, 5 | Outlet, 6 | Scripts, 7 | ScrollRestoration, 8 | } from 'react-router'; 9 | 10 | import type { Route } from './+types/root'; 11 | import './app.css'; 12 | import { QueryClientProvider } from '@tanstack/react-query'; 13 | import { queryClient } from '~/utils/query-client'; 14 | import { Loader2Icon } from 'lucide-react'; 15 | import { NavigationProgress } from '~/components/interface/navigation-progress'; 16 | import { PageError } from '~/components/interface/page-error'; 17 | 18 | export const links: Route.LinksFunction = () => [ 19 | { 20 | rel: 'preload', 21 | href: '/fonts/arabic.otf', 22 | as: 'font', 23 | type: 'font/otf', 24 | crossOrigin: 'anonymous', 25 | }, 26 | ]; 27 | 28 | export function Layout({ children }: { children: React.ReactNode }) { 29 | return ( 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | {children} 40 | 41 | 42 | 43 | 44 | 45 | 46 | ); 47 | } 48 | 49 | export default function App() { 50 | return ; 51 | } 52 | 53 | export function ErrorBoundary({ error }: Route.ErrorBoundaryProps) { 54 | return ; 55 | } 56 | 57 | export function HydrateFallback() { 58 | return ( 59 |
60 |
61 | 62 | 63 | please wait  64 | ... 65 | 66 |
67 |
68 | ); 69 | } 70 | -------------------------------------------------------------------------------- /web/app/routes.ts: -------------------------------------------------------------------------------- 1 | import { type RouteConfig } from '@react-router/dev/routes'; 2 | import { flatRoutes } from '@react-router/fs-routes'; 3 | 4 | export default flatRoutes() satisfies RouteConfig; 5 | -------------------------------------------------------------------------------- /web/app/routes/_app.daily.tsx: -------------------------------------------------------------------------------- 1 | import { useQuery } from '@tanstack/react-query'; 2 | import { httpGet } from '~/utils/http'; 3 | import React from 'react'; 4 | 5 | interface DailyResponse { 6 | name: string; 7 | hadith: string; 8 | verse: string; 9 | } 10 | 11 | export default function DailyPage() { 12 | const { data, isLoading, error } = useQuery({ 13 | queryKey: ['daily'], 14 | queryFn: async () => httpGet('/api/daily'), 15 | }); 16 | 17 | return ( 18 |
19 |

20 | Daily Reminder 21 |

22 | {isLoading &&

Loading...

} 23 | {error &&

Failed to load daily reminder.

} 24 | {data && ( 25 |
26 |
27 |

Quran Verse

28 |
29 | {data.verse} 30 |
31 |
32 |
33 |

Hadith

34 |
35 | {data.hadith} 36 |
37 |
38 |
39 |

Name of Allah

40 |
41 | {data.name} 42 |
43 |
44 |
45 | )} 46 |
47 | ); 48 | } 49 | -------------------------------------------------------------------------------- /web/app/routes/_app.hadith.tsx: -------------------------------------------------------------------------------- 1 | import type { Route } from '.react-router/types/app/routes/+types/_app.hadith'; 2 | import { useSuspenseQuery } from '@tanstack/react-query'; 3 | import { useEffect, useRef } from 'react'; 4 | import { Outlet, useLocation } from 'react-router'; 5 | import { SearchableSidebar, type SidebarItem } from '~/components/interface/searchable-sidebar'; 6 | import { listBooksOptions } from '~/queries/hadith'; 7 | import { queryClient } from '~/utils/query-client'; 8 | 9 | export async function clientLoader(props: Route.LoaderArgs) { 10 | await queryClient.ensureQueryData(listBooksOptions()); 11 | } 12 | 13 | export default function Hadith() { 14 | const { data: books } = useSuspenseQuery(listBooksOptions()); 15 | const location = useLocation(); 16 | const containerRef = useRef(null); 17 | 18 | useEffect(() => { 19 | if (containerRef.current) { 20 | containerRef.current.scrollTo({ top: 0 }); 21 | } 22 | }, [location.pathname]); 23 | 24 | const sidebarItems: SidebarItem[] = books?.map((book, counter) => { 25 | const number = counter + 1; 26 | return { 27 | key: book.name, 28 | text: book.name, 29 | path: `/hadith/${number}`, 30 | number, 31 | searchableText: [book.name] 32 | }; 33 | }) || []; 34 | 35 | return ( 36 |
37 | 41 | 42 |
46 | 47 |
48 |
49 | ); 50 | } 51 | -------------------------------------------------------------------------------- /web/app/routes/_app.names.tsx: -------------------------------------------------------------------------------- 1 | import { useSuspenseQuery } from '@tanstack/react-query'; 2 | import { useEffect, useRef } from 'react'; 3 | import { Outlet, useLocation } from 'react-router'; 4 | import { SearchableSidebar, type SidebarItem } from '~/components/interface/searchable-sidebar'; 5 | import { listNamesOptions } from '~/queries/names'; 6 | import { queryClient } from '~/utils/query-client'; 7 | 8 | export async function clientLoader() { 9 | await queryClient.ensureQueryData(listNamesOptions()); 10 | } 11 | 12 | export default function Names() { 13 | const { data: names } = useSuspenseQuery(listNamesOptions()); 14 | const location = useLocation(); 15 | const containerRef = useRef(null); 16 | 17 | useEffect(() => { 18 | if (containerRef.current) { 19 | containerRef.current.scrollTo({ top: 0 }); 20 | } 21 | }, [location.pathname]); 22 | 23 | const sidebarItems: SidebarItem[] = names?.map(name => ({ 24 | key: name.number, 25 | text: name.english, 26 | path: `/names/${name.number}`, 27 | number: name.number, 28 | searchableText: [name.meaning, name.english], 29 | extra: name.meaning 30 | })) || []; 31 | 32 | return ( 33 |
34 | 38 | 39 |
43 | 44 |
45 |
46 | ); 47 | } 48 | -------------------------------------------------------------------------------- /web/app/routes/_app.quran.tsx: -------------------------------------------------------------------------------- 1 | import type { Route } from '.react-router/types/app/routes/+types/_app.quran'; 2 | import { useSuspenseQuery } from '@tanstack/react-query'; 3 | import { useEffect, useRef } from 'react'; 4 | import { Outlet, useLocation } from 'react-router'; 5 | import { 6 | SearchableSidebar, 7 | type SidebarItem, 8 | } from '~/components/interface/searchable-sidebar'; 9 | import { listSurahsOptions } from '~/queries/quran'; 10 | import { queryClient } from '~/utils/query-client'; 11 | 12 | export async function clientLoader(props: Route.LoaderArgs) { 13 | await queryClient.ensureQueryData(listSurahsOptions()); 14 | } 15 | 16 | export default function Quran() { 17 | const { data: chapters } = useSuspenseQuery(listSurahsOptions()); 18 | const location = useLocation(); 19 | const containerRef = useRef(null); 20 | 21 | useEffect(() => { 22 | if (containerRef.current) { 23 | containerRef.current.scrollTo({ top: 0 }); 24 | } 25 | }, [location.pathname]); 26 | 27 | const sidebarItems: SidebarItem[] = 28 | chapters?.map((chapter) => ({ 29 | key: chapter.number, 30 | text: chapter.name, 31 | path: `/quran/${chapter.number}`, 32 | number: chapter.number, 33 | extra: chapter.english, 34 | searchableText: [ 35 | chapter.english, // English name 36 | chapter.name, // Transliteration 37 | String(chapter.number) 38 | ] 39 | })) || []; 40 | 41 | return ( 42 |
43 | 47 | 48 |
52 | 53 |
54 |
55 | ); 56 | } 57 | -------------------------------------------------------------------------------- /web/app/routes/_app.tsx: -------------------------------------------------------------------------------- 1 | import { Code, Search } from 'lucide-react'; 2 | import { Outlet, NavLink } from 'react-router'; 3 | import { cn } from '~/utils/classname'; 4 | 5 | export default function AppLayout() { 6 | const buttonClass = ({ isActive }: { isActive: boolean }) => 7 | cn( 8 | 'bg-white transition-colors hover:opacity-100 flex items-center gap-1 text-black px-2 py-0.5 rounded-md text-xs', 9 | isActive 10 | ? 'bg-white opacity-100 text-black' 11 | : 'bg-black text-white hover:bg-white hover:text-black' 12 | ); 13 | 14 | return ( 15 |
16 |
17 | 18 | Quran 19 | 20 | 21 | Hadith 22 | 23 | 24 | Names 25 | 26 | 27 | Daily 28 | 29 | 30 | Islam 31 | 32 | 33 |
34 | / 35 | 36 | 37 | Search 38 | 39 | 40 | 41 | API Usage 42 | 43 |
44 | 45 |
46 | 47 | 48 | Ask 49 | 50 | 51 | 52 | API 53 | 54 |
55 |
56 | 57 |
58 | ); 59 | } 60 | -------------------------------------------------------------------------------- /web/app/routes/_index.tsx: -------------------------------------------------------------------------------- 1 | import { Link } from 'react-router'; 2 | import type { Route } from './+types/_index'; 3 | import { Code, Globe2 } from 'lucide-react'; 4 | 5 | export function meta({}: Route.MetaArgs) { 6 | return [ 7 | { title: 'Reminder - Quran & Hadith' }, 8 | { 9 | name: 'description', 10 | content: 'Access Quran, hadith, and more through our app and API', 11 | }, 12 | ]; 13 | } 14 | 15 | export default function Home() { 16 | return ( 17 |
18 |

reminder

19 |

20 | Quran, hadith, and more as an app and API 21 |

22 | 23 |
24 | 28 | 29 | App 30 | Read Quran, hadith, and more 31 | 32 | 36 | 37 | API 38 | Develop using our free API 39 | 40 |
41 |
42 | ); 43 | } 44 | -------------------------------------------------------------------------------- /web/app/utils/classname.ts: -------------------------------------------------------------------------------- 1 | import { clsx, type ClassValue } from 'clsx'; 2 | import { twMerge } from 'tailwind-merge'; 3 | 4 | export function cn(...inputs: ClassValue[]) { 5 | return twMerge(clsx(inputs)); 6 | } 7 | -------------------------------------------------------------------------------- /web/app/utils/query-client.ts: -------------------------------------------------------------------------------- 1 | import { QueryCache, QueryClient } from '@tanstack/react-query'; 2 | 3 | export const queryClient = new QueryClient({ 4 | queryCache: new QueryCache({}), 5 | defaultOptions: { 6 | queries: { 7 | staleTime: 1000 * 60 * 1, 8 | retry: false, 9 | }, 10 | }, 11 | }); 12 | -------------------------------------------------------------------------------- /web/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "reminder-fe", 3 | "private": true, 4 | "type": "module", 5 | "scripts": { 6 | "build": "react-router build", 7 | "dev": "react-router dev", 8 | "start": "react-router-serve ./build/server/index.js", 9 | "typecheck": "react-router typegen && tsc" 10 | }, 11 | "dependencies": { 12 | "@react-router/fs-routes": "^7.5.1", 13 | "@react-router/node": "^7.5.1", 14 | "@react-router/serve": "^7.5.1", 15 | "@tanstack/react-query": "^5.74.4", 16 | "clsx": "^2.1.1", 17 | "isbot": "^5.1.17", 18 | "lucide-react": "^0.501.0", 19 | "nprogress": "^0.2.0", 20 | "react": "^19.0.0", 21 | "react-dom": "^19.0.0", 22 | "react-router": "^7.5.1", 23 | "tailwind-merge": "^3.2.0", 24 | "@radix-ui/react-slot": "^1.2.0" 25 | }, 26 | "devDependencies": { 27 | "@react-router/dev": "^7.5.1", 28 | "@tailwindcss/vite": "^4.0.0", 29 | "@types/node": "^20", 30 | "@types/nprogress": "^0.2.3", 31 | "@types/react": "^19.0.1", 32 | "@types/react-dom": "^19.0.1", 33 | "react-router-devtools": "^1.1.0", 34 | "tailwindcss": "^4.0.0", 35 | "typescript": "^5.7.2", 36 | "vite": "^5.4.11", 37 | "vite-tsconfig-paths": "^5.1.4" 38 | } 39 | } -------------------------------------------------------------------------------- /web/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asim/reminder/bd4b5ab29521104b61f7d977ad068861939b77d4/web/public/favicon.ico -------------------------------------------------------------------------------- /web/public/fonts/arabic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asim/reminder/bd4b5ab29521104b61f7d977ad068861939b77d4/web/public/fonts/arabic.otf -------------------------------------------------------------------------------- /web/react-router.config.ts: -------------------------------------------------------------------------------- 1 | import type { Config } from "@react-router/dev/config"; 2 | 3 | export default { 4 | // Config options... 5 | // Server-side render by default, to enable SPA mode set this to `false` 6 | ssr: false, 7 | prerender: [ 8 | '/', 9 | '/quran', 10 | '/hadith', 11 | '/names', 12 | '/api', 13 | ] 14 | } satisfies Config; 15 | -------------------------------------------------------------------------------- /web/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "include": [ 3 | "**/*", 4 | "**/.server/**/*", 5 | "**/.client/**/*", 6 | ".react-router/types/**/*" 7 | ], 8 | "compilerOptions": { 9 | "lib": ["DOM", "DOM.Iterable", "ES2022"], 10 | "types": ["node", "vite/client"], 11 | "target": "ES2022", 12 | "module": "ES2022", 13 | "moduleResolution": "bundler", 14 | "jsx": "react-jsx", 15 | "rootDirs": [".", "./.react-router/types"], 16 | "baseUrl": ".", 17 | "paths": { 18 | "~/*": ["./app/*"] 19 | }, 20 | "esModuleInterop": true, 21 | "verbatimModuleSyntax": true, 22 | "noEmit": true, 23 | "resolveJsonModule": true, 24 | "skipLibCheck": true, 25 | "strict": true 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /web/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { reactRouter } from '@react-router/dev/vite'; 2 | import tailwindcss from '@tailwindcss/vite'; 3 | import { defineConfig } from 'vite'; 4 | import tsconfigPaths from 'vite-tsconfig-paths'; 5 | 6 | export default defineConfig({ 7 | server: { 8 | proxy: { 9 | '/api/': { 10 | target: 'http://localhost:8080', 11 | changeOrigin: true, 12 | }, 13 | }, 14 | }, 15 | plugins: [tailwindcss(), reactRouter(), tsconfigPaths()], 16 | }); 17 | -------------------------------------------------------------------------------- /web/web/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "web", 3 | "lockfileVersion": 3, 4 | "requires": true, 5 | "packages": { 6 | "": { 7 | "dependencies": { 8 | "@types/react": "^19.1.6", 9 | "@types/react-dom": "^19.1.5", 10 | "react": "^19.1.0", 11 | "react-dom": "^19.1.0" 12 | } 13 | }, 14 | "node_modules/@types/react": { 15 | "version": "19.1.6", 16 | "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.6.tgz", 17 | "integrity": "sha512-JeG0rEWak0N6Itr6QUx+X60uQmN+5t3j9r/OVDtWzFXKaj6kD1BwJzOksD0FF6iWxZlbE1kB0q9vtnU2ekqa1Q==", 18 | "license": "MIT", 19 | "dependencies": { 20 | "csstype": "^3.0.2" 21 | } 22 | }, 23 | "node_modules/@types/react-dom": { 24 | "version": "19.1.5", 25 | "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.5.tgz", 26 | "integrity": "sha512-CMCjrWucUBZvohgZxkjd6S9h0nZxXjzus6yDfUb+xLxYM7VvjKNH1tQrE9GWLql1XoOP4/Ds3bwFqShHUYraGg==", 27 | "license": "MIT", 28 | "peerDependencies": { 29 | "@types/react": "^19.0.0" 30 | } 31 | }, 32 | "node_modules/csstype": { 33 | "version": "3.1.3", 34 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", 35 | "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", 36 | "license": "MIT" 37 | }, 38 | "node_modules/react": { 39 | "version": "19.1.0", 40 | "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", 41 | "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", 42 | "license": "MIT", 43 | "engines": { 44 | "node": ">=0.10.0" 45 | } 46 | }, 47 | "node_modules/react-dom": { 48 | "version": "19.1.0", 49 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", 50 | "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", 51 | "license": "MIT", 52 | "dependencies": { 53 | "scheduler": "^0.26.0" 54 | }, 55 | "peerDependencies": { 56 | "react": "^19.1.0" 57 | } 58 | }, 59 | "node_modules/scheduler": { 60 | "version": "0.26.0", 61 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", 62 | "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", 63 | "license": "MIT" 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /web/web/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "@types/react": "^19.1.6", 4 | "@types/react-dom": "^19.1.5", 5 | "react": "^19.1.0", 6 | "react-dom": "^19.1.0" 7 | } 8 | } 9 | --------------------------------------------------------------------------------