tres 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|