Commit graph

114 commits

Author SHA1 Message Date
61c73c88df Scope eslint NPM scripts to src/js/ 2023-01-05 00:15:45 -03:00
723a6d9e55 Add "lint:eslint:fix" task 2023-01-05 00:14:54 -03:00
22fd27bba9 Add "@typescript-eslint/member-delimiter-style" rule
Apply to all files in /src/js/
2023-01-04 23:48:35 -03:00
2b06c933ee Remove prefix from 'Props'
For example, 'StreamProps' is now simply 'Props'
2023-01-04 23:32:49 -03:00
38f9101bd8 readme: update 2023-01-03 23:04:37 -03:00
de538b2a00 Maintain rtl direction on .surah-row.surah-details 2022-12-30 08:58:43 -03:00
56c8bfbbc6 Preload Arabic font (Vazitmatn Regular)
This change should improve performance when switching between
the English, and Arabic languages.

Fix #66
2022-12-30 08:58:43 -03:00
8626dad6d9 Revise HTML markup, and stylesheets
* Remove the 'AboutSurah' component:
  It is too simple to be worth being a component.

* Prefer long-form CSS syntax over SCSS indentation:
  I think it is easier to read, although there's probably
  still a soft spot to find between the two.

* Rename root class from 'surah' to 'root-box'.

* Rename / revise other CSS class names.
2022-12-30 08:39:59 -03:00
37faf82a42 Prevent timer going out of sync when switching themes
I discovered this bug while testing recent changes on iOS.
After the theme was changed, there appeared to be two active
threads of execution that would step on each other's toes.

Storing the surah with useState() appears to have fixed the
bug.
2022-12-28 05:00:10 -03:00
652e787013 Add support for ?ayah=X query parameter
This query parameter can be used to start a surah at the given ayah,
and it is used by the LanguageSelect component when switching between
languages.

Fix https://github.com/ReflectsLight/al-quran/issues/61
2022-12-28 04:06:07 -03:00
431bde851c Add Select component
The Select component renders a list, and provides more flexibility
in how the element is styled (compared to a regular "<select>").
2022-12-28 04:01:23 -03:00
7a27036425 Don't exit when "sh" fails
When 'rake watch:deploy:local' is being used, do not exit when
compilation fails but instead wait for a fix to be applied, and then
re-compile the site.
2022-12-28 03:40:49 -03:00
728b10e524 Build as soon as "rake watch:deploy:local" runs 2022-12-27 03:42:20 -03:00
f1e63d6132 Rules: change 'depend_on' patterns 2022-12-27 03:42:20 -03:00
76db482721 Surah.ts: add 'slug' getter. 2022-12-27 03:42:20 -03:00
4cef8416fd WebPackage: add 'fetchOptions'. 2022-12-27 03:42:20 -03:00
5a7f49c2c2 add LanguageSelect.tsx 2022-12-27 03:42:20 -03:00
3b9c68ebe6 Replace useSurah with Surah.fromDOMNode
Fix https://github.com/ReflectsLight/al-quran/issues/56
2022-12-26 19:10:22 -03:00
f1f94f46ea Adjust read time calculations
A baseline of two seconds is introduced, and when
the Arabic locale is being used, each word has a
weight of 750ms rather than 500ms.
2022-12-26 17:37:43 -03:00
667767459a Correct typo's in Arabic text.
See https://github.com/ReflectsLight/quran-pull/pull/3
2022-12-26 04:22:00 -03:00
f1fd6c4e00 Add localization for hard-coded English strings
* Replace "Surah X, Ayah Y" with its Arabic equivalenets.

* Add support for Eastern Arabic Numerals . For use with
  the Arabic, and Farsi languages.
