diff --git a/README.md b/README.md index 1286ace..560312b 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,12 @@ Rails.application.config.dartsass.builds = { The hash key is the relative path to a Sass file in `app/assets/stylesheets/` and the hash value will be the name of the file output to `app/assets/builds/`. +By default, only files under `app/assets/stylesheets` will be watched. If you'd like to add extra directories, use the `Rails.application.config.dartsass.extra_load_paths` configuration array. + +``` +# config/initializers/dartsass.rb +Rails.application.config.dartsass.extra_load_paths = ["app/components"] +``` ## Version diff --git a/lib/dartsass/engine.rb b/lib/dartsass/engine.rb index c90f548..a6b7edc 100644 --- a/lib/dartsass/engine.rb +++ b/lib/dartsass/engine.rb @@ -4,5 +4,6 @@ module Dartsass class Engine < ::Rails::Engine config.dartsass = ActiveSupport::OrderedOptions.new config.dartsass.builds = { "application.scss" => "application.css" } + config.dartsass.extra_load_paths = [] end end diff --git a/lib/tasks/build.rake b/lib/tasks/build.rake index 1b606f1..a06aa7d 100644 --- a/lib/tasks/build.rake +++ b/lib/tasks/build.rake @@ -3,13 +3,19 @@ CSS_LOAD_PATH = Rails.root.join("app/assets/stylesheets") CSS_BUILD_PATH = Rails.root.join("app/assets/builds") def dartsass_build_mapping - Rails.application.config.dartsass.builds.map { |input, output| + Rails.application.config.dartsass.builds.map { |input, output| "#{CSS_LOAD_PATH.join(input)}:#{CSS_BUILD_PATH.join(output)}" }.join(" ") end def dartsass_build_options - "--load-path #{CSS_LOAD_PATH} --style=compressed --no-source-map" + "#{load_paths} --style=compressed --no-source-map" +end + +def load_paths + [CSS_LOAD_PATH].concat(Rails.application.config.dartsass.extra_load_paths) + .map { |path| "--load-path #{path}" } + .join(" ") end def dartsass_compile_command