mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-06-13 05:03:16 +08:00
This feature introduces the concept of themes. Themes are an evolution
of site customizations.
Themes introduce two very big conceptual changes:
- A theme may include other "child themes", children can include grand
children and so on.
- A theme may specify a color scheme
The change does away with the idea of "enabled" color schemes.
It also adds a bunch of big niceties like
- You can source a theme from a git repo
- History for themes is much improved
- You can only have a single enabled theme. Themes can be selected by
users, if you opt for it.
On a technical level this change comes with a whole bunch of goodies
- All CSS is now compiled using a custom pipeline that uses libsass
see /lib/stylesheet
- There is a single pipeline for css compilation (in the past we used
one for customizations and another one for the rest of the app
- The stylesheet pipeline is now divorced of sprockets, there is no
reliance on sprockets for CSS bundling
- CSS is generated with source maps everywhere (including themes) this
makes debugging much easier
- Our "live reloader" is smarter and avoid a flash of unstyled content
we run a file watcher in "puma" in dev so you no longer need to run
rake autospec to watch for CSS changes
68 lines
2 KiB
Ruby
Vendored
68 lines
2 KiB
Ruby
Vendored
Discourse::Application.configure do
|
|
|
|
# Settings specified here will take precedence over those in config/application.rb
|
|
|
|
# In the development environment your application's code is reloaded on
|
|
# every request. This slows down response time but is perfect for development
|
|
# since you don't have to restart the web server when you make code changes.
|
|
config.cache_classes = false
|
|
|
|
# Log error messages when you accidentally call methods on nil.
|
|
config.eager_load = false
|
|
|
|
# Show full error reports and disable caching
|
|
config.consider_all_requests_local = true
|
|
config.action_controller.perform_caching = false
|
|
|
|
# Print deprecation notices to the Rails logger
|
|
config.active_support.deprecation = :log
|
|
|
|
# Do not compress assets
|
|
config.assets.compress = false
|
|
|
|
# Don't Digest assets, makes debugging uglier
|
|
config.assets.digest = false
|
|
|
|
config.assets.debug = false
|
|
|
|
# Raise an error on page load if there are pending migrations
|
|
config.active_record.migration_error = :page_load
|
|
config.watchable_dirs['lib'] = [:rb]
|
|
|
|
config.handlebars.precompile = false
|
|
|
|
# we recommend you use mailcatcher https://github.com/sj26/mailcatcher
|
|
config.action_mailer.smtp_settings = { address: "localhost", port: 1025 }
|
|
|
|
config.action_mailer.raise_delivery_errors = true
|
|
|
|
BetterErrors::Middleware.allow_ip! ENV['TRUSTED_IP'] if ENV['TRUSTED_IP']
|
|
|
|
config.load_mini_profiler = true
|
|
|
|
require 'middleware/turbo_dev'
|
|
config.middleware.insert 0, Middleware::TurboDev
|
|
require 'middleware/missing_avatars'
|
|
config.middleware.insert 1, Middleware::MissingAvatars
|
|
|
|
config.enable_anon_caching = false
|
|
require 'rbtrace'
|
|
|
|
|
|
require 'stylesheet/watcher'
|
|
if defined? Puma
|
|
STDERR.puts "Staring CSS change watcher"
|
|
@watcher = Stylesheet::Watcher.watch
|
|
end
|
|
|
|
if emails = GlobalSetting.developer_emails
|
|
config.developer_emails = emails.split(",").map(&:downcase).map(&:strip)
|
|
end
|
|
|
|
config.after_initialize do
|
|
if ENV['BULLET']
|
|
Bullet.enable = true
|
|
Bullet.rails_logger = true
|
|
end
|
|
end
|
|
end
|