benoit 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (164) hide show
  1. data/.gitignore +4 -0
  2. data/.gitmodules +3 -0
  3. data/.rspec +1 -0
  4. data/.rspec-turnip +1 -0
  5. data/.ruby-version +1 -0
  6. data/Assetfile +44 -0
  7. data/Gemfile +5 -0
  8. data/Gemfile.lock +110 -0
  9. data/Rakefile +9 -0
  10. data/benoit.gemspec +50 -0
  11. data/bin/benoit +121 -0
  12. data/bin/bundle-development +1 -0
  13. data/bin/bundle-sandbox +1 -0
  14. data/lib/benoit.rb +36 -0
  15. data/lib/benoit/cadenza.rb +11 -0
  16. data/lib/benoit/cadenza/output_filters.rb +21 -0
  17. data/lib/benoit/cleaner.rb +10 -0
  18. data/lib/benoit/compiler_error.rb +49 -0
  19. data/lib/benoit/configuration.rb +24 -0
  20. data/lib/benoit/current_site.rb +12 -0
  21. data/lib/benoit/file_wrapper_extensions.rb +13 -0
  22. data/lib/benoit/filters.rb +15 -0
  23. data/lib/benoit/filters/base_filter.rb +44 -0
  24. data/lib/benoit/filters/blacklist_filter.rb +18 -0
  25. data/lib/benoit/filters/cadenza_filter.rb +75 -0
  26. data/lib/benoit/filters/content_page_filter.rb +45 -0
  27. data/lib/benoit/filters/markdown_filter.rb +19 -0
  28. data/lib/benoit/filters/metadata_cleaner.rb +30 -0
  29. data/lib/benoit/filters/move_to_root_filter.rb +22 -0
  30. data/lib/benoit/filters/pagination_filter.rb +23 -0
  31. data/lib/benoit/filters/pass_thru_filter.rb +22 -0
  32. data/lib/benoit/filters/sass_filter.rb +74 -0
  33. data/lib/benoit/filters/set_metadata_filter.rb +15 -0
  34. data/lib/benoit/logger.rb +69 -0
  35. data/lib/benoit/page.rb +88 -0
  36. data/lib/benoit/page_metadata.rb +8 -0
  37. data/lib/benoit/page_metadata/container.rb +74 -0
  38. data/lib/benoit/page_metadata/json_converter.rb +28 -0
  39. data/lib/benoit/page_metadata/parser.rb +38 -0
  40. data/lib/benoit/page_metadata/store.rb +75 -0
  41. data/lib/benoit/pipeline.rb +1 -0
  42. data/lib/benoit/pipeline/dsl_extensions.rb +8 -0
  43. data/lib/benoit/pipeline/pagination_matcher.rb +53 -0
  44. data/lib/benoit/pipeline_project.rb +81 -0
  45. data/lib/benoit/site_context.rb +123 -0
  46. data/lib/benoit/utils/finds_layouts_for_template.rb +77 -0
  47. data/lib/benoit/utils/normalizes_path_to_template.rb +43 -0
  48. data/lib/benoit/utils/paginated_list.rb +102 -0
  49. data/lib/benoit/version.rb +3 -0
  50. data/lib/build_notifiers/file_built_notifier.rb +20 -0
  51. data/lib/build_notifiers/progress_notifier.rb +57 -0
  52. data/lib/cli.rb +39 -0
  53. data/spec/.rbenv-gemsets +1 -0
  54. data/spec/Gemfile +9 -0
  55. data/spec/Gemfile.lock +57 -0
  56. data/spec/bin/autospec +16 -0
  57. data/spec/bin/cucumber +16 -0
  58. data/spec/bin/htmldiff +16 -0
  59. data/spec/bin/ldiff +16 -0
  60. data/spec/bin/rspec +16 -0
  61. data/spec/features/build_command.feature +46 -0
  62. data/spec/features/frontmatter_metadata.feature +99 -0
  63. data/spec/features/javascript_files.feature +35 -0
  64. data/spec/features/output_filters.feature +20 -0
  65. data/spec/features/page_layouts.feature +72 -0
  66. data/spec/features/pagination.feature +58 -0
  67. data/spec/features/sass_files.feature +30 -0
  68. data/spec/features/version.feature +5 -0
  69. data/spec/lib/filters/base_filter_spec.rb +141 -0
  70. data/spec/lib/filters/markdown_filter_spec.rb +65 -0
  71. data/spec/lib/filters/sass_filter_spec.rb +73 -0
  72. data/spec/lib/metadata_json_converter_spec.rb +65 -0
  73. data/spec/lib/metadata_store_spec.rb +148 -0
  74. data/spec/lib/page_spec.rb +19 -0
  75. data/spec/lib/site_context_spec.rb +106 -0
  76. data/spec/spec_helper.rb +16 -0
  77. data/spec/steps/output_file_steps.rb +45 -0
  78. data/spec/steps/run_steps.rb +71 -0
  79. data/spec/steps/staticly_steps.rb +194 -0
  80. data/spec/support/aruba/rspec.rb +66 -0
  81. data/spec/support/files/img.png +0 -0
  82. data/spec/support/files/input.css.scss +7 -0
  83. data/spec/support/files/input.scss +7 -0
  84. data/spec/support/spec_helpers/file_helpers.rb +8 -0
  85. data/spec/support/spec_helpers/memory_file_wrapper.rb +43 -0
  86. data/spec/support/spec_helpers/memory_manifest.rb +19 -0
  87. data/spec/turnip_helper.rb +19 -0
  88. data/vendor/frontmatter/frontmatter.gemspec +24 -0
  89. data/vendor/frontmatter/lib/frontmatter.rb +92 -0
  90. data/vendor/frontmatter/lib/frontmatter/version.rb +3 -0
  91. data/vendor/rake-pipeline/.gitignore +18 -0
  92. data/vendor/rake-pipeline/.rspec +1 -0
  93. data/vendor/rake-pipeline/.travis.yml +12 -0
  94. data/vendor/rake-pipeline/.yardopts +2 -0
  95. data/vendor/rake-pipeline/GETTING_STARTED.md +268 -0
  96. data/vendor/rake-pipeline/Gemfile +14 -0
  97. data/vendor/rake-pipeline/LICENSE +20 -0
  98. data/vendor/rake-pipeline/README.markdown +11 -0
  99. data/vendor/rake-pipeline/README.yard +178 -0
  100. data/vendor/rake-pipeline/Rakefile +21 -0
  101. data/vendor/rake-pipeline/bin/rakep +4 -0
  102. data/vendor/rake-pipeline/examples/copying_files.md +12 -0
  103. data/vendor/rake-pipeline/examples/minifying_files.md +37 -0
  104. data/vendor/rake-pipeline/examples/modifying_pipelines.md +67 -0
  105. data/vendor/rake-pipeline/examples/multiple_pipelines.md +77 -0
  106. data/vendor/rake-pipeline/lib/generators/rake/pipeline/install/install_generator.rb +70 -0
  107. data/vendor/rake-pipeline/lib/rake-pipeline.rb +509 -0
  108. data/vendor/rake-pipeline/lib/rake-pipeline/cli.rb +57 -0
  109. data/vendor/rake-pipeline/lib/rake-pipeline/dsl.rb +9 -0
  110. data/vendor/rake-pipeline/lib/rake-pipeline/dsl/pipeline_dsl.rb +246 -0
  111. data/vendor/rake-pipeline/lib/rake-pipeline/dsl/project_dsl.rb +108 -0
  112. data/vendor/rake-pipeline/lib/rake-pipeline/dynamic_file_task.rb +194 -0
  113. data/vendor/rake-pipeline/lib/rake-pipeline/error.rb +17 -0
  114. data/vendor/rake-pipeline/lib/rake-pipeline/file_wrapper.rb +195 -0
  115. data/vendor/rake-pipeline/lib/rake-pipeline/filter.rb +267 -0
  116. data/vendor/rake-pipeline/lib/rake-pipeline/filters.rb +4 -0
  117. data/vendor/rake-pipeline/lib/rake-pipeline/filters/concat_filter.rb +63 -0
  118. data/vendor/rake-pipeline/lib/rake-pipeline/filters/gsub_filter.rb +56 -0
  119. data/vendor/rake-pipeline/lib/rake-pipeline/filters/ordering_concat_filter.rb +38 -0
  120. data/vendor/rake-pipeline/lib/rake-pipeline/filters/pipeline_finalizing_filter.rb +21 -0
  121. data/vendor/rake-pipeline/lib/rake-pipeline/graph.rb +178 -0
  122. data/vendor/rake-pipeline/lib/rake-pipeline/manifest.rb +82 -0
  123. data/vendor/rake-pipeline/lib/rake-pipeline/manifest_entry.rb +34 -0
  124. data/vendor/rake-pipeline/lib/rake-pipeline/matcher.rb +141 -0
  125. data/vendor/rake-pipeline/lib/rake-pipeline/middleware.rb +73 -0
  126. data/vendor/rake-pipeline/lib/rake-pipeline/precompile.rake +8 -0
  127. data/vendor/rake-pipeline/lib/rake-pipeline/project.rb +338 -0
  128. data/vendor/rake-pipeline/lib/rake-pipeline/rails_plugin.rb +10 -0
  129. data/vendor/rake-pipeline/lib/rake-pipeline/railtie.rb +34 -0
  130. data/vendor/rake-pipeline/lib/rake-pipeline/reject_matcher.rb +29 -0
  131. data/vendor/rake-pipeline/lib/rake-pipeline/server.rb +15 -0
  132. data/vendor/rake-pipeline/lib/rake-pipeline/sorted_pipeline.rb +19 -0
  133. data/vendor/rake-pipeline/lib/rake-pipeline/version.rb +6 -0
  134. data/vendor/rake-pipeline/rails/init.rb +2 -0
  135. data/vendor/rake-pipeline/rake-pipeline.gemspec +24 -0
  136. data/vendor/rake-pipeline/spec/cli_spec.rb +73 -0
  137. data/vendor/rake-pipeline/spec/concat_filter_spec.rb +37 -0
  138. data/vendor/rake-pipeline/spec/dsl/pipeline_dsl_spec.rb +165 -0
  139. data/vendor/rake-pipeline/spec/dsl/project_dsl_spec.rb +41 -0
  140. data/vendor/rake-pipeline/spec/dynamic_file_task_spec.rb +119 -0
  141. data/vendor/rake-pipeline/spec/encoding_spec.rb +106 -0
  142. data/vendor/rake-pipeline/spec/file_wrapper_spec.rb +132 -0
  143. data/vendor/rake-pipeline/spec/filter_spec.rb +367 -0
  144. data/vendor/rake-pipeline/spec/graph_spec.rb +56 -0
  145. data/vendor/rake-pipeline/spec/gsub_filter_spec.rb +87 -0
  146. data/vendor/rake-pipeline/spec/manifest_entry_spec.rb +46 -0
  147. data/vendor/rake-pipeline/spec/manifest_spec.rb +67 -0
  148. data/vendor/rake-pipeline/spec/matcher_spec.rb +141 -0
  149. data/vendor/rake-pipeline/spec/middleware_spec.rb +199 -0
  150. data/vendor/rake-pipeline/spec/ordering_concat_filter_spec.rb +42 -0
  151. data/vendor/rake-pipeline/spec/pipeline_spec.rb +232 -0
  152. data/vendor/rake-pipeline/spec/project_spec.rb +295 -0
  153. data/vendor/rake-pipeline/spec/rake_acceptance_spec.rb +720 -0
  154. data/vendor/rake-pipeline/spec/rake_tasks_spec.rb +21 -0
  155. data/vendor/rake-pipeline/spec/reject_matcher_spec.rb +31 -0
  156. data/vendor/rake-pipeline/spec/sorted_pipeline_spec.rb +27 -0
  157. data/vendor/rake-pipeline/spec/spec_helper.rb +38 -0
  158. data/vendor/rake-pipeline/spec/support/spec_helpers/file_utils.rb +35 -0
  159. data/vendor/rake-pipeline/spec/support/spec_helpers/filters.rb +37 -0
  160. data/vendor/rake-pipeline/spec/support/spec_helpers/input_helpers.rb +23 -0
  161. data/vendor/rake-pipeline/spec/support/spec_helpers/memory_file_wrapper.rb +35 -0
  162. data/vendor/rake-pipeline/spec/support/spec_helpers/memory_manifest.rb +19 -0
  163. data/vendor/rake-pipeline/tools/perfs +101 -0
  164. metadata +497 -0
