a11yist/lib/tasks/app.rake

30 lines
947 B
Ruby
Raw Normal View History

2024-11-01 13:16:26 +01:00
desc "Generates error pages"
task generate_error_pages: :environment do
# unless Rails.env.production?
# puts "Skipping generate_error_pages page generation outside production"
# next
# end
Rails.application.config.action_controller.perform_caching = false
pages = {
"error_pages/not_found" => "404.html",
"error_pages/unprocessable_content" => "422.html",
"error_pages/internal_server_error" => "500.html"
}
pages.each do |page, output|
puts "Generating #{output}..."
outpath = Rails.root.join("public", output)
renderer = ApplicationController.renderer.new(http_host: ENV.fetch("APP_HOST") { "jwa11y.top" }, https: true)
html = renderer.render(template: page, layout: "layouts/errors")
if html.present?
File.delete(outpath) if File.exist?(outpath)
File.open(outpath, "w") do |f|
f.write(html)
end
else
puts "Error generating #{output}!"
end
end
end