al-quran.reflectslight.io/README.md

126 lines
3.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
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
2024-10-18 06:39:08 +02:00
## Development
### 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-10-27 03:50:17 +01:00
### Optional
The following tools are used during the generation of the
website's favicons. The favicons generally do not change
and unless you're working with the favicons directly you
won't need to install these tools:
* rsgv-convert (via [libsvg2](https://gnome.pages.gitlab.gnome.org/librsvg/Rsvg-2.0/overview.html))
* convert (via [ImageMagick](https://imagemagick.org/))
2024-10-18 06:39:08 +02:00
### Examples
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)
2024-08-21 03:57:05 +02:00
before running `bundle exec rake nanoc:build`.
2024-08-12 22:52:58 +02:00
* **audio.base_url** <br>
`audio.base_url` controls what web server serves
2024-08-22 11:38:03 +02:00
audio content.
2024-08-28 01:26:02 +02:00
[The default](https://audio.al-quran.reflectslight.io/rifai)
2024-08-12 22:52:58 +02:00
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.
2024-08-28 01:26:02 +02:00
The https://audio.al-quran.reflectslight.io endpoint
2024-08-12 22:52:58 +02:00
provides the following recitations:
- Mishari bin Rashed Alafasy <br>
2024-08-28 01:26:02 +02:00
https://audio.al-quran.reflectslight.io/alafasy
2024-08-12 22:52:58 +02:00
- Ahmad bin Ali Al-Ajmi <br>
2024-08-28 01:26:02 +02:00
https://audio.al-quran.reflectslight.io/alajmi
2024-08-12 22:52:58 +02:00
- Sahl Yassin <br>
2024-08-28 01:26:02 +02:00
https://audio.al-quran.reflectslight.io/yassin
2024-08-22 11:38:03 +02:00
- Hani ar-Rifai <br>
2024-08-28 01:26:02 +02:00
https://audio.al-quran.reflectslight.io/rifai
2024-06-08 01:47:38 +02:00
2024-08-12 22:52:58 +02:00
**Note**<br>
2024-08-22 11:38:03 +02:00
Due to their overall size the audio files are the only
files **not** kept in this repository. The audio files
2024-08-28 01:26:02 +02:00
are hosted by https://audio.al-quran.reflectslight.io
instead.
2024-08-12 22:52:58 +02:00
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-08-22 15:03:46 +02:00
- Hani ar-Rifai
2024-06-08 01:47:38 +02:00
2024-09-21 13:12:59 +02:00
## Sources
* [GitHub](https://github.com/ReflectsLight/al-quran.reflectslight.io)
2024-10-22 07:45:39 +02:00
* [GitLab](https://gitlab.com/ReflectsLight/al-quran.reflectslight.io)
2024-10-22 07:13:53 +02:00
* [brew.bsd.cafe/@ReflectsLight](https://brew.bsd.cafe/ReflectsLight/al-quran.reflectslight.io)
2024-09-21 13:12:59 +02:00
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>
2024-10-20 06:53:08 +02:00
See [LICENSE](./share/al-quran.reflectslight.io/LICENSE) for details