class Jekyll::Converters::Scss
Constants
- ALLOWED_STYLES
- BYTE_ORDER_MARK
- SyntaxError
Public Instance Methods
add_charset?()
click to toggle source
# File lib/jekyll/converters/scss.rb, line 88 def add_charset? !!jekyll_sass_configuration["add_charset"] end
allow_caching?()
click to toggle source
# File lib/jekyll/converters/scss.rb, line 84 def allow_caching? !safe? end
convert(content)
click to toggle source
# File lib/jekyll/converters/scss.rb, line 100 def convert(content) output = ::Sass.compile(content, sass_configs) replacement = add_charset? ? '@charset "UTF-8";' : '' output.sub(BYTE_ORDER_MARK, replacement) rescue ::Sass::SyntaxError => e raise SyntaxError.new("#{e.to_s} on line #{e.sass_line}") end
jekyll_sass_configuration()
click to toggle source
# File lib/jekyll/converters/scss.rb, line 28 def jekyll_sass_configuration options = @config["sass"] || {} unless options["style"].nil? options["style"] = options["style"].to_s.gsub(/\A:/, '').to_sym end options end
matches(ext)
click to toggle source
# File lib/jekyll/converters/scss.rb, line 16 def matches(ext) ext =~ /^\.scss$/i end
output_ext(ext)
click to toggle source
# File lib/jekyll/converters/scss.rb, line 20 def output_ext(ext) ".css" end
safe?()
click to toggle source
# File lib/jekyll/converters/scss.rb, line 24 def safe? !!@config["safe"] end
sass_build_configuration_options(overrides)
click to toggle source
# File lib/jekyll/converters/scss.rb, line 36 def sass_build_configuration_options(overrides) if safe? { :load_paths => sass_load_paths, :syntax => syntax, :style => sass_style, :cache => false } else Jekyll::Utils.symbolize_hash_keys( Jekyll::Utils.deep_merge_hashes( jekyll_sass_configuration, overrides ) ) end end
sass_configs()
click to toggle source
# File lib/jekyll/converters/scss.rb, line 92 def sass_configs sass_build_configuration_options({ "syntax" => syntax, "cache" => allow_caching?, "load_paths" => sass_load_paths }) end
sass_dir()
click to toggle source
# File lib/jekyll/converters/scss.rb, line 58 def sass_dir return "_sass" if jekyll_sass_configuration["sass_dir"].to_s.empty? jekyll_sass_configuration["sass_dir"] end
sass_dir_relative_to_site_source()
click to toggle source
# File lib/jekyll/converters/scss.rb, line 72 def sass_dir_relative_to_site_source Jekyll.sanitized_path(@config["source"], sass_dir) end
sass_load_paths()
click to toggle source
# File lib/jekyll/converters/scss.rb, line 76 def sass_load_paths if safe? [sass_dir_relative_to_site_source] else (user_sass_load_paths + [sass_dir_relative_to_site_source]).uniq end.select { |load_path| File.directory?(load_path) } end
sass_style()
click to toggle source
# File lib/jekyll/converters/scss.rb, line 63 def sass_style style = jekyll_sass_configuration.fetch("style", :compact) ALLOWED_STYLES.include?(style.to_s) ? style.to_sym : :compact end
syntax()
click to toggle source
# File lib/jekyll/converters/scss.rb, line 54 def syntax :scss end
user_sass_load_paths()
click to toggle source
# File lib/jekyll/converters/scss.rb, line 68 def user_sass_load_paths Array(jekyll_sass_configuration["load_paths"]) end