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 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":1019016,"index.wasm":39514754},"focusCanvas":true,"gdextensionLibs":[],"godotPoolSize":4,"serviceWorker":"index.service.worker.js"};
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
 
@@ -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
@@ -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 = '1792108389|2366417';
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.6",
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.npm.md",
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.