houdini/lib/tasks/settings.rake

37 lines
1.1 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later
namespace :settings do
task :environment do
require File.expand_path('../../config/environment.rb', File.dirname(__FILE__))
end
desc 'show settings'
task show: :environment do
require 'pp'
pp Settings.to_hash
end
task generate_json: :environment do
cdn_url = URI(Settings.cdn.url)
cdn_url = cdn_url.to_s
if Settings.button_config&.url
cdn_url = URI(Settings.button_config.url).to_s
end
c = { button: { url: cdn_url, css: "#{cdn_url}/css/donate-button.v2.css" } }
open(File.expand_path('config/settings.json', Rails.root), 'w') do |f|
f.write(c.to_json)
end
end
task combine_translations: 'i18n:js:export' do
js_root = File.expand_path('public/javascripts', Rails.root)
# i18n = File.read(File.join(js_root, 'i18n.js'))
translations = File.read(File.join(js_root, 'translations.js'))
open(File.join(js_root, '_final.js'), 'w') do |f|
f.write("const I18n = require('i18n-js');\n" + translations + "\n window.I18n = I18n")
end
end
end