FEATURE: support user local switching to RTL correctly

FEATURE: support RTL in multisite
This commit is contained in:
Sam
2015-05-20 15:56:54 +10:00
parent 8013b6a511
commit 45bdd23689
7 changed files with 23 additions and 6 deletions

View File

@@ -63,10 +63,8 @@ class DiscourseSassCompiler
}
}.merge(debug_opts)).render
# Check if CSS needs to be RTLed after compilation
# and run R2 gem on compiled CSS if true and R2 gem is available
css_output = css
if !SiteSetting.allow_user_locale && SiteSetting.default_locale.in?(%w(he ar fa_IR))
if opts[:rtl]
begin
require 'r2'
css_output = R2.r2(css) if defined?(R2)

View File

@@ -91,8 +91,9 @@ class DiscourseStylesheets
end
scss = File.read("#{Rails.root}/app/assets/stylesheets/#{@target}.scss")
rtl = @target.to_s =~ /_rtl$/
css = begin
DiscourseSassCompiler.compile(scss, @target)
DiscourseSassCompiler.compile(scss, @target, rtl: rtl)
rescue Sass::SyntaxError => e
Rails.logger.error "Stylesheet failed to compile for '#{@target}'! Recompiling without plugins and theming."
Rails.logger.error e.sass_backtrace_str("#{@target} stylesheet")

View File

@@ -78,7 +78,7 @@ task 'assets:precompile:css' => 'environment' do
# css will get precompiled during first request instead in that case.
if ActiveRecord::Base.connection.table_exists?(ColorScheme.table_name)
puts "Compiling css for #{db}"
[:desktop, :mobile].each do |target|
[:desktop, :mobile, :desktop_rtl, :mobile_rtl].each do |target|
puts DiscourseStylesheets.compile(target)
end
end