al-quran.reflectslight.io/README.md

110 lines
2.7 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
a web server such as nginx, apache, etc.
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-05-02 13:04:35 +02:00
* Ruby 3.1 (or later)
* NodeJS v18.15 (or later)
* [tidy-html5](https://github.com/htacg/tidy-html5)
2023-03-13 17:13:58 +01:00
2024-05-20 04:36:41 +02:00
**Please note** that the audio files are hosted by
https://al-quran.reflectslight.io, and due to
their overall size they are only files **not**
kept in this repository.
2024-03-15 18:32:31 +01:00
## Development
2024-03-15 18:32:31 +01:00
# Clone repository
git clone https://github.com/ReflectsLight/al-quran.git
cd al-quran
2024-05-02 13:04:35 +02:00
# Setup build environment
bin/setup
2024-05-25 05:20:39 +02:00
# List all tasks
rake -T
2024-06-08 05:59:03 +02:00
# Build website (dev build)
2024-03-16 07:56:14 +01:00
rake nanoc:build
2024-06-08 05:59:03 +02:00
# Build website (production build)
2024-06-08 13:05:15 +02:00
rake nanoc:build[production]
2024-06-08 05:59:03 +02:00
2024-03-15 18:32:31 +01:00
# Start web server
2023-07-05 04:32:16 +02:00
rake server
## Configuration
2024-06-07 20:49:26 +02:00
**server.base_url**
2024-06-02 09:45:52 +02:00
If you plan to host the website on
2024-06-08 13:08:34 +02:00
your own domain you should update
[nanoc.yaml](nanoc.yaml)
2024-06-02 09:45:52 +02:00
first. In certain places
links will reference
https://al-quran.reflectslight.io
instead of using a relative path.
For example
2024-06-02 09:53:50 +02:00
[/src/sitemap.xml.erb](/src/sitemap.xml.erb)
2024-06-02 09:45:52 +02:00
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)
before running `rake nanoc:build`.
2024-06-07 20:49:26 +02:00
**audio.base_url**
2024-06-07 23:12:52 +02:00
`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
2024-06-07 20:40:11 +02:00
`/<surahid>/<ayahid>.mp3`. The `audio.base_url` option
2024-06-08 13:05:15 +02:00
makes it relatively easy to change the reciter
at build time, before deploying the website.
2024-06-08 02:05:39 +02:00
The https://al-quran.reflectslight.io web server
provides the following recitations:
2024-06-07 22:47:36 +02:00
2024-06-08 02:05:39 +02:00
- Mishari bin Rashed Alafasy <br>
2024-06-07 22:47:36 +02:00
https://al-quran.reflectslight.io/audio/alafasy
- Ahmad bin Ali Al-Ajmi <br>
https://al-quran.reflectslight.io/audio/alajmi
2024-06-08 01:24:33 +02:00
- Sahl Yassin <br>
https://al-quran.reflectslight.io/audio/yassin
2024-06-08 01:47:38 +02:00
2023-10-08 00:32:27 +02:00
## Thanks
2023-03-13 17:13:58 +01:00
2024-05-20 04:35:43 +02:00
Alhamdulillah
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)
2023-07-10 04:34:38 +02:00
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-03-15 18:32:31 +01:00
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