diff --git a/README.md b/README.md index 1286ace..666ec61 100644 --- a/README.md +++ b/README.md @@ -29,13 +29,16 @@ By default, only `app/assets/stylesheets/application.scss` will be built. If you ``` # config/initializers/dartsass.rb Rails.application.config.dartsass.builds = { - "app/index.sass" => "app.css", - "site.scss" => "site.css" + "index.sass" => "app.css", + "site.scss" => "site.css" + "engines/travel/app/assets/stylesheets/travel/main.scss" => "travel/main.css", + "lib/stylesheets/common.css" => "common.css", } ``` 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/`. +If file does not exist in `app/assets/stylesheets/` directory - relative path will be changed to `Rails.root`. ## Version diff --git a/lib/tasks/build.rake b/lib/tasks/build.rake index 1b606f1..99f0a5d 100644 --- a/lib/tasks/build.rake +++ b/lib/tasks/build.rake @@ -1,11 +1,15 @@ EXEC_PATH = "#{Pathname.new(__dir__).to_s}/../../exe/dartsass" CSS_LOAD_PATH = Rails.root.join("app/assets/stylesheets") CSS_BUILD_PATH = Rails.root.join("app/assets/builds") +CSS_LOAD_FROM_RAILS_ROOT_PATH = Rails.root def dartsass_build_mapping - Rails.application.config.dartsass.builds.map { |input, output| - "#{CSS_LOAD_PATH.join(input)}:#{CSS_BUILD_PATH.join(output)}" - }.join(" ") + builds_map = Rails.application.config.dartsass.builds.map { |input, output| + input_file_path = "#{CSS_LOAD_PATH.join(input)}" + input_file_path = "#{CSS_LOAD_FROM_RAILS_ROOT_PATH.join(input)}" unless File.exist?(input_file_path) + "#{input_file_path}:#{CSS_BUILD_PATH.join(output)}" + } + builds_map.uniq.join(" ") end def dartsass_build_options