stencil-ruby 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 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