guard-jekyll-plus 1.4.10 → 2.0.0

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 CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- OGQ4MDQxOWQwY2ViZmNjNWQzMGYzMzJhMTM0M2M5MDM3NjQ4YWE5Nw==
5
- data.tar.gz: !binary |-
6
- YjQ3Mjg0MGUxNTUxZmMwYjI2NGJkNDYxNDE0MWJkZjc5Y2RhYTNkZQ==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- YTI5NjE1ZWRiZTZkZTk3NWIxZDlkMDRhODU3MjRhYTRiOWNmNzljYWU1OWQy
10
- ZDA5ZTI5NmNmMTJlMmE1Y2NhMjZjZTg0NjM0OWE4NmY5ZDQxZTA0MWNhN2Qz
11
- OTQzNTdhNGY1YjI1ZmVmOTM0OTRmMDNhMTI0Y2U0OTQ5ZWRhODQ=
12
- data.tar.gz: !binary |-
13
- N2M0NzhmZDVhY2NiNTVkNmY0Zjk3MDA0MTUzODRiYTBlNDYyYzJmMDM5ZmFi
14
- NzIwNmQ2MDNhMDMwZmQ3MDFkNmM2MGY4MzFlOGYzYmJjM2VlMTQ3ZTkxNTgx
15
- ZDhmYzljMzJlNmJkZTIyNDg2YWRhOTlhYzg4MzA3NWE3MTI1MDU=
2
+ SHA1:
3
+ metadata.gz: be72288508230bb15f897c6a90e3e3acadbfd133
4
+ data.tar.gz: 5d2617be237688069afa09a0ca1e520f67ae1c63
5
+ SHA512:
6
+ metadata.gz: 026b9320d2df6366b31badc431cf5a4f30595f7cb8ab184320354e141a7707e7390e76a2b6a7f44f80a3fecd02a7206c79d5907c3f6f7e94126855a003408ca3
7
+ data.tar.gz: 1556ec62c7a9d61cecbcfb62582e3d1f605b3c4cef1101b3a67d629a7b8f4c6ffd02565d363da2aebddfd719c437a1e6a19c2778e6ae9e0f49c57703345ef6fa
data/.gitignore CHANGED
@@ -1,2 +1,3 @@
1
1
  .DS_Store
2
2
  *.gem
3
+ Gemfile.lock
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ### 2.0.0
4
+
5
+ - Updated to work with Guard 2.x
6
+
3
7
  ### 1.4.10
4
8
 
5
9
  - Now pointing to the latest compatible Guard release.
data/README.md CHANGED
@@ -33,7 +33,6 @@ Or install it manually with:
33
33
 
34
34
  $ gem install guard-jekyll-plus
35
35
 
36
-
37
36
  ## Usage
38
37
 
39
38
  Navigate to your Jekyll project directory and create a Guardfile using:
@@ -49,7 +48,10 @@ guard "jekyll-plus" do
49
48
  end
