#!/usr/bin/env ruby # frozen_string_literal: true ## # Rules for the surah stream available at /// (eg /ar/al-fatihah/) # and its dependencies. compile "/*/*/surah.json" do write(item.identifier.to_s) if File.size(item.raw_filename) > (1024 * 10) filter :gzip write("#{item.identifier}.gz") end end Ryo.each(slugs) do |surah_id, slug| locales.each do |locale| compile "/html/pages/surah/stream.html.erb", rep: "/#{locale}/#{slug}/index.html" do surah_name = i18n[locale].surahs.names[surah_id.to_i - 1] filter(:erb, locals: {locale:, surah_id:, surah_name:}) write "/#{locale}/#{slug}/index.html" end end end compile "/js/pages/surah/stream.tsx" do filter :webpack, depend_on: ["/js/components", "/js/lib/", "/js/hooks"], reject: proc { _1.include?("WebPackage") } write "/js/pages/surah/stream.js" filter :gzip write "/js/pages/surah/stream.js.gz" end compile "/js/pages/surah/stream/loader.ts" do filter :webpack, depend_on: "/js/lib/WebPackage" write "/js/pages/surah/stream/loader.js" end compile "/css/pages/surah/stream.scss" do filter :sass, syntax: :scss, style: :compact filter :rainpress write("/css/pages/surah/stream.css") end