.bundle | ||
.github | ||
bin | ||
nanoc | ||
packages | ||
rake/tasks | ||
share/doc/al-quran.reflectslight.io | ||
src | ||
submodules | ||
.editorconfig | ||
.gitignore | ||
.gitmodules | ||
.projectile | ||
.rubocop.yml | ||
eslint.config.mjs | ||
Gemfile | ||
Gemfile.lock | ||
LICENSE | ||
nanoc.yaml.sample | ||
package-lock.json | ||
package.json | ||
Rakefile.rb | ||
README.md | ||
Rules | ||
tsconfig.json | ||
VERSION | ||
webpack.common.js | ||
webpack.development.js | ||
webpack.production.js |
About
This repository contains the source code of al-quran.reflectslight.io - a static website for reading (and listening to) The Noble Quran. After the website is built, the build directory consists of HTML, CSS, JavaScript and other static assets that can be hosted by a web server such as nginx, apache, etc.
Requirements
The following languages and tools have to be installed to build the website from source:
- Ruby 3.2 (or later)
- NodeJS v18.15 (or later)
- tidy-html5
Development
# Clone repository
git clone https://github.com/ReflectsLight/al-quran.reflectslight.io
cd al-quran.reflectslight.io
# Setup build environment
bin/setup
# List all tasks
rake -T
# Build website (dev build)
rake nanoc:build
# Build website (production build)
rake nanoc:build[production]
# Start web server
rake server
Configuration
-
server.base_url
If you plan to host the website on your own domain you should update nanoc.yaml first. In certain places links will reference https://al-quran.reflectslight.io instead of using a relative path. For example /src/sitemap.xml.erb is one such place. Those links can be updated to your own domain by changing theserver.base_url
field in nanoc.yaml before runningrake nanoc:build
. -
audio.base_url
audio.base_url
controls what web server serves audio content. The default works out of the box. The URL for an audio file is resolved by joiningaudio.base_url
and/<surahid>/<ayahid>.mp3
. Theaudio.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
https://al-quran.reflectslight.io/audio/alafasy - Ahmad bin Ali Al-Ajmi
https://al-quran.reflectslight.io/audio/alajmi - Sahl Yassin
https://al-quran.reflectslight.io/audio/yassin
Note
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. - Mishari bin Rashed Alafasy
Thanks
الْحَمْدُ لِلَّهِ رَبِّ الْعَالَمِينَ
- Thanks to the graphic artists:
- Thanks to the translators:
- English (The Clear Quran) by Dr. Mustafa Khattab
- Farsi by Hussain Ansarian
- Thanks to the reciters:
- Mishari bin Rashed Alafasy
- Ahmad bin Ali Al-Ajmi
- Sahl Yassin
License
The "source code" is released under the terms of the GPL
See LICENSE for details