Sass support should be shipped outside core.
This commit is contained in:
parent
bbcd5bc8c7
commit
9ffb984f37
|
@ -38,8 +38,8 @@ Gem::Specification.new do |s|
|
||||||
s.add_runtime_dependency('colorator', "~> 0.1")
|
s.add_runtime_dependency('colorator', "~> 0.1")
|
||||||
s.add_runtime_dependency('redcarpet', "~> 3.1")
|
s.add_runtime_dependency('redcarpet', "~> 3.1")
|
||||||
s.add_runtime_dependency('toml', '~> 0.1.0')
|
s.add_runtime_dependency('toml', '~> 0.1.0')
|
||||||
s.add_runtime_dependency('sass', '~> 3.2')
|
|
||||||
s.add_runtime_dependency('jekyll-coffeescript', '~> 1.0')
|
s.add_runtime_dependency('jekyll-coffeescript', '~> 1.0')
|
||||||
|
s.add_runtime_dependency('jekyll-sass-converter', '~> 1.0.0.alpha.1')
|
||||||
|
|
||||||
s.add_development_dependency('rake', "~> 10.1")
|
s.add_development_dependency('rake', "~> 10.1")
|
||||||
s.add_development_dependency('rdoc', "~> 3.11")
|
s.add_development_dependency('rdoc', "~> 3.11")
|
||||||
|
|
|
@ -27,7 +27,6 @@ require 'liquid'
|
||||||
require 'maruku'
|
require 'maruku'
|
||||||
require 'colorator'
|
require 'colorator'
|
||||||
require 'toml'
|
require 'toml'
|
||||||
require 'sass'
|
|
||||||
|
|
||||||
# internal requires
|
# internal requires
|
||||||
require 'jekyll/version'
|
require 'jekyll/version'
|
||||||
|
|
|
@ -1,58 +0,0 @@
|
||||||
module Jekyll
|
|
||||||
class Sass < Converter
|
|
||||||
safe true
|
|
||||||
priority :low
|
|
||||||
|
|
||||||
def matches(ext)
|
|
||||||
ext =~ /^\.s(a|c)ss$/i
|
|
||||||
end
|
|
||||||
|
|
||||||
def output_ext(ext)
|
|
||||||
".css"
|
|
||||||
end
|
|
||||||
|
|
||||||
def jekyll_sass_configuration
|
|
||||||
@config["sass"] || {}
|
|
||||||
end
|
|
||||||
|
|
||||||
def sass_build_configuration_options(overrides)
|
|
||||||
jekyll_sass_configuration.deep_merge(overrides).symbolize_keys
|
|
||||||
end
|
|
||||||
|
|
||||||
def syntax_type_of_content(content)
|
|
||||||
if content.include?(";") || content.include?("{")
|
|
||||||
:scss
|
|
||||||
else
|
|
||||||
:sass
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def sass_dir
|
|
||||||
return "_sass" if jekyll_sass_configuration["sass_dir"].to_s.empty?
|
|
||||||
jekyll_sass_configuration["sass_dir"]
|
|
||||||
end
|
|
||||||
|
|
||||||
def sass_dir_relative_to_site_source
|
|
||||||
File.join(
|
|
||||||
@config["source"],
|
|
||||||
File.expand_path(sass_dir, "/") # FIXME: Not windows-compatible
|
|
||||||
)
|
|
||||||
end
|
|
||||||
|
|
||||||
def allow_caching?
|
|
||||||
!@config["safe"]
|
|
||||||
end
|
|
||||||
|
|
||||||
def sass_configs(content = "")
|
|
||||||
sass_build_configuration_options({
|
|
||||||
"syntax" => syntax_type_of_content(content),
|
|
||||||
"cache" => allow_caching?,
|
|
||||||
"load_paths" => [sass_dir_relative_to_site_source]
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
def convert(content)
|
|
||||||
::Sass.compile(content, sass_configs(content))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
Loading…
Reference in New Issue