jekyll-compass 0.1.0.rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 834fa0dc5da7d8e72e82baf5f8231af8a93001e1
4
+ data.tar.gz: 543e07c824be1fcc491d1647ea1c31be6dc99ad7
5
+ SHA512:
6
+ metadata.gz: 361d7aa52b0c4666940d7cbdd4a0bb92b2fc0869871f6c8c62d2b73dc40f3ec4b8eaad3c340a38fdfc0762565716485ca1025f3dace2317f3b72f98c03a0c057
7
+ data.tar.gz: 8dcab979a2fbb80cf57051a292aebd3f9602a2ba61b994c609ab4b7917aad277736487d9929a6bffeffa1a453eee24fe529c3965232bd4d2e452781d55ad74f1
data/LICENSE ADDED
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2013 Matthew Scharley
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a
4
+ copy of this software and associated documentation files (the "Software"),
5
+ to deal in the Software without restriction, including without limitation
6
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
7
+ and/or sell copies of the Software, and to permit persons to whom the
8
+ Software is furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included
11
+ in all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
14
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
16
+ THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
19
+ DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,40 @@
1
+ jekyll-compass: Compass generator for Jekyll websites
2
+ =====================================================
3
+
4
+ **GitHub:** https://github.com/mscharley/jekyll-compass
5
+ **Author:** Matthew Scharley
6
+ **Contributors:** [See contributors on GitHub][gh-contrib]
7
+ **Bugs/Support:** [Github Issues][gh-issues]
8
+ **Copyright:** 2013
9
+ **License:** [MIT license][license]
10
+
11
+ Synopsis
12
+ --------
13
+
14
+ jekyll-compass is a jekyll plugin that provides an interface between Jekyll's building commands and the Compass
15
+ libraries to automatically build your Compass SASS files during a regular website build. This means your CSS files
16
+ end up directly in your `_site` output folder and never need to be checked into your version control.
17
+
18
+ Installation
19
+ ------------
20
+
21
+ This plugin has a very simple two step install:
22
+
23
+ 1. Install the gem:
24
+
25
+ gem install jekyll-compass
26
+
27
+ 2. Add the gem to your jekyll website's `_config.yml` file:
28
+
29
+ gems:
30
+ - jekyll-compass
31
+
32
+ Usage
33
+ -----
34
+
35
+ Simply setup your SASS files in the `_sass` folder in your websites root folder. Then run `jekyll build` and watch the
36
+ magic.
37
+
38
+ [license]: https://raw.github.com/mscharley/jekyll-compass/master/LICENSE
39
+ [gh-contrib]: https://github.com/mscharley/jekyll-compass/graphs/contributors
40
+ [gh-issues]: https://github.com/mscharley/jekyll-compass/issues
@@ -0,0 +1,4 @@
1
+
2
+ # This is simply a router file. We don't do anything here except require what need to for the plugin to work.
3
+ # This is the file that jekyll requires by default.
4
+ require 'jekyll/compass'
@@ -0,0 +1,69 @@
1
+
2
+ require 'sass/plugin'
3
+ require 'compass'
4
+ require 'compass/commands'
5
+ require 'fileutils'
6
+
7
+ module Jekyll
8
+ class CompassFile < StaticFile
9
+ def write(destination)
10
+ # Short-circuit to the inevitable
11
+ false
12
+ end
13
+ end
14
+
15
+ class Compass < Generator
16
+ safe true
17
+ priority :high
18
+
19
+ def generate(site)
20
+ input = File.join(site.source, '_sass')
21
+
22
+ return unless File.exist? input
23
+ puts
24
+
25
+ output = File.join(site.config['destination'], 'css')
26
+
27
+ config = {
28
+ :project_path => site.source,
29
+ :http_path => '/',
30
+ :sass_path => input,
31
+ :css_path => output,
32
+ :images_path => File.join(site.source, 'images'),
33
+ :javascripts_path => File.join(site.source, 'js'),
34
+ :line_comments => false,
35
+ :environment => :production,
36
+ :output_style => :compact,
37
+ #:quiet => true,
38
+ :sass_options => {
39
+ :unix_newlines => true,
40
+ },
41
+ }
42
+
43
+ ::Compass.add_configuration(config, 'Jekyll::Compass')
44
+ ::Compass.configuration.on_sprite_saved do |filename|
45
+ site.static_files << StaticFile.new(site, site.source, File.dirname(filename)[site.source.length..-1], File.basename(filename))
46
+ end
47
+ ::Compass.configuration.on_stylesheet_saved do |filename|
48
+ source = site.config['destination']
49
+ site.static_files << CompassFile.new(site, source, File.dirname(filename)[source.length..-1], File.basename(filename))
50
+ end
51
+
52
+ # Manually mangle the output directory to keep it in sync with what Compass expects and Jekyll produces
53
+ ::Compass.configuration.on_sprite_removed do |filename|
54
+ site.static_files = site.static_files.select do |p|
55
+ if p.path == filename
56
+ sprite_output p.destination(site.config['destination'])
57
+ File.delete sprite_output if File.exist? sprite_output
58
+ false
59
+ else
60
+ true
61
+ end
62
+ end
63
+ end
64
+
65
+ ::Compass::Commands::UpdateProject.new(site.config['source'], config).execute
66
+ nil
67
+ end
68
+ end
69
+ end
metadata ADDED
@@ -0,0 +1,77 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jekyll-compass
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0.rc.2
5
+ platform: ruby
6
+ authors:
7
+ - Matthew Scharley
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-11-04 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: compass
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '0.12'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '0.12'
27
+ - !ruby/object:Gem::Dependency
28
+ name: jekyll
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: 1.3.0.rc
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: 1.3.0.rc
41
+ description: |2
42
+ This project is a plugin for the Jekyll static website generator to allow for using Compass projects with your
43
+ Jekyll website. Compass is an extension library for the CSS preprocessor SASS.
44
+ email: matt.scharley@gmail.com
45
+ executables: []
46
+ extensions: []
47
+ extra_rdoc_files: []
48
+ files:
49
+ - lib/jekyll/compass.rb
50
+ - lib/jekyll-compass.rb
51
+ - README.md
52
+ - LICENSE
53
+ homepage: https://github.com/mscharley/jekyll-compass
54
+ licenses:
55
+ - MIT
56
+ metadata: {}
57
+ post_install_message:
58
+ rdoc_options: []
59
+ require_paths:
60
+ - lib
61
+ required_ruby_version: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ required_rubygems_version: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - '>'
69
+ - !ruby/object:Gem::Version
70
+ version: 1.3.1
71
+ requirements: []
72
+ rubyforge_project:
73
+ rubygems_version: 2.0.3
74
+ signing_key:
75
+ specification_version: 4
76
+ summary: Jekyll generator plugin to build Compass projects during site build
77
+ test_files: []