benoit 0.1.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.
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: []