2022-12-25 20:15:30 -03:00
112f0aaec7 Add eslint-autofix script 2022-12-24 15:52:14 -03:00
e2111e33c6 Display the name of a surah in Arabic when locale is "ar" 2022-12-24 15:52:14 -03:00
7d68da0293 Fix CSS precendence of media rules
Adjust <=595px rule to a height of 330px.
Ref #53
2022-12-24 14:22:01 -03:00
0cf6089fb7 Fit content on 1378x768 device (follow up)
The previous commits broke support on Chrome / Safari on iOS.
`HTMLElement.scroll` does not seem to work when the height is set
as a percentage. This commit also uses `HTMLElement#scrollHeight`
instead of "offsetHeight".
2022-12-24 14:13:22 -03:00
c928f56601 Fit content on 1368x768 device (follow up)
Follow up to 80881311badb47133cbcdf440ee0cf470efae6ae
2022-12-24 13:01:53 -03:00
8d076fc5d6 Fit content (vertically) on 1368x768 device
I bought a new laptop recently, and I discovered that I couldn't view
a surah without a vertical scroll bar. The timer for an ayah wasn't
visible without scrolling. This change will hopefully address that.
2022-12-24 11:50:06 -03:00
c21e82d77d Fix dependency tree
Depend on ryo.rb, nanoc-gunzip.rb, and nanoc-webpack.rb via git.
2022-12-24 11:19:37 -03:00
ce7606b62c The theme image is now a link that goes to / 2022-12-07 14:25:27 -03:00
b7d6c9262e Rules: add a more precise compilation rule 2022-11-28 00:33:23 -03:00
aca7450b81 src/css: remove unneccessary styles. 2022-11-28 00:33:23 -03:00
2938148148 add 'env:verify-production-branch' task
fix #35
2022-11-28 00:30:35 -03:00
45a39b6d25 src/css: assign meaningful class names to "span:first-child" 2022-11-20 06:31:00 -03:00
eadc482e07 swap css variable with scss variable. 2022-11-20 06:31:00 -03:00
dfd6d2bdb4 src/css/: add improvements 2022-11-20 06:31:00 -03:00
c8b241ee6f fix: shell out to call rake task >1 time.
Rake::Task[".."].invoke disables the task after it has been invoked.
2022-11-20 06:20:10 -03:00
b8380f4717 Gemfile: update. 2022-11-20 04:41:28 -03:00
de1440b1d8 add 'rake watch' tasks
Add two 'rake watch' tasks:

- 'rake watch:server'
Watch for changes using the Ruby web server.

- 'rake watch:deploy:local'
Watch for changes using a local web server (eg nginx).

Fix #24
2022-11-20 04:41:28 -03:00
955e0ef1e2 depend on version of nanoc-webpack.rb that supports dep tracking.
Related #24
2022-11-20 00:37:06 -03:00
8dc3b4d9dd add "title" to redirect-to-random-surah.html.erb page. 2022-11-19 19:28:10 -03:00
8b01a5f575 redirect from index.html with one redirect rather than two.
Fix #41
2022-11-19 19:28:10 -03:00
2bd63c2524 readme: update. 2022-11-19 18:48:28 -03:00
bcddb88eb6 readme: update 2022-11-19 18:46:28 -03:00
5b122edaf1 readme: update. 2022-11-19 18:45:06 -03:00
dc1717465f README: add "Authors" section. 2022-11-19 18:35:25 -03:00
96baf1ff40 actions: add "build" step, add "prepare-env" action. 2022-11-19 18:31:52 -03:00
36a8ad84fd Gemfile: update nanoc-webpack.rb 2022-11-18 23:48:57 -03:00
816ea05288 filters/: add nanoc-webpack.rb
Replace lib/filters/webpack.rb with
[nanoc-webpack.rb](https://github.com/0x1eef/nanoc-webpack.rb)
2022-11-18 22:27:54 -03:00
889651cee4 Rules: remove unneccessary "exe" option 2022-11-18 17:09:32 -03:00
616f5d6073 add "WebPackage"
The "WebPackage" object allows for scripts, stylesheets, fonts, images
and other webpage assets to be downloaded for the page's primary content
to use afterwards.
2022-11-18 17:09:32 -03:00