@@ -0,0 +1,21 @@
1
+ describe "Rake tasks" do
2
+ before do
3
+ @rake = Rake::Application.new
4
+ Rake.application = @rake
5
+ end
6
+
7
+ describe "assets:precompile" do
8
+ before do
9
+ load File.expand_path("../../lib/rake-pipeline/precompile.rake", __FILE__)
10
+ Rails = double("Rails")
11
+ Rails.stub_chain(:application, :config, :rake_pipeline_assetfile).and_return("Assetfile")
12
+ end
13
+
14
+ it "creates and invokes a new Project" do
15
+ project = double("Project")
16
+ project.should_receive(:invoke)
17
+ Rake::Pipeline::Project.should_receive(:new).with("Assetfile").and_return(project)
18
+ @rake["assets:precompile"].invoke
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,31 @@
1
+ describe "RejectMatcher" do
2
+ MemoryFileWrapper ||= Rake::Pipeline::SpecHelpers::MemoryFileWrapper
3
+
4
+ let(:input_files) {
5
+ [
6
+ MemoryFileWrapper.new("/path/to/input", "ember.js", "UTF-8"),
7
+ MemoryFileWrapper.new("/path/to/input", "jquery.js", "UTF-8")
8
+ ]
9
+ }
10
+
11
+ it "accepts a string to match against" do
12
+ pipeline = Rake::Pipeline::RejectMatcher.new
13
+ pipeline.glob = /jquery/
14
+ pipeline.output_root = "/path/to/output"
15
+ pipeline.input_files = input_files
16
+
17
+ pipeline.output_files.should == [MemoryFileWrapper.new("/path/to/input", "ember.js", "UTF-8")]
18
+ end
19
+
20
+ it "accepts a block to use" do
21
+ pipeline = Rake::Pipeline::RejectMatcher.new
22
+ pipeline.block = proc { |file|
23
+ file.path =~ /ember/
24
+ }
25
+
26
+ pipeline.output_root = "/path/to/output"
27
+ pipeline.input_files = input_files
28
+
29
+ pipeline.output_files.should == [MemoryFileWrapper.new("/path/to/input", "jquery.js", "UTF-8")]
30
+ end
31
+ end
@@ -0,0 +1,27 @@
1
+ describe "Rake::Pipeline" do
2
+ include Rake::Pipeline::SpecHelpers::InputHelpers
3
+
4
+ let(:pipeline) { Rake::Pipeline::SortedPipeline.new }
5
+
6
+ it "accepts a comparator" do
7
+ pipeline.comparator = :foo
8
+ pipeline.comparator.should == :foo
9
+ end
10
+
11
+ it "accepts a pipeline for mimicing the filter api" do
12
+ container = Rake::Pipeline.new
13
+ pipeline.pipeline = container
14
+ pipeline.pipeline.should == container
15
+ end
16
+
17
+ it "uses sorted input files for #output_files" do
18
+ # Reverse sort
19
+ pipeline.comparator = proc { |f1, f2|
20
+ f2 <=> f1
21
+ }
22
+
23
+ pipeline.input_files = [input_file("jquery.js"), input_file("jquery_ui.js")]
24
+ pipeline.output_files.first.path.should == 'jquery_ui.js'
25
+ pipeline.output_files.last.path.should == 'jquery.js'
26
+ end
27
+ end
@@ -0,0 +1,38 @@
1
+ unless ENV["TRAVIS"]
2
+ require 'simplecov'
3
+ SimpleCov.start do
4
+ add_group "lib", "lib"
5
+ add_group "spec", "spec"
6
+ end
7
+ end
8
+
9
+ require 'pry'
10
+
11
+ require "rake-pipeline"
12
+ require "rake-pipeline/filters"
13
+
14
+ require "support/spec_helpers/file_utils"
15
+ require "support/spec_helpers/filters"
16
+ require "support/spec_helpers/input_helpers"
17
+ require "support/spec_helpers/memory_file_wrapper"
18
+ require "support/spec_helpers/memory_manifest"
19
+
20
+ RSpec.configure do |config|
21
+ original = Dir.pwd
22
+
23
+ config.include Rake::Pipeline::SpecHelpers::FileUtils
24
+
25
+ def tmp
26
+ File.expand_path("../tmp", __FILE__)
27
+ end
28
+
29
+ config.before do
30
+ rm_rf(tmp)
31
+ mkdir_p(tmp)
32
+ Dir.chdir(tmp)
33
+ end
34
+
35
+ config.after do
36
+ Dir.chdir(original)
37
+ end
38
+ end
@@ -0,0 +1,35 @@
1
+ class Rake::Pipeline
2
+ module SpecHelpers
3
+
4
+ # TODO: OS agnostic modules
5
+ module FileUtils
6
+ def mkdir_p(dir)
7
+ system "mkdir", "-p", dir
8
+ end
9
+
10
+ def touch(file)
11
+ system "touch", file
12
+ end
13
+
14
+ def rm_rf(dir)
15
+ system "rm", "-rf", dir
16
+ end
17
+
18
+ def touch_p(file)
19
+ dir = File.dirname(file)
20
+ mkdir_p dir
21
+ touch file
22
+ end
23
+
24
+ def age_existing_files
25
+ old_time = Time.now - 10
26
+ Dir[File.join(tmp, "**/*.js")].each do |file|
27
+ File.utime(old_time, old_time, file)
28
+ end
29
+ end
30
+ end
31
+
32
+ end
33
+ end
34
+
35
+
@@ -0,0 +1,37 @@
1
+ class Rake::Pipeline
2
+ module SpecHelpers
3
+
4
+ module Filters
5
+ ConcatFilter = Rake::Pipeline::ConcatFilter
6
+
7
+ class StripAssertsFilter < Rake::Pipeline::Filter
8
+ def generate_output(inputs, output)
9
+ inputs.each do |input|
10
+ output.write input.read.gsub(%r{^\s*assert\(.*\)\s*;?\s*$}m, '')
11
+ end
12
+ end
13
+ end
14
+
15
+ class DynamicImportFilter < Rake::Pipeline::Filter
16
+ def additional_dependencies(input)
17
+ includes(input)
18
+ end
19
+
20
+ def includes(input)
21
+ input.read.scan(/^@import\(\"(.*)\"\)$/).map(&:first).map do |inc|
22
+ File.join(input.root, "#{inc}.import")
23
+ end
24
+ end
25
+
26
+ def generate_output(inputs, output)
27
+ inputs.each do |input|
28
+ output.write input.read
29
+ includes(input).each do |inc|
30
+ output.write File.read(inc)
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,23 @@
1
+ class Rake::Pipeline
2
+ module SpecHelpers
3
+ module InputHelpers
4
+ def input_file(path, root=File.join(tmp, "app/assets"))
5
+ Rake::Pipeline::FileWrapper.new root, path
6
+ end
7
+
8
+ def output_file(path, root=File.join(tmp, "public"))
9
+ input_file(path, root)
10
+ end
11
+
12
+ def create_files(files)
13
+ Array(files).each do |file|
14
+ mkdir_p File.dirname(file.fullpath)
15
+
16
+ File.open(file.fullpath, "w") do |file|
17
+ file.write "// This is #{file.path}\n"
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,35 @@
1
+ class Rake::Pipeline
2
+ module SpecHelpers
3
+ class MemoryFileWrapper < Struct.new(:root, :path, :encoding, :original_inputs, :body)
4
+ @@files = {}
5
+
6
+ def self.files
7
+ @@files
8
+ end
9
+
10
+ def with_encoding(new_encoding)
11
+ self.class.new(root, path, new_encoding, original_inputs, body)
12
+ end
13
+
14
+ def fullpath
15
+ File.join(root, path)
16
+ end
17
+
18
+ def create
19
+ @@files[fullpath] = self
20
+ self.body = ""
21
+ yield
22
+ end
23
+
24
+ def original_inputs
25
+ []
26
+ end
27
+
28
+ alias read body
29
+
30
+ def write(contents)
31
+ self.body << contents
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,19 @@
1
+ class Rake::Pipeline
2
+ module SpecHelpers
3
+ class MemoryManifest
4
+ def initialize
5
+ @entries = {}
6
+ end
7
+
8
+ # Look up an entry by filename.
9
+ def [](key)
10
+ @entries[key]
11
+ end
12
+
13
+ # Set an entry
14
+ def []=(key, value)
15
+ @entries[key] = value
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,101 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $:.unshift File.expand_path('../../lib', __FILE__)
4
+ require 'rake-pipeline'
5
+ require 'rake-pipeline/middleware'
6
+
7
+ require 'fileutils'
8
+ require 'benchmark'
9
+ require 'ruby-prof'
10
+ require 'thor'
11
+ require 'rack/test'
12
+
13
+ class FakeServer
14
+ include Rack::Test::Methods
15
+
16
+ def app
17
+ Rake::Pipeline::Middleware.new(Rack::Directory.new('.'), 'Assetfile')
18
+ end
19
+ end
20
+
21
+ class Perfs < Thor
22
+ include FileUtils
23
+
24
+ class_option :clean, :type => :boolean, :default => true
25
+
26
+ desc "bench PROJECT_DIR", "Benchmark building and cleaning the given project"
27
+ def bench(project_dir)
28
+ setup(project_dir)
29
+
30
+ invoke_time = Benchmark.realtime do
31
+ project.invoke
32
+ end
33
+
34
+ clean_time = Benchmark.realtime do
35
+ project.clean
36
+ end
37
+
38
+ puts "build: #{invoke_time}"
39
+ puts "clean: #{clean_time}"
40
+ end
41
+
42
+ desc "profile PROJECT_DIR", "Profile a build"
43
+ method_option :rebuild, :type => :boolean, :aliases => "-r", :default => false
44
+ def profile(project_dir)
45
+ setup(project_dir)
46
+
47
+ if options[:rebuild]
48
+ project.invoke
49
+ result = RubyProf.profile do
50
+ project.invoke
51
+ end
52
+ else
53
+ result = RubyProf.profile do
54
+ project.invoke
55
+ end
56
+ end
57
+
58
+ printer = RubyProf::GraphHtmlPrinter.new(result)
59
+ printer.print
60
+ end
61
+
62
+ desc "bench_server PROJECT_DIR URL",
63
+ "Benchmark a GET request against a rakep server for the given PROJECT_DIR"
64
+ def bench_server(project_dir, url)
65
+ setup(project_dir)
66
+
67
+ server = FakeServer.new
68
+ result = Benchmark.realtime do
69
+ server.get url
70
+ end
71
+
72
+ puts result
73
+ end
74
+
75
+ desc "profile_server PROJECT_DIR URL",
76
+ "Profile a GET request against a rakep server for the given PROJECT_DIR"
77
+ def profile_server(project_dir, url)
78
+ setup(project_dir)
79
+
80
+ server = FakeServer.new
81
+ result = RubyProf.profile do
82
+ server.get url
83
+ end
84
+
85
+ printer = RubyProf::GraphHtmlPrinter.new(result)
86
+ printer.print
87
+ end
88
+
89
+ private
90
+
91
+ def setup(project_dir)
92
+ cd project_dir
93
+ project.clean
94
+ end
95
+
96
+ def project
97
+ @project ||= Rake::Pipeline::Project.new('Assetfile')
98
+ end
99
+ end
100
+
101
+ Perfs.start
metadata ADDED
@@ -0,0 +1,497 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: benoit
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Joe Fiorini
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-04-21 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: gli
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 2.5.3
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 2.5.3
30
+ - !ruby/object:Gem::Dependency
31
+ name: sass
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: 3.2.0
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 3.2.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: multi_json
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 1.5.0
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 1.5.0
62
+ - !ruby/object:Gem::Dependency
63
+ name: redcarpet
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: 2.2.2
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 2.2.2
78
+ - !ruby/object:Gem::Dependency
79
+ name: compass
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: 0.13.alpha
86
+ type: :runtime
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 0.13.alpha
94
+ - !ruby/object:Gem::Dependency
95
+ name: chunky_png
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ~>
100
+ - !ruby/object:Gem::Version
101
+ version: 1.2.0
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: 1.2.0
110
+ - !ruby/object:Gem::Dependency
111
+ name: inflecto
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: 0.0.2
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: 0.0.2
126
+ - !ruby/object:Gem::Dependency
127
+ name: cadenza
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ~>
132
+ - !ruby/object:Gem::Version
133
+ version: 0.8.0
134
+ type: :runtime
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ~>
140
+ - !ruby/object:Gem::Version
141
+ version: 0.8.0
142
+ - !ruby/object:Gem::Dependency
143
+ name: rake-pipeline-web-filters
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ~>
148
+ - !ruby/object:Gem::Version
149
+ version: 0.7.0
150
+ type: :runtime
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ~>
156
+ - !ruby/object:Gem::Version
157
+ version: 0.7.0
158
+ - !ruby/object:Gem::Dependency
159
+ name: kronic
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ~>
164
+ - !ruby/object:Gem::Version
165
+ version: 1.1.3
166
+ type: :runtime
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ~>
172
+ - !ruby/object:Gem::Version
173
+ version: 1.1.3
174
+ - !ruby/object:Gem::Dependency
175
+ name: stamp
176
+ requirement: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ~>
180
+ - !ruby/object:Gem::Version
181
+ version: 0.5.0
182
+ type: :runtime
183
+ prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ~>
188
+ - !ruby/object:Gem::Version
189
+ version: 0.5.0
190
+ - !ruby/object:Gem::Dependency
191
+ name: rspec
192
+ requirement: !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - ! '>='
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
198
+ type: :development
199
+ prerelease: false
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ! '>='
204
+ - !ruby/object:Gem::Version
205
+ version: '0'
206
+ - !ruby/object:Gem::Dependency
207
+ name: turnip
208
+ requirement: !ruby/object:Gem::Requirement
209
+ none: false
210
+ requirements:
211
+ - - ~>
212
+ - !ruby/object:Gem::Version
213
+ version: 1.1.0
214
+ type: :development
215
+ prerelease: false
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ~>
220
+ - !ruby/object:Gem::Version
221
+ version: 1.1.0
222
+ - !ruby/object:Gem::Dependency
223
+ name: turnip-kanban
224
+ requirement: !ruby/object:Gem::Requirement
225
+ none: false
226
+ requirements:
227
+ - - ! '>='
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ none: false
234
+ requirements:
235
+ - - ! '>='
236
+ - !ruby/object:Gem::Version
237
+ version: '0'
238
+ - !ruby/object:Gem::Dependency
239
+ name: aruba
240
+ requirement: !ruby/object:Gem::Requirement
241
+ none: false
242
+ requirements:
243
+ - - ! '>='
244
+ - !ruby/object:Gem::Version
245
+ version: '0'
246
+ type: :development
247
+ prerelease: false
248
+ version_requirements: !ruby/object:Gem::Requirement
249
+ none: false
250
+ requirements:
251
+ - - ! '>='
252
+ - !ruby/object:Gem::Version
253
+ version: '0'
254
+ - !ruby/object:Gem::Dependency
255
+ name: pry
256
+ requirement: !ruby/object:Gem::Requirement
257
+ none: false
258
+ requirements:
259
+ - - ! '>='
260
+ - !ruby/object:Gem::Version
261
+ version: '0'
262
+ type: :development
263
+ prerelease: false
264
+ version_requirements: !ruby/object:Gem::Requirement
265
+ none: false
266
+ requirements:
267
+ - - ! '>='
268
+ - !ruby/object:Gem::Version
269
+ version: '0'
270
+ - !ruby/object:Gem::Dependency
271
+ name: pry-nav
272
+ requirement: !ruby/object:Gem::Requirement
273
+ none: false
274
+ requirements:
275
+ - - ! '>='
276
+ - !ruby/object:Gem::Version
277
+ version: '0'
278
+ type: :development
279
+ prerelease: false
280
+ version_requirements: !ruby/object:Gem::Requirement
281
+ none: false
282
+ requirements:
283
+ - - ! '>='
284
+ - !ruby/object:Gem::Version
285
+ version: '0'
286
+ - !ruby/object:Gem::Dependency
287
+ name: pry-remote
288
+ requirement: !ruby/object:Gem::Requirement
289
+ none: false
290
+ requirements:
291
+ - - ! '>='
292
+ - !ruby/object:Gem::Version
293
+ version: '0'
294
+ type: :development
295
+ prerelease: false
296
+ version_requirements: !ruby/object:Gem::Requirement
297
+ none: false
298
+ requirements:
299
+ - - ! '>='
300
+ - !ruby/object:Gem::Version
301
+ version: '0'
302
+ description:
303
+ email: joe@joefiorini.com
304
+ executables:
305
+ - benoit
306
+ extensions: []
307
+ extra_rdoc_files: []
308
+ files:
309
+ - .gitignore
310
+ - .gitmodules
311
+ - .rspec
312
+ - .rspec-turnip
313
+ - .ruby-version
314
+ - Assetfile
315
+ - Gemfile
316
+ - Gemfile.lock
317
+ - Rakefile
318
+ - benoit.gemspec
319
+ - bin/benoit
320
+ - bin/bundle-development
321
+ - bin/bundle-sandbox
322
+ - lib/benoit.rb
323
+ - lib/benoit/cadenza.rb
324
+ - lib/benoit/cadenza/output_filters.rb
325
+ - lib/benoit/cleaner.rb
326
+ - lib/benoit/compiler_error.rb
327
+ - lib/benoit/configuration.rb
328
+ - lib/benoit/current_site.rb
329
+ - lib/benoit/file_wrapper_extensions.rb
330
+ - lib/benoit/filters.rb
331
+ - lib/benoit/filters/base_filter.rb
332
+ - lib/benoit/filters/blacklist_filter.rb
333
+ - lib/benoit/filters/cadenza_filter.rb
334
+ - lib/benoit/filters/content_page_filter.rb
335
+ - lib/benoit/filters/markdown_filter.rb
336
+ - lib/benoit/filters/metadata_cleaner.rb
337
+ - lib/benoit/filters/move_to_root_filter.rb
338
+ - lib/benoit/filters/pagination_filter.rb
339
+ - lib/benoit/filters/pass_thru_filter.rb
340
+ - lib/benoit/filters/sass_filter.rb
341
+ - lib/benoit/filters/set_metadata_filter.rb
342
+ - lib/benoit/logger.rb
343
+ - lib/benoit/page.rb
344
+ - lib/benoit/page_metadata.rb
345
+ - lib/benoit/page_metadata/container.rb
346
+ - lib/benoit/page_metadata/json_converter.rb
347
+ - lib/benoit/page_metadata/parser.rb
348
+ - lib/benoit/page_metadata/store.rb
349
+ - lib/benoit/pipeline.rb
350
+ - lib/benoit/pipeline/dsl_extensions.rb
351
+ - lib/benoit/pipeline/pagination_matcher.rb
352
+ - lib/benoit/pipeline_project.rb
353
+ - lib/benoit/site_context.rb
354
+ - lib/benoit/utils/finds_layouts_for_template.rb
355
+ - lib/benoit/utils/normalizes_path_to_template.rb
356
+ - lib/benoit/utils/paginated_list.rb
357
+ - lib/benoit/version.rb
358
+ - lib/build_notifiers/file_built_notifier.rb
359
+ - lib/build_notifiers/progress_notifier.rb
360
+ - lib/cli.rb
361
+ - spec/.rbenv-gemsets
362
+ - spec/Gemfile
363
+ - spec/Gemfile.lock
364
+ - spec/bin/autospec
365
+ - spec/bin/cucumber
366
+ - spec/bin/htmldiff
367
+ - spec/bin/ldiff
368
+ - spec/bin/rspec
369
+ - spec/features/build_command.feature
370
+ - spec/features/frontmatter_metadata.feature
371
+ - spec/features/javascript_files.feature
372
+ - spec/features/output_filters.feature
373
+ - spec/features/page_layouts.feature
374
+ - spec/features/pagination.feature
375
+ - spec/features/sass_files.feature
376
+ - spec/features/version.feature
377
+ - spec/lib/filters/base_filter_spec.rb
378
+ - spec/lib/filters/markdown_filter_spec.rb
379
+ - spec/lib/filters/sass_filter_spec.rb
380
+ - spec/lib/metadata_json_converter_spec.rb
381
+ - spec/lib/metadata_store_spec.rb
382
+ - spec/lib/page_spec.rb
383
+ - spec/lib/site_context_spec.rb
384
+ - spec/spec_helper.rb
385
+ - spec/steps/output_file_steps.rb
386
+ - spec/steps/run_steps.rb
387
+ - spec/steps/staticly_steps.rb
388
+ - spec/support/aruba/rspec.rb
389
+ - spec/support/files/img.png
390
+ - spec/support/files/input.css.scss
391
+ - spec/support/files/input.scss
392
+ - spec/support/spec_helpers/file_helpers.rb
393
+ - spec/support/spec_helpers/memory_file_wrapper.rb
394
+ - spec/support/spec_helpers/memory_manifest.rb
395
+ - spec/turnip_helper.rb
396
+ - vendor/frontmatter/frontmatter.gemspec
397
+ - vendor/frontmatter/lib/frontmatter.rb
398
+ - vendor/frontmatter/lib/frontmatter/version.rb
399
+ - vendor/rake-pipeline/.gitignore
400
+ - vendor/rake-pipeline/.rspec
401
+ - vendor/rake-pipeline/.travis.yml
402
+ - vendor/rake-pipeline/.yardopts
403
+ - vendor/rake-pipeline/GETTING_STARTED.md
404
+ - vendor/rake-pipeline/Gemfile
405
+ - vendor/rake-pipeline/LICENSE
406
+ - vendor/rake-pipeline/README.markdown
407
+ - vendor/rake-pipeline/README.yard
408
+ - vendor/rake-pipeline/Rakefile
409
+ - vendor/rake-pipeline/bin/rakep
410
+ - vendor/rake-pipeline/examples/copying_files.md
411
+ - vendor/rake-pipeline/examples/minifying_files.md
412
+ - vendor/rake-pipeline/examples/modifying_pipelines.md
413
+ - vendor/rake-pipeline/examples/multiple_pipelines.md
414
+ - vendor/rake-pipeline/lib/generators/rake/pipeline/install/install_generator.rb
415
+ - vendor/rake-pipeline/lib/rake-pipeline.rb
416
+ - vendor/rake-pipeline/lib/rake-pipeline/cli.rb
417
+ - vendor/rake-pipeline/lib/rake-pipeline/dsl.rb
418
+ - vendor/rake-pipeline/lib/rake-pipeline/dsl/pipeline_dsl.rb
419
+ - vendor/rake-pipeline/lib/rake-pipeline/dsl/project_dsl.rb
420
+ - vendor/rake-pipeline/lib/rake-pipeline/dynamic_file_task.rb
421
+ - vendor/rake-pipeline/lib/rake-pipeline/error.rb
422
+ - vendor/rake-pipeline/lib/rake-pipeline/file_wrapper.rb
423
+ - vendor/rake-pipeline/lib/rake-pipeline/filter.rb
424
+ - vendor/rake-pipeline/lib/rake-pipeline/filters.rb
425
+ - vendor/rake-pipeline/lib/rake-pipeline/filters/concat_filter.rb
426
+ - vendor/rake-pipeline/lib/rake-pipeline/filters/gsub_filter.rb
427
+ - vendor/rake-pipeline/lib/rake-pipeline/filters/ordering_concat_filter.rb
428
+ - vendor/rake-pipeline/lib/rake-pipeline/filters/pipeline_finalizing_filter.rb
429
+ - vendor/rake-pipeline/lib/rake-pipeline/graph.rb
430
+ - vendor/rake-pipeline/lib/rake-pipeline/manifest.rb
431
+ - vendor/rake-pipeline/lib/rake-pipeline/manifest_entry.rb
432
+ - vendor/rake-pipeline/lib/rake-pipeline/matcher.rb
433
+ - vendor/rake-pipeline/lib/rake-pipeline/middleware.rb
434
+ - vendor/rake-pipeline/lib/rake-pipeline/precompile.rake
435
+ - vendor/rake-pipeline/lib/rake-pipeline/project.rb
436
+ - vendor/rake-pipeline/lib/rake-pipeline/rails_plugin.rb
437
+ - vendor/rake-pipeline/lib/rake-pipeline/railtie.rb
438
+ - vendor/rake-pipeline/lib/rake-pipeline/reject_matcher.rb
439
+ - vendor/rake-pipeline/lib/rake-pipeline/server.rb
440
+ - vendor/rake-pipeline/lib/rake-pipeline/sorted_pipeline.rb
441
+ - vendor/rake-pipeline/lib/rake-pipeline/version.rb
442
+ - vendor/rake-pipeline/rails/init.rb
443
+ - vendor/rake-pipeline/rake-pipeline.gemspec
444
+ - vendor/rake-pipeline/spec/cli_spec.rb
445
+ - vendor/rake-pipeline/spec/concat_filter_spec.rb
446
+ - vendor/rake-pipeline/spec/dsl/pipeline_dsl_spec.rb
447
+ - vendor/rake-pipeline/spec/dsl/project_dsl_spec.rb
448
+ - vendor/rake-pipeline/spec/dynamic_file_task_spec.rb
449
+ - vendor/rake-pipeline/spec/encoding_spec.rb
450
+ - vendor/rake-pipeline/spec/file_wrapper_spec.rb
451
+ - vendor/rake-pipeline/spec/filter_spec.rb
452
+ - vendor/rake-pipeline/spec/graph_spec.rb
453
+ - vendor/rake-pipeline/spec/gsub_filter_spec.rb
454
+ - vendor/rake-pipeline/spec/manifest_entry_spec.rb
455
+ - vendor/rake-pipeline/spec/manifest_spec.rb
456
+ - vendor/rake-pipeline/spec/matcher_spec.rb
457
+ - vendor/rake-pipeline/spec/middleware_spec.rb
458
+ - vendor/rake-pipeline/spec/ordering_concat_filter_spec.rb
459
+ - vendor/rake-pipeline/spec/pipeline_spec.rb
460
+ - vendor/rake-pipeline/spec/project_spec.rb
461
+ - vendor/rake-pipeline/spec/rake_acceptance_spec.rb
462
+ - vendor/rake-pipeline/spec/rake_tasks_spec.rb
463
+ - vendor/rake-pipeline/spec/reject_matcher_spec.rb
464
+ - vendor/rake-pipeline/spec/sorted_pipeline_spec.rb
465
+ - vendor/rake-pipeline/spec/spec_helper.rb
466
+ - vendor/rake-pipeline/spec/support/spec_helpers/file_utils.rb
467
+ - vendor/rake-pipeline/spec/support/spec_helpers/filters.rb
468
+ - vendor/rake-pipeline/spec/support/spec_helpers/input_helpers.rb
469
+ - vendor/rake-pipeline/spec/support/spec_helpers/memory_file_wrapper.rb
470
+ - vendor/rake-pipeline/spec/support/spec_helpers/memory_manifest.rb
471
+ - vendor/rake-pipeline/tools/perfs
472
+ homepage: http://static.ly
473
+ licenses: []
474
+ post_install_message:
475
+ rdoc_options: []
476
+ require_paths:
477
+ - lib
478
+ - lib
479
+ required_ruby_version: !ruby/object:Gem::Requirement
480
+ none: false
481
+ requirements:
482
+ - - ! '>='
483
+ - !ruby/object:Gem::Version
484
+ version: '0'
485
+ required_rubygems_version: !ruby/object:Gem::Requirement
486
+ none: false
487
+ requirements:
488
+ - - ! '>='
489
+ - !ruby/object:Gem::Version
490
+ version: '0'
491
+ requirements: []
492
+ rubyforge_project:
493
+ rubygems_version: 1.8.23
494
+ signing_key:
495
+ specification_version: 3
496
+ summary: The CLI interface behind the Benoit Mac app
497
+ test_files: []