mirror of
https://github.com/discourse/discourse.git
synced 2024-12-02 16:24:17 +08:00
5783f231f8
This value is included when generating static asset URLs. Updating the value will allow site operators to invalidate all asset urls to recover from configuration issues which may have been cached by CDNs/browsers.
65 lines
2.2 KiB
Ruby
65 lines
2.2 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
# Be sure to restart your server when you modify this file.
|
|
|
|
# Enable the asset pipeline
|
|
Rails.application.config.assets.enabled = true
|
|
|
|
# Version of your assets, change this if you want to expire all your assets.
|
|
Rails.application.config.assets.version = "2-#{GlobalSetting.asset_url_salt}"
|
|
|
|
# Add additional assets to the asset load path.
|
|
Rails.application.config.assets.paths << "#{Rails.root}/config/locales"
|
|
Rails.application.config.assets.paths << "#{Rails.root}/public/javascripts"
|
|
|
|
# Precompile additional assets.
|
|
# application.js, application.css, and all non-JS/CSS in the app/assets
|
|
# folder are already added.
|
|
|
|
# explicitly precompile any images in plugins ( /assets/images ) path
|
|
Rails.application.config.assets.precompile += [
|
|
lambda do |filename, path|
|
|
path =~ %r{assets/images} && !%w[.js .css].include?(File.extname(filename))
|
|
end,
|
|
]
|
|
|
|
Rails.application.config.assets.precompile += %w[
|
|
break_string.js
|
|
service-worker.js
|
|
locales/i18n.js
|
|
discourse/app/lib/webauthn.js
|
|
confirm-new-email/confirm-new-email.js
|
|
confirm-new-email/bootstrap.js
|
|
scripts/discourse-test-listen-boot
|
|
]
|
|
|
|
Rails.application.config.assets.precompile << lambda do |logical_path, filename|
|
|
filename.start_with?(EmberCli.dist_dir) && EmberCli.assets.include?(logical_path)
|
|
end
|
|
|
|
# Precompile all available locales
|
|
unless GlobalSetting.try(:omit_base_locales)
|
|
Dir
|
|
.glob("#{Rails.root}/app/assets/javascripts/locales/*.js.erb")
|
|
.each do |file|
|
|
Rails
|
|
.application
|
|
.config
|
|
.assets
|
|
.precompile << "locales/#{file.match(/([a-z_A-Z]+\.js)\.erb$/)[1]}"
|
|
end
|
|
end
|
|
|
|
# out of the box sprockets 3 grabs loose files that are hanging in assets,
|
|
# the exclusion list does not include hbs so you double compile all this stuff
|
|
Rails.application.config.assets.precompile.delete(Sprockets::Railtie::LOOSE_APP_ASSETS)
|
|
|
|
# We don't want application from node_modules, only from the root
|
|
Rails.application.config.assets.precompile.delete(%r{(?:/|\\|\A)application\.(css|js)$})
|
|
|
|
Discourse
|
|
.find_plugin_js_assets(include_disabled: true)
|
|
.each do |file|
|
|
Rails.application.config.assets.precompile << "#{file}.js" if file.end_with?("_extra")
|
|
end
|