tres 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.
- data/.gitignore +3 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +67 -0
- data/README.md +50 -0
- data/Rakefile +16 -0
- data/VERSION +1 -0
- data/bin/tres +103 -0
- data/examples/anagen/anagen.coffee +61 -0
- data/examples/anagen/anagen.css +1413 -0
- data/examples/anagen/anagen.js +182 -0
- data/examples/anagen/anagen.scss +20 -0
- data/examples/anagen/backbone-min.js +38 -0
- data/examples/anagen/index.html +50 -0
- data/examples/anagen/jquery-1.8.0.min.js +2 -0
- data/examples/anagen/templates.coffee +6 -0
- data/examples/anagen/templates.js +13 -0
- data/examples/anagen/tres.js +375 -0
- data/examples/anagen/underscore-min.js +32 -0
- data/font/fontawesome-webfont.eot +0 -0
- data/font/fontawesome-webfont.svg +255 -0
- data/font/fontawesome-webfont.ttf +0 -0
- data/font/fontawesome-webfont.woff +0 -0
- data/javascripts/backbone-min.js +38 -0
- data/javascripts/jquery-1.8.0.min.js +2 -0
- data/javascripts/tres.coffee +210 -0
- data/javascripts/underscore-min.js +32 -0
- data/lib/ext/.filemethods.rb.swp +0 -0
- data/lib/ext/filemethods.rb +109 -0
- data/lib/ext/string.rb +33 -0
- data/lib/tres/app.rb +92 -0
- data/lib/tres/asset_packager.rb +45 -0
- data/lib/tres/errors.rb +6 -0
- data/lib/tres/logger.rb +9 -0
- data/lib/tres/rack_logger.rb +37 -0
- data/lib/tres/server.rb +50 -0
- data/lib/tres/template_compiler.rb +113 -0
- data/lib/tres.rb +64 -0
- data/sass/font-awesome.scss +329 -0
- data/sass/tres/base.scss +131 -0
- data/sass/tres/themes/default.scss +71 -0
- data/spec/app_spec.rb +44 -0
- data/spec/asset_packager_spec.rb +74 -0
- data/spec/filemethods_spec.rb +84 -0
- data/spec/fixtures/index.haml +41 -0
- data/spec/fixtures/index.html +50 -0
- data/spec/sample/assets/javascripts/all.coffee +12 -0
- data/spec/sample/assets/javascripts/anagen.coffee +7 -0
- data/spec/sample/assets/javascripts/backbone-min.js +38 -0
- data/spec/sample/assets/javascripts/jquery-1.8.0.min.js +2 -0
- data/spec/sample/assets/javascripts/underscore-min.js +32 -0
- data/spec/sample/assets/stylesheets/app.scss +7 -0
- data/spec/sample/assets/stylesheets/with_imports.scss +10 -0
- data/spec/sample/templates/article.html +0 -0
- data/spec/sample/templates/book.haml +4 -0
- data/spec/sample/templates/books/li.haml +2 -0
- data/spec/sample/templates/index.html +50 -0
- data/spec/server_spec.rb +35 -0
- data/spec/spec_helper.rb +69 -0
- data/spec/template_compiler_spec.rb +96 -0
- data/templates/all.coffee +21 -0
- data/templates/all.scss +11 -0
- data/templates/app.coffee +10 -0
- data/templates/collection_script.coffee.erb +6 -0
- data/templates/config.ru +3 -0
- data/templates/home.coffee +7 -0
- data/templates/home.haml +17 -0
- data/templates/index.html +15 -0
- data/templates/model_script.coffee.erb +3 -0
- data/templates/screen_script.coffee.erb +5 -0
- data/templates/templates.js +2 -0
- data/tres.gemspec +29 -0
- metadata +257 -0
@@ -0,0 +1,50 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<title>(Anagen)</title>
|
5
|
+
<meta charset="utf-8">
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"/>
|
7
|
+
<meta name="apple-mobile-web-app-capable" content="yes" />
|
8
|
+
<meta name="apple-mobile-web-app-status-bar-style" content="red" />
|
9
|
+
<link href="http://fonts.googleapis.com/css?family=PT+Sans+Narrow:400,700" rel="stylesheet">
|
10
|
+
<link rel="stylesheet" href="/css/anagen.css">
|
11
|
+
</head>
|
12
|
+
<body>
|
13
|
+
<script type="text/template" id="home-template">
|
14
|
+
<h1 id="logo">
|
15
|
+
<span>(</span>Anagen<span>)</span>
|
16
|
+
</h1>
|
17
|
+
<form action="#" method="post">
|
18
|
+
<input type="text" capitalize="off" id="query" name="query" placeholder="Wikipedia search">
|
19
|
+
</form>
|
20
|
+
<p>
|
21
|
+
This app was built using <a href="http://tres.io" class="outlink">Tres</a>
|
22
|
+
</p>
|
23
|
+
</script>
|
24
|
+
<script type="text/template" id="search-template">
|
25
|
+
<header class="fixed">
|
26
|
+
<a href="" class="icon-search left"></a>
|
27
|
+
<h1></h1>
|
28
|
+
</header>
|
29
|
+
<ul class="common"></ul>
|
30
|
+
</script>
|
31
|
+
<script type="text/template" id="article-template">
|
32
|
+
<header class="fixed">
|
33
|
+
<a class="back"></a>
|
34
|
+
<h1><%= get('displaytitle') %></h1>
|
35
|
+
</header>
|
36
|
+
<section>
|
37
|
+
<%= get('text') %>
|
38
|
+
</section>
|
39
|
+
</script>
|
40
|
+
<script type="text/template" id="result-template">
|
41
|
+
<%= get('title') %>
|
42
|
+
</script>
|
43
|
+
<script src="/assets/jquery-1.7.2.min.js"></script>
|
44
|
+
<script src="/assets/underscore.js"></script>
|
45
|
+
<script src="/assets/backbone.js"></script>
|
46
|
+
<script src="/assets/tres.js"></script>
|
47
|
+
<script src="/assets/templates.js"></script>
|
48
|
+
<script src="/assets/anagen.js"></script>
|
49
|
+
</body>
|
50
|
+
</html>
|
data/spec/server_spec.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/spec_helper'
|
2
|
+
|
3
|
+
describe Tres::Server do
|
4
|
+
before do
|
5
|
+
stub_listener!
|
6
|
+
@app = Tres::App.open Anagen.root
|
7
|
+
@server = Tres::Server.new @app
|
8
|
+
@mock = Rack::MockRequest.new(@server.to_rack_app)
|
9
|
+
clean_build!
|
10
|
+
end
|
11
|
+
|
12
|
+
it "serves straight from the app's sprockets environment" do
|
13
|
+
@server.should_receive(:serve_asset).and_return(ok_response)
|
14
|
+
@server.should_not_receive :serve_index
|
15
|
+
@mock.get('/stylesheets/app.css')
|
16
|
+
end
|
17
|
+
|
18
|
+
it "accepts either absolute or relative paths for assets" do
|
19
|
+
@mock.get('/stylesheets/app.css').status.should == 200
|
20
|
+
@mock.get('stylesheets/app.css').status.should == 200
|
21
|
+
end
|
22
|
+
|
23
|
+
it "serves <APP ROOT>/index.html for requests that don't match an asset of a file in <APP ROOT>/build" do
|
24
|
+
@app.template_compiler.compile_to_build 'index.html'
|
25
|
+
@server.should_receive(:serve_index).twice.and_return(ok_response)
|
26
|
+
@mock.get('/')
|
27
|
+
@mock.get('/foobar')
|
28
|
+
end
|
29
|
+
|
30
|
+
it "serves static files it finds in <APP ROOT>/build" do
|
31
|
+
@app.asset_packager.compile_to_build 'stylesheets/app.css'
|
32
|
+
@server.should_not_receive :serve_asset
|
33
|
+
@mock.get('/stylesheets/app.css')
|
34
|
+
end
|
35
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
require 'tmpdir'
|
2
|
+
require File.join(File.dirname(__FILE__), *%w(.. lib tres))
|
3
|
+
require 'rspec'
|
4
|
+
require 'rake'
|
5
|
+
require 'ostruct'
|
6
|
+
|
7
|
+
Tres.quiet!
|
8
|
+
|
9
|
+
TMP = Dir.tmpdir/'tres-tmp'
|
10
|
+
FIXTURES = File.dirname(__FILE__)/'fixtures'
|
11
|
+
MEMLOGGER = Logger.new(StringIO.new)
|
12
|
+
|
13
|
+
FileUtils.rm_rf TMP
|
14
|
+
FileUtils.mkdir_p TMP
|
15
|
+
|
16
|
+
Anagen = OpenStruct.new
|
17
|
+
Anagen.root = File.dirname(__FILE__)/'sample'
|
18
|
+
Anagen.assets = Anagen.root/'assets'
|
19
|
+
Anagen.build = Anagen.root/'build'
|
20
|
+
Anagen.build_templates = Anagen.build/'templates'
|
21
|
+
Anagen.build_js = Anagen.build/'javascripts'
|
22
|
+
Anagen.build_css = Anagen.build/'stylesheets'
|
23
|
+
Anagen.build_index = Anagen.build/'index.html'
|
24
|
+
Anagen.templates = Anagen.root/'templates'
|
25
|
+
Anagen.templates_js = Anagen.assets/'javascripts'/'templates.js'
|
26
|
+
|
27
|
+
class String
|
28
|
+
def contents
|
29
|
+
File.read self
|
30
|
+
end
|
31
|
+
|
32
|
+
def compile
|
33
|
+
Tilt.new(self).render
|
34
|
+
end
|
35
|
+
|
36
|
+
def escaped_compile
|
37
|
+
compiler = Tres::TemplateCompiler.new :root => Anagen.root
|
38
|
+
compiler.send :escape_js, Tilt.new(self).render
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def stub_listener!
|
43
|
+
Listen.stub :to => mock(Listen::Listener, :change => 'true', :start => true)
|
44
|
+
end
|
45
|
+
|
46
|
+
def ok_response
|
47
|
+
[ 200, {'Content-Type' => 'text/plain'}, ['Ok'] ]
|
48
|
+
end
|
49
|
+
|
50
|
+
def clean_build!
|
51
|
+
FileUtils.rm_f Anagen.build_index
|
52
|
+
FileUtils.rm_f Anagen.templates_js
|
53
|
+
FileUtils.rm_rf Anagen.build_templates
|
54
|
+
FileUtils.rm_rf Anagen.build_js
|
55
|
+
FileUtils.rm_rf Anagen.build_css
|
56
|
+
end
|
57
|
+
|
58
|
+
def restore_anagen!
|
59
|
+
`git checkout #{Anagen.root}`
|
60
|
+
`git clean -fd #{Anagen.root}`
|
61
|
+
end
|
62
|
+
|
63
|
+
RSpec.configure do |config|
|
64
|
+
config.color_enabled = true
|
65
|
+
|
66
|
+
config.after :all do
|
67
|
+
clean_build!
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,96 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/spec_helper'
|
2
|
+
|
3
|
+
describe Tres::TemplateCompiler do
|
4
|
+
before do
|
5
|
+
FileUtils.rm_rf TMP/'temp'
|
6
|
+
@compiler = Tres::TemplateCompiler.new :root => Anagen.root
|
7
|
+
clean_build!
|
8
|
+
end
|
9
|
+
|
10
|
+
context 'removing templates' do
|
11
|
+
after { restore_anagen! }
|
12
|
+
|
13
|
+
it "removes a template from templates.js if removed from <APP ROOT>/templates" do
|
14
|
+
@compiler.compile_to_templates_js 'book.haml'
|
15
|
+
@compiler.remove_template 'book.haml'
|
16
|
+
Anagen.templates_js.contents.should_not include "JST[\"book\"]"
|
17
|
+
end
|
18
|
+
|
19
|
+
it "removes a template from build/templates if removed from <APP ROOT>/templates" do
|
20
|
+
@compiler.remove_template 'book.haml'
|
21
|
+
File.exists?(Anagen.templates/'book.haml').should be_false
|
22
|
+
end
|
23
|
+
|
24
|
+
it "leaves build/index.html alone no matter what" do
|
25
|
+
@compiler.compile_to_build 'index.html'
|
26
|
+
@compiler.remove_template 'index.html'
|
27
|
+
File.exists?(Anagen.build/'index.html').should be_true
|
28
|
+
end
|
29
|
+
|
30
|
+
it "removes more than one template if you pass an array to #remove_template" do
|
31
|
+
@compiler.remove_template ['book.haml', 'books/li.haml']
|
32
|
+
File.exists?(Anagen.templates/'book.haml').should be_false
|
33
|
+
File.exists?(Anagen.templates/'books/'/'li.haml').should be_false
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
context 'compiling' do
|
38
|
+
describe '#compile_to_build' do
|
39
|
+
it "with a template not index.*, it simply copies it over to build/<path> if the extension is .html" do
|
40
|
+
@compiler.compile_to_build 'books/li.haml'
|
41
|
+
(Anagen.build_templates/'books'/'li.html').contents.should == (Anagen.templates/'books'/'li.haml').compile
|
42
|
+
end
|
43
|
+
|
44
|
+
it "with templates/index.*, compiles to build/index.html" do
|
45
|
+
@compiler.compile_to_build 'index.html'
|
46
|
+
(Anagen.build/'index.html').contents.should == (Anagen.templates/'index.html').contents
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
context '#compile_to_templates_js' do
|
51
|
+
it "adds a template to a global JST object in templates.js" do
|
52
|
+
@compiler.compile_to_templates_js 'book.haml'
|
53
|
+
Anagen.templates_js.contents.should include (Anagen.templates/'book.haml').escaped_compile
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
context '#compile_all' do
|
58
|
+
it 'compiles index.* to build/' do
|
59
|
+
@compiler.stub :compile_to_templates_js => false
|
60
|
+
@compiler.compile_all
|
61
|
+
(Anagen.build/'index.html').contents.should == (Anagen.templates/'index.html').contents
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'compiles everything else to build/js/templates.js' do
|
65
|
+
@compiler.stub :compile_to_build => false
|
66
|
+
@compiler.compile_all
|
67
|
+
Anagen.templates_js.contents.should include (Anagen.templates/'book.haml').escaped_compile
|
68
|
+
Anagen.templates_js.contents.should include (Anagen.templates/'books'/'li.haml').escaped_compile
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
context 'creating templates' do
|
74
|
+
after { restore_anagen! }
|
75
|
+
|
76
|
+
it "creates a new template with #new_template" do
|
77
|
+
@compiler.new_template 'fridges.haml'
|
78
|
+
File.exists?(Anagen.templates/'fridges.haml').should be_true
|
79
|
+
end
|
80
|
+
|
81
|
+
it "defaults to haml if no extension is provided" do
|
82
|
+
@compiler.new_template 'cups'
|
83
|
+
File.exists?(Anagen.templates/'cups.haml').should be_true
|
84
|
+
end
|
85
|
+
|
86
|
+
it "creates the directories to a path if necessary" do
|
87
|
+
@compiler.new_template 'zomg/fridges.haml'
|
88
|
+
File.directory?(Anagen.templates/'zomg').should be_true
|
89
|
+
end
|
90
|
+
|
91
|
+
it "raises TemplateExistsError if a template in the same path exists" do
|
92
|
+
@compiler.new_template 'forks.haml'
|
93
|
+
lambda { @compiler.new_template 'forks.haml' }.should raise_error(Tres::TemplateExistsError)
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
## Manifest generated by Tres.
|
2
|
+
##
|
3
|
+
## Add your libraries below, as per Sprockets rules -> https://github.com/sstephenson/sprockets
|
4
|
+
|
5
|
+
## Core dependencies
|
6
|
+
#= require jquery-1.8.0.min
|
7
|
+
#= require underscore-min
|
8
|
+
#= require backbone-min
|
9
|
+
#= require tres
|
10
|
+
|
11
|
+
## This automagically makes all templates available in a window.JST object
|
12
|
+
#= require templates
|
13
|
+
|
14
|
+
## Automatically require all scripts in assets/javascripts/screens,
|
15
|
+
## so generators "just work"
|
16
|
+
#= require_tree ./models
|
17
|
+
#= require_tree ./collections
|
18
|
+
#= require_tree ./screens
|
19
|
+
|
20
|
+
## Sample app file that includes a home screen. Change this at your leisure
|
21
|
+
#= require app
|
data/templates/all.scss
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
// Manifest generated by Tres.
|
2
|
+
//
|
3
|
+
// Add your libraries below, as per Sprockets rules -> https://github.com/sstephenson/sprockets
|
4
|
+
|
5
|
+
@import 'tres/base';
|
6
|
+
@import 'tres/themes/default';
|
7
|
+
|
8
|
+
// Sample home page help section. Remove this once you customise the page
|
9
|
+
#help {
|
10
|
+
margin-top : 3rem;
|
11
|
+
}
|
data/templates/config.ru
ADDED
data/templates/home.haml
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
%h1.t-bigger
|
2
|
+
%svg(version="1.1" x="0px" y="0px" width="36px" height="36px" viewBox="0 0 101 144" overflow="visible" enable-background="new 0 0 101 144" fill="#d5253e")
|
3
|
+
%path(d="M0.008,78.385c0.045,1.765,0.584,3.452,1.52,4.886c0.102,0.154,0.533,0.824,0.643,0.99l6.264,9.611c1.262,1.935,3.238,3.375,5.669,3.887c0.629,0.132,1.255,0.195,1.872,0.195c1.77,0,3.462-0.524,4.899-1.46l0.597-0.385c2.018-1.322,3.522-3.392,4.06-5.925c0.139-0.66,0.205-1.313,0.205-1.953c0-1.849-0.549-3.62-1.524-5.116l-6.906-10.599h0.002c-1.262-1.935-3.239-3.376-5.678-3.892c-0.627-0.134-1.246-0.194-1.861-0.194c-1.771,0-3.465,0.525-4.898,1.459l-0.602,0.389c-2.02,1.321-3.523,3.388-4.062,5.934C0.066,76.858,0,77.51,0,78.153c0,0.009,0.002,0.018,0.002,0.025c0,0.026,0.006,0.051,0.006,0.077V78.385z")
|
4
|
+
%path(d="M99.025,7.561c-1.383-2.072-3.457-3.376-5.715-3.833l-0.705-0.141c-0.611-0.124-1.234-0.185-1.855-0.185c-1.793,0-3.59,0.506-5.193,1.575c-2.162,1.439-3.525,3.608-4,5.97L69.855,69.31c-0.221,1.097-1.287,1.807-2.385,1.588c-0.965-0.192-1.627-1.04-1.625-1.986c0-0.001,0-0.001,0-0.001V8.988c-0.004-2.306-0.875-4.595-2.635-6.356C61.447,0.871,59.16,0.002,56.853,0h-0.717c-2.41,0.002-4.799,0.911-6.638,2.747c-1.835,1.84-2.746,4.23-2.749,6.644l-0.001,59.521l0.001,0.003c0,0.002-0.001,0.005-0.001,0.007c-0.004,0.943-0.666,1.784-1.627,1.977c-1.097,0.22-2.162-0.491-2.382-1.588L31.034,10.95c-0.475-2.364-1.838-4.534-3.996-5.972c-1.607-1.068-3.406-1.574-5.197-1.576c-0.624,0-1.249,0.063-1.858,0.186l-0.699,0.141c-2.258,0.456-4.333,1.76-5.718,3.832c-1.022,1.539-1.506,3.257-1.506,4.97c0,0.599,0.059,1.192,0.176,1.779l10.048,50.122l2.421,12.022l2.898,4.452c1.395,2.136,2.18,4.672,2.18,7.326c0,0.918-0.094,1.848-0.289,2.782c-0.762,3.625-2.934,6.612-5.817,8.49l-0.594,0.386c-2.075,1.351-4.531,2.116-7.107,2.114c-0.012,0-0.023,0-0.035,0c-0.882,0-1.774-0.092-2.669-0.281c-3.515-0.739-6.415-2.848-8.229-5.637l-5.033-7.722v21.247c0.004,8.795,3.354,17.574,10.061,24.286c6.714,6.708,15.489,10.059,24.286,10.059h19.84c8.793,0,17.572-3.351,24.281-10.059c6.711-6.712,10.062-15.491,10.064-24.286v-7.517L57.382,80.669c-1.471-1.013-3.229-1.587-5.079-1.587c-0.54,0-1.089,0.05-1.647,0.155c-2.45,0.454-4.463,1.846-5.771,3.744l-0.408,0.592c-1.056,1.533-1.653,3.372-1.653,5.304c0,0.564,0.052,1.141,0.16,1.726c0.473,2.552,1.928,4.656,3.911,6.026l15.049,10.351h0.002c0.922,0.633,1.154,1.894,0.52,2.815c-0.391,0.57-1.025,0.877-1.668,0.877c-0.396,0-0.795-0.116-1.146-0.356L44.601,99.965c-2.829-1.944-4.928-4.985-5.6-8.626c-0.154-0.824-0.229-1.65-0.229-2.461c0-2.773,0.861-5.412,2.369-7.594l0.403-0.595c1.887-2.744,4.838-4.781,8.373-5.432c0.799-0.148,1.599-0.223,2.386-0.223c2.69,0,5.25,0.837,7.375,2.297l28.861,19.849V73.46c0-0.146,0.016-0.288,0.045-0.425l11.77-58.72c0.117-0.593,0.174-1.188,0.174-1.785C100.529,10.817,100.046,9.098,99.025,7.561z")
|
5
|
+
Great!
|
6
|
+
%p Your Tres app seems to be working fine today!
|
7
|
+
|
8
|
+
%section#help.t-left-align
|
9
|
+
%h2.icon-bolt Need help?
|
10
|
+
%p
|
11
|
+
Check out the
|
12
|
+
<a href="http://tres.io#cookbook">online cookbook</a>. It's a work
|
13
|
+
in progress, so baby don't hurt me.
|
14
|
+
%p
|
15
|
+
For feedback or bug reports, please refer to the
|
16
|
+
<a href="http://github.com/juliocesar/tres">GitHub project page</a>.
|
17
|
+
%p Make apps, not war.
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<title>Your App</title>
|
5
|
+
<meta charset="utf-8">
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"/>
|
7
|
+
<meta name="apple-mobile-web-app-capable" content="yes" />
|
8
|
+
<meta name="apple-mobile-web-app-status-bar-style" content="red" />
|
9
|
+
<link href="http://fonts.googleapis.com/css?family=PT+Sans+Narrow:400,700" rel="stylesheet">
|
10
|
+
<link rel="stylesheet" href="/stylesheets/all.css">
|
11
|
+
</head>
|
12
|
+
<body>
|
13
|
+
<script src="/javascripts/all.js"></script>
|
14
|
+
</body>
|
15
|
+
</html>
|
data/tres.gemspec
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
Gem::Specification.new do |gem|
|
4
|
+
gem.name = 'tres'
|
5
|
+
gem.version = File.read('VERSION')
|
6
|
+
gem.authors = ["Julio Cesar Ody"]
|
7
|
+
gem.email = ["julioody@gmail.com"]
|
8
|
+
gem.description = %q{An ice cold mobile web development framework}
|
9
|
+
gem.summary = %q{An ice cold mobile web development framework}
|
10
|
+
gem.homepage = "http://tres.io"
|
11
|
+
|
12
|
+
gem.files = `git ls-files`.split($\)
|
13
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
14
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
15
|
+
gem.require_paths = ["lib"]
|
16
|
+
|
17
|
+
gem.add_runtime_dependency "listen"
|
18
|
+
gem.add_runtime_dependency "tilt"
|
19
|
+
gem.add_runtime_dependency "compass"
|
20
|
+
gem.add_runtime_dependency "coffee-script"
|
21
|
+
gem.add_runtime_dependency "sprockets"
|
22
|
+
gem.add_runtime_dependency "json_pure"
|
23
|
+
gem.add_runtime_dependency "haml"
|
24
|
+
gem.add_runtime_dependency "colorize"
|
25
|
+
|
26
|
+
gem.add_development_dependency "rake"
|
27
|
+
gem.add_development_dependency "rspec"
|
28
|
+
gem.add_development_dependency "rspec-nc"
|
29
|
+
end
|
metadata
ADDED
@@ -0,0 +1,257 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: tres
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Julio Cesar Ody
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-08-21 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: listen
|
16
|
+
requirement: &70197033885240 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *70197033885240
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: tilt
|
27
|
+
requirement: &70197033884640 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *70197033884640
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: compass
|
38
|
+
requirement: &70197033884020 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :runtime
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *70197033884020
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: coffee-script
|
49
|
+
requirement: &70197033883340 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :runtime
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *70197033883340
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: sprockets
|
60
|
+
requirement: &70197033882500 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
type: :runtime
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *70197033882500
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: json_pure
|
71
|
+
requirement: &70197033882020 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :runtime
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *70197033882020
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: haml
|
82
|
+
requirement: &70197033881340 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
88
|
+
type: :runtime
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: *70197033881340
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
name: colorize
|
93
|
+
requirement: &70197033880560 !ruby/object:Gem::Requirement
|
94
|
+
none: false
|
95
|
+
requirements:
|
96
|
+
- - ! '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
99
|
+
type: :runtime
|
100
|
+
prerelease: false
|
101
|
+
version_requirements: *70197033880560
|
102
|
+
- !ruby/object:Gem::Dependency
|
103
|
+
name: rake
|
104
|
+
requirement: &70197033879220 !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: *70197033879220
|
113
|
+
- !ruby/object:Gem::Dependency
|
114
|
+
name: rspec
|
115
|
+
requirement: &70197033878180 !ruby/object:Gem::Requirement
|
116
|
+
none: false
|
117
|
+
requirements:
|
118
|
+
- - ! '>='
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: '0'
|
121
|
+
type: :development
|
122
|
+
prerelease: false
|
123
|
+
version_requirements: *70197033878180
|
124
|
+
- !ruby/object:Gem::Dependency
|
125
|
+
name: rspec-nc
|
126
|
+
requirement: &70197033876680 !ruby/object:Gem::Requirement
|
127
|
+
none: false
|
128
|
+
requirements:
|
129
|
+
- - ! '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: *70197033876680
|
135
|
+
description: An ice cold mobile web development framework
|
136
|
+
email:
|
137
|
+
- julioody@gmail.com
|
138
|
+
executables:
|
139
|
+
- tres
|
140
|
+
extensions: []
|
141
|
+
extra_rdoc_files: []
|
142
|
+
files:
|
143
|
+
- .gitignore
|
144
|
+
- Gemfile
|
145
|
+
- Gemfile.lock
|
146
|
+
- README.md
|
147
|
+
- Rakefile
|
148
|
+
- VERSION
|
149
|
+
- bin/tres
|
150
|
+
- examples/anagen/anagen.coffee
|
151
|
+
- examples/anagen/anagen.css
|
152
|
+
- examples/anagen/anagen.js
|
153
|
+
- examples/anagen/anagen.scss
|
154
|
+
- examples/anagen/backbone-min.js
|
155
|
+
- examples/anagen/index.html
|
156
|
+
- examples/anagen/jquery-1.8.0.min.js
|
157
|
+
- examples/anagen/templates.coffee
|
158
|
+
- examples/anagen/templates.js
|
159
|
+
- examples/anagen/tres.js
|
160
|
+
- examples/anagen/underscore-min.js
|
161
|
+
- font/fontawesome-webfont.eot
|
162
|
+
- font/fontawesome-webfont.svg
|
163
|
+
- font/fontawesome-webfont.ttf
|
164
|
+
- font/fontawesome-webfont.woff
|
165
|
+
- javascripts/backbone-min.js
|
166
|
+
- javascripts/jquery-1.8.0.min.js
|
167
|
+
- javascripts/tres.coffee
|
168
|
+
- javascripts/underscore-min.js
|
169
|
+
- lib/ext/.filemethods.rb.swp
|
170
|
+
- lib/ext/filemethods.rb
|
171
|
+
- lib/ext/string.rb
|
172
|
+
- lib/tres.rb
|
173
|
+
- lib/tres/app.rb
|
174
|
+
- lib/tres/asset_packager.rb
|
175
|
+
- lib/tres/errors.rb
|
176
|
+
- lib/tres/logger.rb
|
177
|
+
- lib/tres/rack_logger.rb
|
178
|
+
- lib/tres/server.rb
|
179
|
+
- lib/tres/template_compiler.rb
|
180
|
+
- sass/font-awesome.scss
|
181
|
+
- sass/tres/base.scss
|
182
|
+
- sass/tres/themes/default.scss
|
183
|
+
- spec/app_spec.rb
|
184
|
+
- spec/asset_packager_spec.rb
|
185
|
+
- spec/filemethods_spec.rb
|
186
|
+
- spec/fixtures/index.haml
|
187
|
+
- spec/fixtures/index.html
|
188
|
+
- spec/sample/assets/javascripts/all.coffee
|
189
|
+
- spec/sample/assets/javascripts/anagen.coffee
|
190
|
+
- spec/sample/assets/javascripts/backbone-min.js
|
191
|
+
- spec/sample/assets/javascripts/jquery-1.8.0.min.js
|
192
|
+
- spec/sample/assets/javascripts/underscore-min.js
|
193
|
+
- spec/sample/assets/stylesheets/app.scss
|
194
|
+
- spec/sample/assets/stylesheets/with_imports.scss
|
195
|
+
- spec/sample/templates/article.html
|
196
|
+
- spec/sample/templates/book.haml
|
197
|
+
- spec/sample/templates/books/li.haml
|
198
|
+
- spec/sample/templates/index.html
|
199
|
+
- spec/server_spec.rb
|
200
|
+
- spec/spec_helper.rb
|
201
|
+
- spec/template_compiler_spec.rb
|
202
|
+
- templates/all.coffee
|
203
|
+
- templates/all.scss
|
204
|
+
- templates/app.coffee
|
205
|
+
- templates/collection_script.coffee.erb
|
206
|
+
- templates/config.ru
|
207
|
+
- templates/home.coffee
|
208
|
+
- templates/home.haml
|
209
|
+
- templates/index.html
|
210
|
+
- templates/model_script.coffee.erb
|
211
|
+
- templates/screen_script.coffee.erb
|
212
|
+
- templates/templates.js
|
213
|
+
- tres.gemspec
|
214
|
+
homepage: http://tres.io
|
215
|
+
licenses: []
|
216
|
+
post_install_message:
|
217
|
+
rdoc_options: []
|
218
|
+
require_paths:
|
219
|
+
- lib
|
220
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
221
|
+
none: false
|
222
|
+
requirements:
|
223
|
+
- - ! '>='
|
224
|
+
- !ruby/object:Gem::Version
|
225
|
+
version: '0'
|
226
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
227
|
+
none: false
|
228
|
+
requirements:
|
229
|
+
- - ! '>='
|
230
|
+
- !ruby/object:Gem::Version
|
231
|
+
version: '0'
|
232
|
+
requirements: []
|
233
|
+
rubyforge_project:
|
234
|
+
rubygems_version: 1.8.15
|
235
|
+
signing_key:
|
236
|
+
specification_version: 3
|
237
|
+
summary: An ice cold mobile web development framework
|
238
|
+
test_files:
|
239
|
+
- spec/app_spec.rb
|
240
|
+
- spec/asset_packager_spec.rb
|
241
|
+
- spec/filemethods_spec.rb
|
242
|
+
- spec/fixtures/index.haml
|
243
|
+
- spec/fixtures/index.html
|
244
|
+
- spec/sample/assets/javascripts/all.coffee
|
245
|
+
- spec/sample/assets/javascripts/anagen.coffee
|
246
|
+
- spec/sample/assets/javascripts/backbone-min.js
|
247
|
+
- spec/sample/assets/javascripts/jquery-1.8.0.min.js
|
248
|
+
- spec/sample/assets/javascripts/underscore-min.js
|
249
|
+
- spec/sample/assets/stylesheets/app.scss
|
250
|
+
- spec/sample/assets/stylesheets/with_imports.scss
|
251
|
+
- spec/sample/templates/article.html
|
252
|
+
- spec/sample/templates/book.haml
|
253
|
+
- spec/sample/templates/books/li.haml
|
254
|
+
- spec/sample/templates/index.html
|
255
|
+
- spec/server_spec.rb
|
256
|
+
- spec/spec_helper.rb
|
257
|
+
- spec/template_compiler_spec.rb
|