stencil-ruby 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: db67f26986ba2c450086e9fec38d926df4d038fe
4
+ data.tar.gz: eae3748f96210ff2bf87eaadfbd93bd482f534fe
5
+ SHA512:
6
+ metadata.gz: 2f87b8ad8d76cb8c3cb7164cdf3af42c92b110f4e4415b1d87c9838297c462fba9e40a8a77d7365076287e31c97696523bb7ef0d301dd5ecb48532ca7b40df04
7
+ data.tar.gz: 294cb0e80339d9b03fd098951646fbae5fee4c9c8e30444e3cb6d9eeb334a5037e78c716399ac325ebbd85406a7f6d4aa75daf3fe4147062fdfff0d1a700bfec
data/.gitignore ADDED
@@ -0,0 +1,15 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ *.bundle
11
+ *.so
12
+ *.o
13
+ *.a
14
+ mkmf.log
15
+ /assets
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in stencil.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2015 Michael Dijkstra
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,39 @@
1
+ # Stencil
2
+
3
+ Compiler to help you get started building a new web site, web application or HTML email fast.
4
+
5
+ ## Installation
6
+
7
+ ```
8
+ gem install stencil
9
+ ```
10
+
11
+ ### Usage
12
+
13
+ 1. Download the latest version of [Stencil](https://github.com/micdijkstra/stencil)
14
+ 2. cd into the directory
15
+ 3. Run `stencil bootstrap`
16
+ 4. Run `stencil watch`
17
+ 5. …
18
+ 6. Count cash!
19
+
20
+ Run `stencil help` for a full list of commands.
21
+
22
+ ## Building Locally
23
+
24
+ 1. Clone it
25
+ 2. Run `bundle`
26
+ 3. Run `rake install`
27
+
28
+ ## Contributing
29
+
30
+ 1. Fork it ( https://github.com/micdijkstra/stencil/fork )
31
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
32
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
33
+ 4. Push to the branch (`git push origin my-new-feature`)
34
+ 5. Create a new Pull Request
35
+
36
+ ## Server stuck?
37
+
38
+ 1. Run `lsof -wni tcp:3000`
39
+ 2. Run `kill -9 PID` (where the PID is from the output above)
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require "bundler/gem_tasks"
2
+
data/bin/stencil ADDED
@@ -0,0 +1,106 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'stencil'
4
+
5
+ class NonCachingFileHandler < WEBrick::HTTPServlet::FileHandler
6
+ def prevent_caching(res)
7
+ res['ETag'] = nil
8
+ res['Last-Modified'] = Time.now + 100**4
9
+ res['Cache-Control'] = 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0'
10
+ res['Pragma'] = 'no-cache'
11
+ res['Expires'] = Time.now - 100**4
12
+ end
13
+
14
+ def do_GET(req, res)
15
+ super
16
+ prevent_caching(res)
17
+ end
18
+ end
19
+
20
+ def help
21
+ %Q(
22
+ Usage: stencil [COMMAND] [OPTIONS]
23
+ Commands:
24
+ bootstrap Create the required folders in the current directory
25
+ build Renders HTML and CSS into the build directory
26
+ watch Watches for changes to SCSS and Liquid files and builds them
27
+ inline Inlines the CSS in all HTML files in the build directory
28
+ help Prints this help document
29
+ version Prints the stencil gem version
30
+ Options:
31
+ -h, --help Prints this help document
32
+ -v, --version Prints the siteleaf gem version
33
+ See https://github.com/xxix/stencil for additional documentation.
34
+ )
35
+ end
36
+
37
+ def build
38
+ render_sass
39
+ render_javascript
40
+ render_liquid
41
+ end
42
+
43
+ def render_inline
44
+ puts Stencil.inline('build/')
45
+ end
46
+
47
+ def render_javascript
48
+ puts Stencil.javascript('assets/javascripts/')
49
+ end
50
+
51
+ def render_liquid
52
+ puts Stencil.liquid('templates/')
53
+ end
54
+
55
+ def render_sass
56
+ puts Stencil.sass('assets/stylesheets/')
57
+ end
58
+
59
+ case ARGV[0]
60
+ when '-v', '--version', 'version'
61
+ puts Stencil::VERSION
62
+ when '-h', '--help', 'help'
63
+ puts help
64
+ when 'bootstrap'
65
+ puts "Bootstrapping environment!"
66
+ system 'mkdir', '-p', 'build'
67
+ system 'mkdir', '-p', 'templates'
68
+ system 'mkdir', '-p', 'assets/stylesheets'
69
+ system 'mkdir', '-p', 'assets/javascripts'
70
+ when 'watch'
71
+ puts "Starting server!"
72
+
73
+ server = WEBrick::HTTPServer.new Port: 3000, BindAddress: "localhost"
74
+ directory = Dir.pwd + '/build'
75
+ server.mount "/", NonCachingFileHandler, directory
76
+ trap("INT") { server.shutdown }
77
+ pid = Process.fork { server.start }
78
+ Process.detach(pid)
79
+ puts "Server detached with pid '#{pid}'.", "Run `pkill -f stencil' or `kill -9 #{pid}' to stop the server."
80
+
81
+ puts "Compiling files!"
82
+ build
83
+
84
+ puts "Opening server …"
85
+ system 'open http://localhost:3000/index.html'
86
+
87
+ puts "Starting watcher!"
88
+ FileWatcher.new('./').watch do |filename|
89
+ if filename.include?('.scss')
90
+ puts render_sass
91
+ elsif filename.include?('.js')
92
+ puts render_javascript
93
+ elsif filename.include?('.liquid')
94
+ puts render_liquid
95
+ end
96
+ end
97
+ when 'inline'
98
+ puts "Starting inliner!"
99
+ render_inline
100
+ when 'build'
101
+ puts "Starting compiler!"
102
+ build
103
+ else
104
+ puts "`#{ARGV[0]}` command not found.\n"
105
+ puts help
106
+ end
data/index.html ADDED
@@ -0,0 +1,32 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en" class="no-js">
3
+ <head>
4
+ <title></title>
5
+
6
+ <meta name="author" content="">
7
+ <meta name="description" content="">
8
+
9
+ <meta charset="utf-8">
10
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
11
+ <meta name="viewport" content="width=device-width, initial-scale=1, minimal-ui">
12
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
13
+
14
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
15
+ <script src="assets/modernizr.js"></script>
16
+
17
+ <link rel="stylesheet" href="assets/application.css" />
18
+
19
+ <!--[if lt IE 9]>
20
+ <script type="text/javascript" src="assets/respond.js"></script>
21
+ <![endif]-->
22
+
23
+ </head>
24
+ <body>
25
+ <div class="loader" data-loader></div>
26
+ <div class="wrapper">
27
+ <div class="main">
28
+ <h1>Hello</h1>
29
+ </div>
30
+ </div>
31
+ </body>
32
+ </html>
@@ -0,0 +1,3 @@
1
+ module Stencil
2
+ VERSION = "0.0.1"
3
+ end
data/lib/stencil.rb ADDED
@@ -0,0 +1,101 @@
1
+ require "stencil/version"
2
+ require 'sassc'
3
+ require 'filewatcher'
4
+ require 'liquid'
5
+ require 'autoprefixer-rails'
6
+ require 'premailer'
7
+ require 'sass_paths'
8
+ require 'uglifier'
9
+ require 'webrick'
10
+
11
+ module Stencil
12
+ SassPaths.append('assets/stylesheets')
13
+
14
+ def self.javascript folder
15
+ begin
16
+ contents = ""
17
+ folders = [folder + 'lib/', folder]
18
+ folders.each do |f|
19
+ Dir.glob(f + '*.js') do |path|
20
+ begin
21
+ contents += File.open(path).read
22
+ rescue => e
23
+ puts "JavaScript error: #{e}"
24
+ end
25
+ end
26
+ end
27
+
28
+ uglified = Uglifier.new.compile contents
29
+ output_filename = folder.gsub('assets/javascripts', 'build/') + 'application.js'
30
+ File.open(output_filename, 'w') { |file| file.write(uglified) }
31
+
32
+ "JavaScript rendered #{folder}"
33
+ rescue => e
34
+ "JavaScript error: #{e}"
35
+ end
36
+ end
37
+
38
+ def self.sass folder
39
+ begin
40
+ Dir.glob(folder + '*.scss') do |path|
41
+ next if path =~ /\_/ # do not render partials
42
+ begin
43
+ file = File.open(path).read
44
+ engine = SassC::Engine.new(file, { style: :compressed, load_paths: ['assets/stylesheets/'] })
45
+ prefixed = AutoprefixerRails.process(engine.render, browsers: ['last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1'])
46
+ output_filename = path.gsub('scss', 'css').gsub('assets/stylesheets', 'build')
47
+ File.open(output_filename, 'w') { |file| file.write(prefixed.css) }
48
+ rescue => e
49
+ puts "Sass error: #{e}"
50
+ end
51
+ end
52
+ "Sass rendered #{folder}"
53
+ rescue => e
54
+ "Sass error: #{e}"
55
+ end
56
+ end
57
+
58
+ def self.liquid folder
59
+ begin
60
+ Liquid::Template.file_system = Liquid::LocalFileSystem.new(folder)
61
+ Dir.glob(folder + '*.liquid') do |path|
62
+ next if path =~ /\_/ # do not render partials
63
+ begin
64
+ file = File.open(path).read
65
+ liquid = Liquid::Template.parse(file)
66
+ output_filename = path.gsub('liquid', 'html').gsub('templates', 'build')
67
+ File.open(output_filename, 'w') { |file| file.write(liquid.render) }
68
+ rescue => e
69
+ puts "Liquid error: #{e}"
70
+ end
71
+ end
72
+ "Liquid rendered #{folder}"
73
+ rescue => e
74
+ "Liquid error: #{e}"
75
+ end
76
+ end
77
+
78
+ def self.inline folder
79
+ begin
80
+ Liquid::Template.file_system = Liquid::LocalFileSystem.new(folder)
81
+ Dir.glob(folder + '*.html') do |path|
82
+ next if path.include? '-inline.html'
83
+ begin
84
+ premailer = Premailer.new(path, warn_level: Premailer::Warnings::SAFE)
85
+ output_filename = path.gsub('.html', '-inline.html')
86
+ File.open(output_filename, 'w') { |file| file.write(premailer.to_inline_css) }
87
+
88
+ # Output any CSS warnings
89
+ premailer.warnings.each do |w|
90
+ puts "#{w[:message]} (#{w[:level]}) may not render properly in #{w[:clients]}"
91
+ end
92
+ rescue => e
93
+ puts "Inline error: #{e}"
94
+ end
95
+ end
96
+ "Inline rendered #{folder}"
97
+ rescue => e
98
+ "Inline error: #{e}"
99
+ end
100
+ end
101
+ end
@@ -0,0 +1,3 @@
1
+ function library() {
2
+ console.log('library');
3
+ }
@@ -0,0 +1,3 @@
1
+ function script() {
2
+ console.log('script');
3
+ }
@@ -0,0 +1,9 @@
1
+ body {
2
+ color: red;
3
+ display: flex;
4
+ }
5
+
6
+ h1 {
7
+ color: black;
8
+ font-weight: bold;
9
+ }
@@ -0,0 +1 @@
1
+ body{color:red;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}h1{color:black;font-weight:bold}
@@ -0,0 +1 @@
1
+ function library(){console.log("library")}function script(){console.log("script")}
@@ -0,0 +1,37 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en" class="no-js">
3
+ <head>
4
+ <title></title>
5
+
6
+ <meta name="author" content="">
7
+ <meta name="description" content="">
8
+
9
+ <meta charset="utf-8">
10
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
11
+ <meta name="viewport" content="width=device-width, initial-scale=1, minimal-ui">
12
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
13
+
14
+
15
+
16
+
17
+
18
+
19
+ <!--[if lt IE 9]>
20
+ <script type="text/javascript" src="assets/respond.js"></script>
21
+ <![endif]-->
22
+
23
+ </head>
24
+ <body style="color: red; display: flex">
25
+ <style type="text/css">
26
+ body {
27
+ color: red; display: flex;
28
+ }
29
+ </style>
30
+ <div class="loader" data-loader></div>
31
+ <div class="wrapper">
32
+ <div class="main">
33
+ <h1 style="color: black; font-weight: bold">Hello</h1>
34
+ </div>
35
+ </div>
36
+ </body>
37
+ </html>
@@ -0,0 +1,32 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en" class="no-js">
3
+ <head>
4
+ <title></title>
5
+
6
+ <meta name="author" content="">
7
+ <meta name="description" content="">
8
+
9
+ <meta charset="utf-8">
10
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
11
+ <meta name="viewport" content="width=device-width, initial-scale=1, minimal-ui">
12
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
13
+
14
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
15
+ <script src="assets/modernizr.js"></script>
16
+
17
+ <link rel="stylesheet" href="./application.css" />
18
+
19
+ <!--[if lt IE 9]>
20
+ <script type="text/javascript" src="assets/respond.js"></script>
21
+ <![endif]-->
22
+
23
+ </head>
24
+ <body>
25
+ <div class="loader" data-loader></div>
26
+ <div class="wrapper">
27
+ <div class="main">
28
+ <h1>Hello</h1>
29
+ </div>
30
+ </div>
31
+ </body>
32
+ </html>
@@ -0,0 +1,7 @@
1
+ require 'bundler/setup'
2
+ Bundler.setup
3
+
4
+ require 'stencil'
5
+
6
+ RSpec.configure do |config|
7
+ end
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+ describe Stencil do
3
+ it 'renders the css from a scss file' do
4
+ path = 'spec/assets/stylesheets/'
5
+ expect(Stencil.sass(path)).to eq "Sass rendered #{path}"
6
+ end
7
+
8
+ it 'renders the javascript' do
9
+ path = 'spec/assets/javascripts/'
10
+ expect(Stencil.javascript(path)).to eq "JavaScript rendered #{path}"
11
+ end
12
+
13
+ it 'renders html from a liquid file' do
14
+ path = 'spec/templates/'
15
+ expect(Stencil.liquid(path)).to eq "Liquid rendered #{path}"
16
+ end
17
+
18
+ it 'inlines css for an index file' do
19
+ path = 'spec/build/'
20
+ expect(Stencil.inline(path)).to eq "Inline rendered #{path}"
21
+ end
22
+ end
@@ -0,0 +1,18 @@
1
+ <title></title>
2
+
3
+ <meta name="author" content="">
4
+ <meta name="description" content="">
5
+
6
+ <meta charset="utf-8">
7
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
8
+ <meta name="viewport" content="width=device-width, initial-scale=1, minimal-ui">
9
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
+
11
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
12
+ <script src="assets/modernizr.js"></script>
13
+
14
+ <link rel="stylesheet" href="./application.css" />
15
+
16
+ <!--[if lt IE 9]>
17
+ <script type="text/javascript" src="assets/respond.js"></script>
18
+ <![endif]-->
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en" class="no-js">
3
+ <head>
4
+ {% include 'head' %}
5
+ </head>
6
+ <body>
7
+ <div class="loader" data-loader></div>
8
+ <div class="wrapper">
9
+ <div class="main">
10
+ <h1>Hello</h1>
11
+ </div>
12
+ </div>
13
+ </body>
14
+ </html>
data/stencil.gemspec ADDED
@@ -0,0 +1,34 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'stencil/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "stencil-ruby"
8
+ spec.version = Stencil::VERSION
9
+ spec.authors = ["Michael Dijkstra"]
10
+ spec.email = ["michael@xxix.co"]
11
+ spec.summary = "A workflow gem"
12
+ spec.description = "Compilers to help you get started building a new web site, web application or HTML email fast."
13
+ spec.homepage = "https://github.com/xxix/stencil-ruby"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0")
17
+ spec.executables = ['stencil']
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_runtime_dependency 'sassc', "~> 1.6"
22
+ spec.add_runtime_dependency 'filewatcher', "~> 0.5"
23
+ spec.add_runtime_dependency 'liquid', "~> 3.0"
24
+ spec.add_runtime_dependency 'autoprefixer-rails', "~> 6.0"
25
+ spec.add_runtime_dependency 'premailer', "~> 1.8"
26
+ spec.add_runtime_dependency 'nokogiri', '~> 1.4'
27
+ spec.add_runtime_dependency 'sass_paths', "~> 1.0"
28
+ spec.add_runtime_dependency 'webrick', "~> 1.3"
29
+ spec.add_runtime_dependency 'uglifier', "~> 2.7"
30
+
31
+ spec.add_development_dependency "bundler", "~> 1.7"
32
+ spec.add_development_dependency "rake", "~> 10.0"
33
+ spec.add_development_dependency "rspec", "~> 3.3"
34
+ end
metadata ADDED
@@ -0,0 +1,246 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: stencil-ruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Michael Dijkstra
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-09-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: sassc
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.6'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.6'
27
+ - !ruby/object:Gem::Dependency
28
+ name: filewatcher
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.5'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.5'
41
+ - !ruby/object:Gem::Dependency
42
+ name: liquid
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: autoprefixer-rails
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '6.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '6.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: premailer
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.8'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.8'
83
+ - !ruby/object:Gem::Dependency
84
+ name: nokogiri
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.4'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.4'
97
+ - !ruby/object:Gem::Dependency
98
+ name: sass_paths
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1.0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '1.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: webrick
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '1.3'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '1.3'
125
+ - !ruby/object:Gem::Dependency
126
+ name: uglifier
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '2.7'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '2.7'
139
+ - !ruby/object:Gem::Dependency
140
+ name: bundler
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '1.7'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '1.7'
153
+ - !ruby/object:Gem::Dependency
154
+ name: rake
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '10.0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '10.0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: rspec
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '3.3'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '3.3'
181
+ description: Compilers to help you get started building a new web site, web application
182
+ or HTML email fast.
183
+ email:
184
+ - michael@xxix.co
185
+ executables:
186
+ - stencil
187
+ extensions: []
188
+ extra_rdoc_files: []
189
+ files:
190
+ - ".gitignore"
191
+ - Gemfile
192
+ - LICENSE.txt
193
+ - README.md
194
+ - Rakefile
195
+ - bin/stencil
196
+ - index.html
197
+ - lib/stencil.rb
198
+ - lib/stencil/version.rb
199
+ - spec/assets/javascripts/lib/library.js
200
+ - spec/assets/javascripts/script.js
201
+ - spec/assets/stylesheets/application.scss
202
+ - spec/build/application.css
203
+ - spec/build/application.js
204
+ - spec/build/index-inline.html
205
+ - spec/build/index.html
206
+ - spec/spec_helper.rb
207
+ - spec/stencil_spec.rb
208
+ - spec/templates/_head.liquid
209
+ - spec/templates/index.liquid
210
+ - stencil.gemspec
211
+ homepage: https://github.com/xxix/stencil-ruby
212
+ licenses:
213
+ - MIT
214
+ metadata: {}
215
+ post_install_message:
216
+ rdoc_options: []
217
+ require_paths:
218
+ - lib
219
+ required_ruby_version: !ruby/object:Gem::Requirement
220
+ requirements:
221
+ - - ">="
222
+ - !ruby/object:Gem::Version
223
+ version: '0'
224
+ required_rubygems_version: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - ">="
227
+ - !ruby/object:Gem::Version
228
+ version: '0'
229
+ requirements: []
230
+ rubyforge_project:
231
+ rubygems_version: 2.4.5
232
+ signing_key:
233
+ specification_version: 4
234
+ summary: A workflow gem
235
+ test_files:
236
+ - spec/assets/javascripts/lib/library.js
237
+ - spec/assets/javascripts/script.js
238
+ - spec/assets/stylesheets/application.scss
239
+ - spec/build/application.css
240
+ - spec/build/application.js
241
+ - spec/build/index-inline.html
242
+ - spec/build/index.html
243
+ - spec/spec_helper.rb
244
+ - spec/stencil_spec.rb
245
+ - spec/templates/_head.liquid
246
+ - spec/templates/index.liquid