50
49
  ```
51
50
 
52
- Run the guard and Jekyll will begin watching your project.
51
+
52
+ Add `Guardfile` to the list of files in your Jekyll's `exclude` configuration to prevent it from being copied into your site directory.
53
+
54
+ Then run the guard and Jekyll will begin watching your project.
53
55
 
54
56
  $ bundle exec guard
55
57
 
@@ -13,9 +13,16 @@ Gem::Specification.new do |gem|
13
13
  gem.homepage = "http://github.com/imathis/guard-jekyll-plus"
14
14
  gem.license = 'MIT'
15
15
 
16
- gem.add_dependency 'guard', '~> 1.8.3'
17
- gem.add_dependency 'jekyll', '>= 1.0.0'
18
-
19
16
  gem.files = `git ls-files`.split($/)
20
17
  gem.require_paths = ["lib"]
18
+
19
+ gem.add_dependency 'guard', '~> 2.8'
20
+ gem.add_dependency 'jekyll', '>= 1.0.0'
21
+
22
+ gem.add_development_dependency "rake"
23
+ gem.add_development_dependency "pry-byebug"
24
+
25
+ if RUBY_VERSION >= "2"
26
+ gem.add_development_dependency "bundler"
27
+ end
21
28
  end
@@ -1,25 +1,23 @@
1
1
  # encoding: UTF-8
2
2
 
3
- require 'guard'
4
- require 'guard/guard'
3
+ require 'benchmark'
4
+ require 'guard/plugin'
5
5
  require 'jekyll'
6
6
 
7
7
  begin
8
8
  require 'rack'
9
- @use_rack = true
10
9
  rescue LoadError
11
10
  end
12
11
 
13
12
  module Guard
14
- class Jekyllplus < Guard
15
-
16
- def initialize (watchers=[], options={})
13
+ class Jekyllplus < Plugin
14
+ def initialize(options = {})
17
15
  super
18
16
 
19
- default_extensions = ['md','mkd','mkdn','markdown','textile','html','haml','slim','xml','yml']
17
+ default_extensions = ['md','mkd','mkdn','markdown','textile','html','haml','slim','xml','yml','sass','scss']
20
18
 
21
19
  @options = {
22
- :extensions => [],
20
+ :extensions => [],
23
21
  :config => ['_config.yml'],
24
22
  :serve => false,
25
23
  :rack_config => nil,
@@ -30,41 +28,39 @@ module Guard
30
28
  :msg_prefix => 'Jekyll'
31
29
  }.merge(options)
32
30
 
33
- # The config_hash option should be a hash ready to be consumed by Jekyll's Site class.
34
- #
35
- @config = jekyll_config(@options)
36
-
37
- # Override configuration with guard option values
38
- #
39
- @config['show_drafts'] ||= @options[:drafts]
40
- @config['future'] ||= @options[:future]
41
-
42
- # Store vars for easy internal access
43
- #
31
+ @config = load_config(@options)
44
32
  @source = local_path @config['source']
45
33
  @destination = local_path @config['destination']
46
34
  @msg_prefix = @options[:msg_prefix]
47
-
35
+
48
36
  # Convert array of extensions into a regex for matching file extensions eg, /\.md$|\.markdown$|\.html$/i
49
- #
37
+ #
50
38
  extensions = @options[:extensions].concat(default_extensions).flatten.uniq
51
39
  @extensions = Regexp.new extensions.map { |e| (e << '$').gsub('\.', '\\.') }.join('|'), true
52
40
 
53
- # set Jekyll server process id to nil
54
- #
55
- @pid = nil
41
+ # set Jekyll server thread to nil
42
+ @server_thread = nil
56
43
 
57
- # Create a Jekyll site
58
- #
59
- @site = ::Jekyll::Site.new @config
60
- @rack = ::Rack::Server.new(rack_config(@destination)) if @use_rack
44
+ end
45
+
46
+ def load_config(options)
47
+ config = jekyll_config(options)
48
+
49
+ # Override configuration with guard option values
50
+ config['show_drafts'] ||= options[:drafts]
51
+ config['future'] ||= options[:future]
52
+ config
53
+ end
61
54
 
55
+ def reload_config!
56
+ UI.info "Reloading Jekyll configuration!"
57
+ @config = load_config(@options)
62
58
  end
63
59
 
64
60
  def start
65
61
  if @options[:serve]
66
- start_server
67
62
  build
63
+ start_server
68
64
  UI.info "#{@msg_prefix} " + "watching and serving at #{@config['host']}:#{@config['port']}#{@config['baseurl']}" unless @config[:silent]
69
65
  else
70
66
  build
@@ -72,20 +68,27 @@ module Guard
72
68
  end
73
69
  end
74
70
 
75
- def restart
76
- stop if alive?
71
+ def reload
72
+ stop if !@server_thread.nil? and @server_thread.alive?
73
+ reload_config!
77
74
  start
78
75
  end
79
76
 
77
+ def reload_server
78
+ stop_server
79
+ start_server
80
+ end
80
81
 
81
82
  def stop
82
83
  stop_server
83
84
  end
84
85
 
85
86
  def run_on_modifications(paths)
87
+ # At this point we know @options[:config] is going to be an Array
88
+ # thanks to the call the jekyll_config earlier.
89
+ reload_config! if @options[:config].map { |f| paths.include?(f) }.any?
86
90
  matched = jekyll_matches paths
87
91
  unmatched = non_jekyll_matches paths
88
-
89
92
  if matched.size > 0
90
93
  build(matched, "Files changed: ", " ~ ".yellow)
91
94
  elsif unmatched.size > 0
@@ -126,10 +129,9 @@ module Guard
126
129
  files.each { |file| puts '|' + mark + file }
127
130
  puts '| ' # spacing
128
131
  end
129
- @site.process
130
- UI.info "#{@msg_prefix} " + "build complete ".green + "#{@source} → #{@destination}" unless @config[:silent]
131
-
132
- rescue Exception => e
132
+ elapsed = Benchmark.realtime { build_site(@config) }
133
+ UI.info "#{@msg_prefix} " + "build completed in #{elapsed.round(2)}s ".green + "#{@source} → #{@destination}" unless @config[:silent]
134
+ rescue Exception
133
135
  UI.error "#{@msg_prefix} build has failed" unless @config[:silent]
134
136
  stop_server
135
137
  throw :task_has_failed
@@ -147,14 +149,18 @@ module Guard
147
149
  UI.info "#{@msg_prefix} #{message.green}" unless @config[:silent]
148
150
  puts '| ' #spacing
149
151
  files.each do |file|
150
- path = destination_path file
151
- FileUtils.mkdir_p File.dirname(path)
152
- FileUtils.cp file, path
153
- puts '|' + " → ".green + path
152
+ if(!check_jekyll_exclude(file))
153
+ path = destination_path file
154
+ FileUtils.mkdir_p File.dirname(path)
155
+ FileUtils.cp file, path
156
+ puts '|' + " → ".green + path
157
+ else
158
+ puts '|' + " ~ ".yellow + "Jekyll exclude: Ignoring changes to #{file}".yellow
159
+ end
154
160
  end
155
161
  puts '| ' #spacing
156
162
 
157
- rescue Exception => e
163
+ rescue Exception
158
164
  UI.error "#{@msg_prefix} copy has failed" unless @config[:silent]
159
165
  UI.error e
160
166
  stop_server
@@ -171,7 +177,7 @@ module Guard
171
177
  else
172
178
  files
173
179
  end
174
-
180
+
175
181
  end
176
182
 
177
183
  # Remove deleted source file/directories from destination
@@ -195,13 +201,13 @@ module Guard
195
201
 
196
202
  dir = File.dirname path
197
203
  if Dir[dir+'/*'].empty?
198
- FileUtils.rm_r(dir)
204
+ FileUtils.rm_r(dir)
199
205
  puts '|' + " x ".red + dir
200
206
  end
201
207
  end
202
208
  puts '| ' #spacing
203
209
 
204
- rescue Exception => e
210
+ rescue Exception
205
211
  UI.error "#{@msg_prefix} remove has failed" unless @config[:silent]
206
212
  UI.error e
207
213
  stop_server
@@ -226,7 +232,11 @@ module Guard
226
232
  options[:config] = [options[:config]] unless options[:config].is_a? Array
227
233
  config = options
228
234
  end
229
- ::Jekyll.configuration(config)
235
+ Jekyll.configuration(config)
236
+ end
237
+
238
+ def check_jekyll_exclude(path)
239
+ return @config['exclude'].any? {|f| File.fnmatch?(path, f)}
230
240
  end
231
241
 
232
242
  def rack_config(root)
@@ -235,7 +245,7 @@ module Guard
235
245
  local_config = File.exist?('config.ru') ? 'config.ru' : nil
236
246
 
237
247
  config = (@config['rack_config'] || local_config || default_config)
238
- { :config => config, :Port => @config['port'], :Host => @config['host'] }
248
+ { :config => config, :Port => @config['port'], :Host => @config['host'], :environment => 'development' }
239
249
  end
240
250
 
241
251
  def local_path(path)
@@ -244,60 +254,47 @@ module Guard
244
254
  path = path.sub current, ''
245
255
  if path == ''
246
256
  './'
247
- else
248
- path.sub /^\//, ''
257
+ else
258
+ path.sub(/^\//, '')
249
259
  end
250
260
  end
261
+
262
+ def build_site(options)
263
+ Jekyll.logger.log_level = :error
264
+ site = Jekyll::Site.new(options)
265
+ Jekyll.logger.log_level = :info
266
+ site.process
267
+ end
251
268
 
269
+
252
270
  def destination_path(file)
253
271
  if @source =~ /^\./
254
272
  File.join @destination, file
255
273
  else
256
- file.sub /^#{@source}/, "#{@destination}"
274
+ file.sub(/^#{@source}/, "#{@destination}")
257
275
  end
258
276
  end
259
277
 
260
- # Remove
261
- def ignore_underscores(paths)
262
- paths.select { |file| file =~ /^[^_]/ }
263
- end
264
-
265
278
  def server(config)
266
- if @rack
267
- proc{ Process.fork { @rack.start } }
279
+ if defined? ::Rack
280
+ Thread.new { ::Rack::Server.start(rack_config(@destination)) }
281
+ UI.info "#{@msg_prefix} running Rack" unless @config[:silent]
268
282
  else
269
- proc{ Process.fork { ::Jekyll::Commands::Serve.process(config) } }
283
+ Thread.new { Jekyll::Commands::Serve.process(config) }
270
284
  end
271
285
  end
272
286
 
273
- def kill
274
- proc{|pid| Process.kill("INT", pid)}
275
- end
276
-
277
287
  def start_server
278
- return @pid if alive?
279
- @pid = instance_eval &server(@config)
280
- end
281
-
282
- def stop_server
283
- if alive?
284
- instance_eval do
285
- kill.call(@pid)
286
- @pid = nil
287
- end
288
+ if @server_thread.nil?
289
+ @server_thread = server(@config)
290
+ else
291
+ UI.warning "#{@msg_prefix} using an old server thread!"
288
292
  end
289
293
  end
290
-
291
- def alive?
292
- return false unless @pid
293
294
 
294
- begin
295
- Process.getpgid(@pid)
296
- true
297
- rescue Errno::ESRCH => e
298
- false
299
- end
295
+ def stop_server
296
+ @server_thread.kill unless @server_thread.nil?
297
+ @server_thread = nil
300
298
  end
301
299
  end
302
300
  end
303
-
@@ -1,5 +1,5 @@
1
1
  module Guard
2
2
  class JekyllPlusVersion
3
- VERSION = "1.4.10"
3
+ VERSION = "2.0.0"
4
4
  end
5
5
  end
@@ -0,0 +1 @@
1
+ Don't copy me.
@@ -1,2 +1,3 @@
1
1
  source: ./
2
2
  port: 4000
3
+ exclude: ['Testfile', 'Guardfile', 'Gemfile', 'Gemfile.lock']
metadata CHANGED
@@ -1,43 +1,85 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: guard-jekyll-plus
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.10
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brandon Mathis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-12 00:00:00.000000000 Z
11
+ date: 2014-12-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: guard
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.8.3
19
+ version: '2.8'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.8.3
26
+ version: '2.8'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: jekyll
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ! '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 1.0.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ! '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.0.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: pry-byebug
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: bundler
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
41
83
  description: A Guard plugin for smarter Jekyll watching
42
84
  email:
43
85
  - brandon@imathis.com
@@ -45,10 +87,9 @@ executables: []
45
87
  extensions: []
46
88
  extra_rdoc_files: []
47
89
  files:
48
- - .gitignore
90
+ - ".gitignore"
49
91
  - CHANGELOG.md
50
92
  - Gemfile
51
- - Gemfile.lock
52
93
  - LICENSE.txt
53
94
  - README.md
54
95
  - Rakefile
@@ -60,8 +101,8 @@ files:
60
101
  - test/.gitignore
61
102
  - test/404.html
62
103
  - test/Gemfile
63
- - test/Gemfile.lock
64
104
  - test/Guardfile
105
+ - test/Testfile
65
106
  - test/_config.yml
66
107
  - test/_layouts/default.html
67
108
  - test/_layouts/post.html
@@ -84,17 +125,17 @@ require_paths:
84
125
  - lib
85
126
  required_ruby_version: !ruby/object:Gem::Requirement
86
127
  requirements:
87
- - - ! '>='
128
+ - - ">="
88
129
  - !ruby/object:Gem::Version
89
130
  version: '0'
90
131
  required_rubygems_version: !ruby/object:Gem::Requirement
91
132
  requirements:
92
- - - ! '>='
133
+ - - ">="
93
134
  - !ruby/object:Gem::Version
94
135
  version: '0'
95
136
  requirements: []
96
137
  rubyforge_project:
97
- rubygems_version: 2.0.7
138
+ rubygems_version: 2.4.1
98
139
  signing_key:
99
140
  specification_version: 4
100
141
  summary: A Guard plugin for Jekyll which intelligently handles changes to static and
@@ -1,70 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- guard-jekyll-plus (1.4.9)
5
- guard (>= 1.1.0)
6
- jekyll (>= 1.0.0)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- celluloid (0.15.2)
12
- timers (~> 1.1.0)
13
- classifier (1.3.3)
14
- fast-stemmer (>= 1.0.0)
15
- coderay (1.0.9)
16
- colorator (0.1)
17
- commander (4.1.5)
18
- highline (~> 1.6.11)
19
- directory_watcher (1.4.1)
20
- fast-stemmer (1.0.2)
21
- ffi (1.9.0)
22
- formatador (0.2.4)
23
- guard (2.0.5)
24
- formatador (>= 0.2.4)
25
- listen (~> 2.0)
26
- lumberjack (~> 1.0)
27
- pry (>= 0.9.12)
28
- thor (>= 0.18.1)
29
- highline (1.6.19)
30
- jekyll (1.2.1)
31
- classifier (~> 1.3)
32
- colorator (~> 0.1)
33
- commander (~> 4.1.3)
34
- directory_watcher (~> 1.4.1)
35
- liquid (~> 2.5.2)
36
- maruku (~> 0.5)
37
- pygments.rb (~> 0.5.0)
38
- redcarpet (~> 2.3.0)
39
- safe_yaml (~> 0.7.0)
40
- liquid (2.5.3)
41
- listen (2.0.4)
42
- celluloid (>= 0.15.2)
43
- rb-fsevent (>= 0.9.3)
44
- rb-inotify (>= 0.9)
45
- lumberjack (1.0.4)
46
- maruku (0.7.0)
47
- method_source (0.8.2)
48
- posix-spawn (0.3.6)
49
- pry (0.9.12.2)
50
- coderay (~> 1.0.5)
51
- method_source (~> 0.8)
52
- slop (~> 3.4)
53
- pygments.rb (0.5.2)
54
- posix-spawn (~> 0.3.6)
55
- yajl-ruby (~> 1.1.0)
56
- rb-fsevent (0.9.3)
57
- rb-inotify (0.9.2)
58
- ffi (>= 0.5.0)
59
- redcarpet (2.3.0)
60
- safe_yaml (0.7.1)
61
- slop (3.4.6)
62
- thor (0.18.1)
63
- timers (1.1.0)
64
- yajl-ruby (1.1.0)
65
-
66
- PLATFORMS
67
- ruby
68
-
69
- DEPENDENCIES
70
- guard-jekyll-plus!
@@ -1,73 +0,0 @@
1
- PATH
2
- remote: ../
3
- specs:
4
- guard-jekyll-plus (1.4.9)
5
- guard (>= 1.1.0)
6
- jekyll (>= 1.0.0)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- classifier (1.3.3)
12
- fast-stemmer (>= 1.0.0)
13
- coderay (1.0.9)
14
- colorator (0.1)
15
- commander (4.1.5)
16
- highline (~> 1.6.11)
17
- directory_watcher (1.4.1)
18
- fast-stemmer (1.0.2)
19
- ffi (1.9.0)
20
- formatador (0.2.4)
21
- guard (1.8.2)
22
- formatador (>= 0.2.4)
23
- listen (>= 1.0.0)
24
- lumberjack (>= 1.0.2)
25
- pry (>= 0.9.10)
26
- thor (>= 0.14.6)
27
- highline (1.6.19)
28
- jekyll (1.1.2)
29
- classifier (~> 1.3)
30
- colorator (~> 0.1)
31
- commander (~> 4.1.3)
32
- directory_watcher (~> 1.4.1)
33
- kramdown (~> 1.0.2)
34
- liquid (~> 2.5.1)
35
- maruku (~> 0.5)
36
- pygments.rb (~> 0.5.0)
37
- redcarpet (~> 2.2.2)
38
- safe_yaml (~> 0.7.0)
39
- kramdown (1.0.2)
40
- liquid (2.5.1)
41
- listen (1.3.0)
42
- rb-fsevent (>= 0.9.3)
43
- rb-inotify (>= 0.9)
44
- rb-kqueue (>= 0.2)
45
- lumberjack (1.0.4)
46
- maruku (0.6.1)
47
- syntax (>= 1.0.0)
48
- method_source (0.8.2)
49
- posix-spawn (0.3.6)
50
- pry (0.9.12.2)
51
- coderay (~> 1.0.5)
52
- method_source (~> 0.8)
53
- slop (~> 3.4)
54
- pygments.rb (0.5.2)
55
- posix-spawn (~> 0.3.6)
56
- yajl-ruby (~> 1.1.0)
57
- rb-fsevent (0.9.3)
58
- rb-inotify (0.9.1)
59
- ffi (>= 0.5.0)
60
- rb-kqueue (0.2.0)
61
- ffi (>= 0.5.0)
62
- redcarpet (2.2.2)
63
- safe_yaml (0.7.1)
64
- slop (3.4.6)
65
- syntax (1.0.0)
66
- thor (0.18.1)
67
- yajl-ruby (1.1.0)
68
-
69
- PLATFORMS
70
- ruby
71
-
72
- DEPENDENCIES
73
- guard-jekyll-plus!