Created
June 5, 2012 13:19
-
-
Save parkr/2874934 to your computer and use it in GitHub Desktop.
Jekyll Plugin to output SCSS without requiring the "---" YAML Front Matter
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Jekyll Generator for SCSS | |
# | |
# (File paths in this description relative to jekyll project root directory) | |
# Place this file in ./_plugins | |
# Place .scss files in ./_scss | |
# Compiles .scss files in ./_scss to .css files in whatever directory you indicated in your config | |
# Config file placed in ./_sass/config.rb | |
# | |
require 'sass' | |
require 'pathname' | |
require 'compass' | |
require 'compass/exec' | |
module Jekyll | |
class CompassGenerator < Generator | |
safe true | |
def generate(site) | |
Dir.chdir File.expand_path('../_sass', File.dirname(__FILE__)) do | |
Compass::Exec::SubCommandUI.new(%w(compile)).run! | |
end | |
end | |
end | |
end |
To use this, you need to add gem "compass"
to your Gemfile
, otherwise you'll get;
/var/lib/gems/2.3.0/gems/jekyll-3.4.3/lib/jekyll/external.rb:53:in `rescue in block in require_with_graceful_fail': /repo/site/_plugins/generator_scss.rb (Jekyll::Errors::MissingDependencyException)
from /var/lib/gems/2.3.0/gems/jekyll-3.4.3/lib/jekyll/external.rb:41:in `block in require_with_graceful_fail'
from /var/lib/gems/2.3.0/gems/jekyll-3.4.3/lib/jekyll/external.rb:40:in `each'
from /var/lib/gems/2.3.0/gems/jekyll-3.4.3/lib/jekyll/external.rb:40:in `require_with_graceful_fail'
from /var/lib/gems/2.3.0/gems/jekyll-3.4.3/lib/jekyll/plugin_manager.rb:73:in `block in require_plugin_files'
from /var/lib/gems/2.3.0/gems/jekyll-3.4.3/lib/jekyll/plugin_manager.rb:71:in `each'
from /var/lib/gems/2.3.0/gems/jekyll-3.4.3/lib/jekyll/plugin_manager.rb:71:in `require_plugin_files'
from /var/lib/gems/2.3.0/gems/jekyll-3.4.3/lib/jekyll/plugin_manager.rb:18:in `conscientious_require'
from /var/lib/gems/2.3.0/gems/jekyll-3.4.3/lib/jekyll/site.rb:111:in `setup'
from /var/lib/gems/2.3.0/gems/jekyll-3.4.3/lib/jekyll/site.rb:33:in `initialize'
from /var/lib/gems/2.3.0/gems/jekyll-3.4.3/lib/jekyll/commands/build.rb:28:in `new'
from /var/lib/gems/2.3.0/gems/jekyll-3.4.3/lib/jekyll/commands/build.rb:28:in `process'
from /var/lib/gems/2.3.0/gems/jekyll-3.4.3/lib/jekyll/commands/build.rb:16:in `block (2 levels) in init_with_program'
from /var/lib/gems/2.3.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'
from /var/lib/gems/2.3.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'
from /var/lib/gems/2.3.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'
from /var/lib/gems/2.3.0/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'
from /var/lib/gems/2.3.0/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'
from /var/lib/gems/2.3.0/gems/jekyll-3.4.3/exe/jekyll:13:in `<top (required)>'
from /usr/local/bin/jekyll:23:in `load'
from /usr/local/bin/jekyll:23:in `<main>'
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi, I use this plug-in and use a 3rd mixin for css sprits, but I always got error
$map
value, error like this: 'No such file or directory - /Users/jim/Sites/proj_name/_sass/../img/generated//Users/jim/Sites/proj_name/_sass/../img/light-s2cd528e0fe.png', I don't know whether this plugin changed the path, thx!