Add surah/random
This commit is contained in:
parent
20b7420ac9
commit
2dfadcb937
5 changed files with 20 additions and 27 deletions
2
Rules
2
Rules
|
@ -30,7 +30,7 @@ end
|
|||
##
|
||||
# Require rules
|
||||
require_rules "rules/assets"
|
||||
require_rules "rules/pages/RandomRedirect", {locales:, surah_id_to_name:}
|
||||
require_rules "rules/pages/surah/random", {locales:, surah_id_to_name:}
|
||||
require_rules "rules/pages/surah/stream", {locales:, surah_id_to_name:}
|
||||
require_rules "rules/pages/surah/index", {locales:}
|
||||
require_rules "rules/pages/surah/redirect"
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
##
|
||||
# Contains rules that are related to RandomRedirect.html.erb
|
||||
# in one way or another
|
||||
|
||||
compile "/html/redirect-to-surah-slug.html.erb" do
|
||||
filter(:erb)
|
||||
1.upto(114) do |surahno|
|
||||
locales.each { write(File.join("/", _1, surahno.to_s, "index.html")) }
|
||||
end
|
||||
end
|
||||
|
||||
compile "/js/pages/RandomRedirect.ts" do
|
||||
filter :webpack
|
||||
write "/js/pages/RandomRedirect.js"
|
||||
end
|
||||
|
||||
compile "/js/pages/redirect-to-surah-slug.ts" do
|
||||
filter :webpack
|
||||
write "/js/pages/redirect-to-surah-slug.js"
|
||||
end
|
16
rules/pages/surah/random.rules
Normal file
16
rules/pages/surah/random.rules
Normal file
|
@ -0,0 +1,16 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
##
|
||||
# Redirects to a random surah
|
||||
|
||||
locales.each do |locale|
|
||||
compile "/html/pages/surah/random.html.erb", rep: "random/#{locale}" do
|
||||
filter(:erb)
|
||||
write("/#{locale}/random/index.html")
|
||||
end
|
||||
end
|
||||
|
||||
compile "/js/pages/surah/random.ts" do
|
||||
filter :webpack
|
||||
write "/js/pages/surah/random.js"
|
||||
end
|
|
@ -7,6 +7,6 @@
|
|||
<script class="surah-id-to-slug" type="application/json">
|
||||
<%= File.read(File.join(Dir.getwd, "src", "slugs.json")) %>
|
||||
</script>
|
||||
<script src="/js/pages/RandomRedirect.js"></script>
|
||||
<script src="/js/pages/surah/random.js"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,10 +1,9 @@
|
|||
import { Locale } from 'lib/Locale';
|
||||
|
||||
(function () {
|
||||
const day = new Date().getDay();
|
||||
const surahId: number = day === 5 ? 18 : Math.ceil(Math.random() * 114);
|
||||
const surahId: number = Math.ceil(Math.random() * 114);
|
||||
const locale = Locale(window);
|
||||
const el: HTMLElement = document.querySelector('.surah-id-to-slug');
|
||||
const slugs = JSON.parse(el.innerText);
|
||||
location.replace(`/${locale.fromPath() || locale.fromBrowser()}/${slugs[surahId]}`);
|
||||
location.replace(`/${locale.fromPath()}/${slugs[surahId]}`);
|
||||
})();
|
Loading…
Reference in a new issue