qurantathbit 1.0.6 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -0
- package/index.192x192.png +0 -0
- package/index.html +2 -2
- package/index.manifest.json +1 -1
- package/index.pck +0 -0
- package/index.service.worker.js +1 -1
- package/package.json +3 -2
- package/README.npm.md +0 -43
package/README.md
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# QuranTathbit (web build)
|
|
2
|
+
|
|
3
|
+
The prebuilt **web build** of [QuranTathbit](https://github.com/mlibre/QuranTathbit) — a calm app for memorising the Qur'an — ready to serve from any static host, or to run with one command.
|
|
4
|
+
|
|
5
|
+
## Use it
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npx qurantathbit
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Downloads the package and serves it at <http://localhost:8080>. Or serve
|
|
12
|
+
the files yourself: everything here is static — `index.html`, the engine,
|
|
13
|
+
the deck's `.pck`, and the `decks/quran/` folder the recitations stream
|
|
14
|
+
from. Drop them on any static host (nginx, Caddy, an S3 bucket, GitHub
|
|
15
|
+
Pages) and they just work. From the browser's menu the page installs onto
|
|
16
|
+
a phone's home screen like any app — full-screen, offline, its own icon.
|
|
17
|
+
|
|
18
|
+
## What's inside
|
|
19
|
+
|
|
20
|
+
99 cards from Al-Fātiḥah and Al-Baqarah — each one a verse, its Persian
|
|
21
|
+
translation and a recitation, all from
|
|
22
|
+
[quran.makarem.ir](https://quran.makarem.ir) — on an SM-2
|
|
23
|
+
spaced-repetition schedule, with optional sync through your own private
|
|
24
|
+
GitHub repository.
|
|
25
|
+
|
|
26
|
+
- **Play it on GitHub Pages:** <https://mlibre.github.io/QuranTathbit/>
|
|
27
|
+
- **Desktop builds:** <https://github.com/mlibre/QuranTathbit/releases>
|
|
28
|
+
- **License:** MIT (code); card data carries its own attribution (see
|
|
29
|
+
LICENSE).
|
|
30
|
+
|
|
31
|
+
## 🇵🇸 In support of Palestine
|
|
32
|
+
|
|
33
|
+
This project stands with Palestine. If you are able, please consider donating
|
|
34
|
+
to [UNRWA](https://www.unrwa.org) or a trusted aid organization of your
|
|
35
|
+
choice.
|
|
Binary file
|
package/index.html
CHANGED
|
@@ -93,7 +93,7 @@ body {
|
|
|
93
93
|
<link id="-gd-engine-icon" rel="icon" type="image/png" href="index.icon.png" />
|
|
94
94
|
<link rel="apple-touch-icon" href="index.apple-touch-icon.png"/>
|
|
95
95
|
<link rel="manifest" href="index.manifest.json">
|
|
96
|
-
<style>body{background-color:#faf5ed}#status::before{content:'QuranTathbit';display:block;font:700 30px/1.25 system-ui,sans-serif;color:#14513d;margin-bottom:14px}#status::after{content:'the first visit downloads the app, then it is cached';display:block;font:400 13px/1.5 system-ui,sans-serif;color:#5c6b62;margin-top:18px}#status-progress{-webkit-appearance:none;appearance:none;border:0;height:10px;width:min(60vw,420px);border-radius:99px;overflow:hidden;background:#e6dfce}#status-progress::-webkit-progress-bar{background:#e6dfce;border-radius:99px}#status-progress::-webkit-progress-value{background:#1e6b52;border-radius:99px;transition:width .25s ease-out}#status-progress::-moz-progress-bar{background:#1e6b52;border-radius:99px}</style><script>(function(){if(typeof window.fetch!=='function'||typeof DecompressionStream==='undefined'){return}var nativeFetch=window.fetch.bind(window);function wasmUrl(u){var i=u.indexOf('index.wasm');if(i===-1){return false}var before=(i===0)?'':u.charAt(i-1);var after=u.charAt(i+10);return(before===''||before==='/')&&(after===''||after==='?'||after==='#')}window.fetch=function(input,init){var url=(typeof input==='string')?input:((input&&typeof input.url==='string')?input.url:'');if(!wasmUrl(url)){return nativeFetch(input,init)}return nativeFetch(url.replace('index.wasm','index.wasm.gz'),{credentials:'same-origin'}).then(function(resp){if(!resp.ok){throw new Error('gz missing')}var enc=(resp.headers.get('content-encoding')||'').toLowerCase();if(enc.indexOf('gzip')!==-1){return resp}return new Response(resp.body.pipeThrough(new DecompressionStream('gzip')),{status:200,headers:{'content-type':'application/wasm'}})}).catch(function(){return nativeFetch(input,init)})}})();</script><script>/*qt-browser-keys*/(function(){'use strict';function r(e){var k=e.key;if(!k){return false}var key=(k.length===1)?k.toLowerCase():k;var c=e.ctrlKey||e.metaKey;if(key==='F5'||key==='F6'||key==='F11'||key==='F12'){return true}if(c&&!e.altKey&&(key==='r'||key==='u'||key==='l'||key==='f'||key==='g'||key==='d'||key==='p'||key==='s'||key==='t'||key==='n'||key==='w')){return true}if(c&&e.shiftKey&&(key==='i'||key==='j'||key==='c'||key==='k')){return true}if(c&&(key==='+'||key==='='||key==='-'||key==='0')){return true}if(e.altKey&&(key==='d'||key==='ArrowLeft'||key==='ArrowRight')){return true}return false}function g(e){if(r(e)){e.stopImmediatePropagation();e.stopPropagation()}}window.addEventListener('keydown',g,true);window.addEventListener('keyup',g,true)})();</script>
|
|
96
|
+
<style>body{background-color:#faf5ed}#status::before{content:'QuranTathbit';display:block;font:700 30px/1.25 system-ui,sans-serif;color:#14513d;margin-bottom:14px}#status::after{content:'the first visit downloads the app, then it is cached';display:block;font:400 13px/1.5 system-ui,sans-serif;color:#5c6b62;margin-top:18px}#status-progress{-webkit-appearance:none;appearance:none;border:0;height:10px;width:min(60vw,420px);border-radius:99px;overflow:hidden;background:#e6dfce}#status-progress::-webkit-progress-bar{background:#e6dfce;border-radius:99px}#status-progress::-webkit-progress-value{background:#1e6b52;border-radius:99px;transition:width .25s ease-out}#status-progress::-moz-progress-bar{background:#1e6b52;border-radius:99px}</style><script>(function(){if(typeof window.fetch!=='function'||typeof DecompressionStream==='undefined'){return}var nativeFetch=window.fetch.bind(window);function wasmUrl(u){var i=u.indexOf('index.wasm');if(i===-1){return false}var before=(i===0)?'':u.charAt(i-1);var after=u.charAt(i+10);return(before===''||before==='/')&&(after===''||after==='?'||after==='#')}window.fetch=function(input,init){var url=(typeof input==='string')?input:((input&&typeof input.url==='string')?input.url:'');if(!wasmUrl(url)){return nativeFetch(input,init)}return nativeFetch(url.replace('index.wasm','index.wasm.gz'),{credentials:'same-origin'}).then(function(resp){if(!resp.ok){throw new Error('gz missing')}var enc=(resp.headers.get('content-encoding')||'').toLowerCase();if(enc.indexOf('gzip')!==-1){return resp}return new Response(resp.body.pipeThrough(new DecompressionStream('gzip')),{status:200,headers:{'content-type':'application/wasm'}})}).catch(function(){return nativeFetch(input,init)})}})();</script><script>/*qt-browser-keys*/(function(){'use strict';function r(e){var k=e.key;if(!k){return false}var key=(k.length===1)?k.toLowerCase():k;var c=e.ctrlKey||e.metaKey;if(key==='F5'||key==='F6'||key==='F11'||key==='F12'){return true}if(c&&!e.altKey&&(key==='r'||key==='u'||key==='l'||key==='f'||key==='g'||key==='d'||key==='p'||key==='s'||key==='t'||key==='n'||key==='w')){return true}if(c&&e.shiftKey&&(key==='i'||key==='j'||key==='c'||key==='k')){return true}if(c&&(key==='+'||key==='='||key==='-'||key==='0')){return true}if(e.altKey&&(key==='d'||key==='ArrowLeft'||key==='ArrowRight')){return true}return false}function g(e){if(r(e)){e.stopImmediatePropagation();e.stopPropagation()}}window.addEventListener('keydown',g,true);window.addEventListener('keyup',g,true)})();</script><meta name='apple-mobile-web-app-capable' content='yes'><meta name='mobile-web-app-capable' content='yes'><meta name='apple-mobile-web-app-title' content='QuranTathbit'>
|
|
97
97
|
</head>
|
|
98
98
|
<body>
|
|
99
99
|
<canvas id="canvas">
|
|
@@ -112,7 +112,7 @@ body {
|
|
|
112
112
|
|
|
113
113
|
<script src="index.js"></script>
|
|
114
114
|
<script>
|
|
115
|
-
const GODOT_CONFIG = {"args":[],"canvasResizePolicy":2,"emscriptenPoolSize":8,"ensureCrossOriginIsolationHeaders":true,"executable":"index","experimentalVK":false,"fileSizes":{"index.pck":
|
|
115
|
+
const GODOT_CONFIG = {"args":[],"canvasResizePolicy":2,"emscriptenPoolSize":8,"ensureCrossOriginIsolationHeaders":true,"executable":"index","experimentalVK":false,"fileSizes":{"index.pck":922228,"index.wasm":39514754},"focusCanvas":true,"gdextensionLibs":[],"godotPoolSize":4,"serviceWorker":"index.service.worker.js"};
|
|
116
116
|
const GODOT_THREADS_ENABLED = false;
|
|
117
117
|
const engine = new Engine(GODOT_CONFIG);
|
|
118
118
|
|
package/index.manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"background_color":"#faf5ed","theme_color":"#14513d","display":"standalone","icons":[{"sizes":"144x144","src":"index.144x144.png","type":"image/png"},{"sizes":"180x180","src":"index.180x180.png","type":"image/png"},{"sizes":"512x512","src":"index.512x512.png","type":"image/png"}],"name":"QuranTathbit","orientation":"any","start_url":"./index.html"}
|
|
1
|
+
{"background_color":"#faf5ed","theme_color":"#14513d","display":"standalone","icons":[{"sizes":"192x192","src":"index.192x192.png","type":"image/png"},{"sizes":"144x144","src":"index.144x144.png","type":"image/png"},{"sizes":"180x180","src":"index.180x180.png","type":"image/png"},{"sizes":"512x512","src":"index.512x512.png","type":"image/png"}],"name":"QuranTathbit","orientation":"any","start_url":"./index.html","short_name":"QuranTathbit","description":"A calm app for memorising the Qur'an."}
|
package/index.pck
CHANGED
|
Binary file
|
package/index.service.worker.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// Incrementing CACHE_VERSION will kick off the install event and force
|
|
5
5
|
// previously cached resources to be updated from the network.
|
|
6
6
|
/** @type {string} */
|
|
7
|
-
const CACHE_VERSION = '
|
|
7
|
+
const CACHE_VERSION = '1792111273|2361519';
|
|
8
8
|
/** @type {string} */
|
|
9
9
|
const CACHE_PREFIX = 'QuranTathbit-sw-cache-';
|
|
10
10
|
const CACHE_NAME = CACHE_PREFIX + CACHE_VERSION;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "qurantathbit",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"description": "A quiet companion for keeping the Qur'an close — one deck, one card at a time, with your own GitHub as the cloud. Web build served from any static host or `npx qurantathbit`.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"index.pck",
|
|
31
31
|
"index.icon.png",
|
|
32
32
|
"index.apple-touch-icon.png",
|
|
33
|
+
"index.192x192.png",
|
|
33
34
|
"index.png",
|
|
34
35
|
"index.audio.worklet.js",
|
|
35
36
|
"index.audio.position.worklet.js",
|
|
@@ -40,7 +41,7 @@
|
|
|
40
41
|
"index.180x180.png",
|
|
41
42
|
"index.512x512.png",
|
|
42
43
|
"decks/",
|
|
43
|
-
"README.
|
|
44
|
+
"README.md",
|
|
44
45
|
"LICENSE"
|
|
45
46
|
],
|
|
46
47
|
"scripts": {
|
package/README.npm.md
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
# QuranTathbit (web build)
|
|
2
|
-
|
|
3
|
-
A quiet companion for keeping the Qur'an close — one deck, one card at a time,
|
|
4
|
-
with your own GitHub as the cloud.
|
|
5
|
-
|
|
6
|
-
This npm package contains the prebuilt **web build** of QuranTathbit, ready to
|
|
7
|
-
serve from any static host or run with a single command.
|
|
8
|
-
|
|
9
|
-
## Use it
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
npx qurantathbit
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
That downloads the package and starts a small static server at
|
|
16
|
-
<http://localhost:8080>. Open it in your browser, press **Study**, and you are
|
|
17
|
-
in.
|
|
18
|
-
|
|
19
|
-
If you prefer to serve the files yourself, every file in this package is
|
|
20
|
-
static — `index.html`, the engine's `.js` and `.wasm`, the deck's `.pck`, and
|
|
21
|
-
the `decks/quran/` folder the recitations stream from. Drop them on any static
|
|
22
|
-
host (nginx, Caddy, GitHub Pages, an S3 bucket, anything) and they just work.
|
|
23
|
-
|
|
24
|
-
## What it is
|
|
25
|
-
|
|
26
|
-
- A small Godot 4.7 web app for memorising the Qur'an.
|
|
27
|
-
- 99 cards from Al-Fātiḥah and Al-Baqarah: the verse, the Persian translation,
|
|
28
|
-
and a recitation, all from [quran.makarem.ir](https://quran.makarem.ir).
|
|
29
|
-
- Spaced repetition (SM-2) that learns how well you remember.
|
|
30
|
-
- Optional sync through your own private GitHub repository.
|
|
31
|
-
|
|
32
|
-
## More
|
|
33
|
-
|
|
34
|
-
- **Project home:** <https://github.com/mlibre/QuranTathbit>
|
|
35
|
-
- **Play it on GitHub Pages:** <https://mlibre.github.io/QuranTathbit/>
|
|
36
|
-
- **Desktop builds:** <https://github.com/mlibre/QuranTathbit/releases>
|
|
37
|
-
- **License:** MIT (code); card data carries its own attribution (see LICENSE).
|
|
38
|
-
|
|
39
|
-
## 🇵🇸 In support of Palestine
|
|
40
|
-
|
|
41
|
-
This project stands with Palestine. If you are able, please consider donating
|
|
42
|
-
to [UNRWA](https://www.unrwa.org) or a trusted aid organization of your
|
|
43
|
-
choice.
|