al-quran.reflectslight.io/README.md

104 lines
3 KiB
Markdown
Raw Normal View History

2023-10-08 00:32:27 +02:00
## About
2023-03-08 17:06:10 +01:00
2024-05-20 04:35:43 +02:00
This repository contains the source code of
2024-05-26 21:48:08 +02:00
[al-quran.reflectslight.io](https://al-quran.reflectslight.io) -
2024-05-20 04:35:43 +02:00
a static website for reading (and listening to)
The Noble Quran. After the website is built,
the build directory consists of HTML, CSS, JavaScript
2024-05-26 04:08:37 +02:00
and other static assets that can be hosted by
2024-08-13 23:31:05 +02:00
a web server such as nginx, apache, et cetera.
2024-05-20 04:35:43 +02:00
## Requirements
2023-03-11 15:42:30 +01:00
2024-05-20 04:35:43 +02:00
The following languages and tools have to be
installed to build the website from source:
2024-06-21 00:03:47 +02:00
* Ruby 3.2 (or later)
2024-05-02 13:04:35 +02:00
* NodeJS v18.15 (or later)
* [tidy-html5](https://github.com/htacg/tidy-html5)
2023-03-13 17:13:58 +01:00
2024-03-15 18:32:31 +01:00
## Development
2024-03-15 18:32:31 +01:00
# Clone repository
2024-06-19 15:20:04 +02:00
git clone https://github.com/ReflectsLight/al-quran.reflectslight.io
cd al-quran.reflectslight.io
2024-05-02 13:04:35 +02:00
# Setup build environment
bin/setup
2024-05-25 05:20:39 +02:00
# List all tasks
2024-08-21 03:18:58 +02:00
bundle exec rake -T
2024-05-25 05:20:39 +02:00
2024-06-08 05:59:03 +02:00
# Build website (dev build)
2024-08-21 03:18:58 +02:00
bundle exec rake nanoc:build
2024-06-08 05:59:03 +02:00
# Build website (production build)
2024-08-21 03:18:58 +02:00
bundle exec rake nanoc:build[production]
2024-06-08 05:59:03 +02:00
2024-03-15 18:32:31 +01:00
# Start web server
2024-08-21 03:18:58 +02:00
bundle exec rake server
## Configuration
2024-08-12 22:52:58 +02:00
* **server.base_url** <br>
If you plan to host the website on
your own domain you should update
[nanoc.yaml](nanoc.yaml.sample)
first. In certain places
links will reference
https://al-quran.reflectslight.io
instead of using a relative path.
For example
[/src/sitemap.xml.erb](/src/sitemap.xml.erb)
is one such place. Those links can be updated
to your own domain by changing the `server.base_url`
field in
[nanoc.yaml](nanoc.yaml.sample)
before running `rake nanoc:build`.
* **audio.base_url** <br>
`audio.base_url` controls what web server serves
audio content.
[The default](https://al-quran.reflectslight.io/audio/alafasy)
works out of the box. The URL for an audio file is
resolved by joining `audio.base_url` and
`/<surahid>/<ayahid>.mp3`. The `audio.base_url` option
makes it relatively easy to change the reciter
at build time, before deploying the website.
The https://al-quran.reflectslight.io web server
provides the following recitations:
- Mishari bin Rashed Alafasy <br>
2024-06-07 22:47:36 +02:00
https://al-quran.reflectslight.io/audio/alafasy
2024-08-12 22:52:58 +02:00
- Ahmad bin Ali Al-Ajmi <br>
2024-06-07 22:47:36 +02:00
https://al-quran.reflectslight.io/audio/alajmi
2024-08-12 22:52:58 +02:00
- Sahl Yassin <br>
2024-06-08 01:24:33 +02:00
https://al-quran.reflectslight.io/audio/yassin
2024-06-08 01:47:38 +02:00
2024-08-12 22:52:58 +02:00
**Note**<br>
Due to their overall size the audio files are the only
files **not** kept in this repository. The audio files
are hosted by https://al-quran.reflectslight.io instead.
2023-10-08 00:32:27 +02:00
## Thanks
2023-03-13 17:13:58 +01:00
2024-08-12 22:52:58 +02:00
الْحَمْدُ لِلَّهِ رَبِّ الْعَالَمِينَ
2023-07-10 04:34:38 +02:00
2024-05-20 01:22:14 +02:00
* Thanks to the graphic artists:
2024-03-15 18:32:31 +01:00
- [RefreshIcon](/src/js/components/Icon.tsx)
by
2024-05-02 13:07:33 +02:00
[Muhammad Haq](https://freeicons.io/profile/823)
2024-05-20 01:22:14 +02:00
* Thanks to the translators:
2024-03-15 18:32:31 +01:00
- English (The Clear Quran) by Dr. Mustafa Khattab
2024-05-20 04:35:43 +02:00
- Farsi by Hussain Ansarian
2024-06-08 01:47:38 +02:00
* Thanks to the reciters:
- Mishari bin Rashed Alafasy
- Ahmad bin Ali Al-Ajmi
- Sahl Yassin
2024-03-15 18:32:31 +01:00
## License
2024-05-20 04:35:43 +02:00
The "source code" is released under the terms of the GPL <br>
See [LICENSE](./LICENSE) for details