frank 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +2 -2
- data/frank.gemspec +150 -92
- data/lib/frank.rb +0 -1
- data/lib/frank/base.rb +22 -20
- data/lib/frank/cli.rb +13 -4
- data/lib/frank/middleware/refresh.rb +1 -1
- data/lib/frank/publish.rb +22 -2
- data/lib/frank/settings.rb +10 -0
- data/lib/frank/template_helpers.rb +11 -9
- data/lib/frank/templates/404.haml +3 -3
- data/lib/template/setup.rb +3 -0
- metadata +314 -22
- data/.gitignore +0 -6
data/README.md
CHANGED
@@ -54,7 +54,7 @@ Frank Templates
|
|
54
54
|
|
55
55
|
Frank (as of 1.0) has support for saving "templates" in `~/.frank_templates`. This is very handy if find yourself wanting a custom starting point. All you have to do to use the feature is create a `~/.frank_templates` folder and start putting templates in it.
|
56
56
|
|
57
|
-
Once you have a few templates saved you
|
57
|
+
Once you have a few templates saved, when you run `frank new <project_path>` you'll be presented with a list of templates to choose from as the starting point for the project.
|
58
58
|
|
59
59
|
Views & Meta Data
|
60
60
|
-------------------------
|
@@ -233,4 +233,4 @@ Installation
|
|
233
233
|
[11]: http://en.wikipedia.org/wiki/Lorem_ipsum
|
234
234
|
[12]: http://www.imagemagick.org/script/binary-releases.php?ImageMagick=4pg9cdfr8e6gn7aru9mtelepr3
|
235
235
|
[13]: http://www.yaml.org/start.html
|
236
|
-
[14]: http://placehold.it
|
236
|
+
[14]: http://placehold.it
|
data/frank.gemspec
CHANGED
@@ -1,119 +1,117 @@
|
|
1
1
|
# Generated by jeweler
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{frank}
|
8
|
-
s.version = "1.0.
|
8
|
+
s.version = "1.0.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["blahed", "nwah"]
|
12
|
-
s.date = %q{2010-11-
|
12
|
+
s.date = %q{2010-11-16}
|
13
13
|
s.default_executable = %q{frank}
|
14
14
|
s.description = %q{Rapidly develop static sites using any supported templating language}
|
15
15
|
s.email = %q{travis.dunn@thisismedium.com}
|
16
16
|
s.executables = ["frank"]
|
17
17
|
s.extra_rdoc_files = [
|
18
18
|
"LICENSE",
|
19
|
-
|
19
|
+
"README.md"
|
20
20
|
]
|
21
21
|
s.files = [
|
22
|
-
"
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
"spec/template_helpers_spec.rb"
|
22
|
+
"Gemfile",
|
23
|
+
"Gemfile.lock",
|
24
|
+
"LICENSE",
|
25
|
+
"README.md",
|
26
|
+
"Rakefile",
|
27
|
+
"autotest/discover.rb",
|
28
|
+
"bin/frank",
|
29
|
+
"frank.gemspec",
|
30
|
+
"lib/frank.rb",
|
31
|
+
"lib/frank/base.rb",
|
32
|
+
"lib/frank/cli.rb",
|
33
|
+
"lib/frank/compile.rb",
|
34
|
+
"lib/frank/lorem.rb",
|
35
|
+
"lib/frank/middleware/imager.rb",
|
36
|
+
"lib/frank/middleware/refresh.rb",
|
37
|
+
"lib/frank/middleware/statik.rb",
|
38
|
+
"lib/frank/publish.rb",
|
39
|
+
"lib/frank/rescue.rb",
|
40
|
+
"lib/frank/settings.rb",
|
41
|
+
"lib/frank/template_helpers.rb",
|
42
|
+
"lib/frank/templates/404.haml",
|
43
|
+
"lib/frank/templates/500.haml",
|
44
|
+
"lib/frank/templates/frank-404.png",
|
45
|
+
"lib/frank/templates/frank-500.png",
|
46
|
+
"lib/frank/templates/imager/frank0.jpg",
|
47
|
+
"lib/frank/templates/imager/frank1.jpg",
|
48
|
+
"lib/frank/templates/imager/frank2.jpg",
|
49
|
+
"lib/frank/templates/imager/frank3.jpg",
|
50
|
+
"lib/frank/templates/imager/frank4.jpg",
|
51
|
+
"lib/frank/templates/imager/frank5.jpg",
|
52
|
+
"lib/frank/templates/imager/frank6.jpg",
|
53
|
+
"lib/frank/templates/imager/frank7.jpg",
|
54
|
+
"lib/frank/templates/imager/frank8.jpg",
|
55
|
+
"lib/frank/templates/imager/frank9.jpg",
|
56
|
+
"lib/frank/tilt_setup.rb",
|
57
|
+
"lib/frank/upgrades.rb",
|
58
|
+
"lib/template/dynamic/css/frank.sass",
|
59
|
+
"lib/template/dynamic/index.haml",
|
60
|
+
"lib/template/helpers.rb",
|
61
|
+
"lib/template/layouts/default.haml",
|
62
|
+
"lib/template/setup.rb",
|
63
|
+
"lib/template/static/favicon.ico",
|
64
|
+
"lib/template/static/images/frank-med.png",
|
65
|
+
"lib/template/static/js/frank.js",
|
66
|
+
"spec/base_spec.rb",
|
67
|
+
"spec/compile_spec.rb",
|
68
|
+
"spec/helper.rb",
|
69
|
+
"spec/publish_spec.rb",
|
70
|
+
"spec/render_spec.rb",
|
71
|
+
"spec/template/dynamic/500.haml",
|
72
|
+
"spec/template/dynamic/_partial.haml",
|
73
|
+
"spec/template/dynamic/_partial_with_locals.haml",
|
74
|
+
"spec/template/dynamic/builder.builder",
|
75
|
+
"spec/template/dynamic/erb.erb",
|
76
|
+
"spec/template/dynamic/helper_test.haml",
|
77
|
+
"spec/template/dynamic/index.haml",
|
78
|
+
"spec/template/dynamic/layout2_test.haml",
|
79
|
+
"spec/template/dynamic/liquid.liquid",
|
80
|
+
"spec/template/dynamic/lorem_test.haml",
|
81
|
+
"spec/template/dynamic/markdown.md",
|
82
|
+
"spec/template/dynamic/markdown_in_haml.md",
|
83
|
+
"spec/template/dynamic/nested/child.haml",
|
84
|
+
"spec/template/dynamic/nested/deeper/deep.haml",
|
85
|
+
"spec/template/dynamic/no_layout.haml",
|
86
|
+
"spec/template/dynamic/partial_locals_test.haml",
|
87
|
+
"spec/template/dynamic/partial_test.haml",
|
88
|
+
"spec/template/dynamic/redcloth.textile",
|
89
|
+
"spec/template/dynamic/refresh.haml",
|
90
|
+
"spec/template/dynamic/setting_in_layout.haml",
|
91
|
+
"spec/template/dynamic/stylesheets/sass.sass",
|
92
|
+
"spec/template/dynamic/stylesheets/sass_with_compass.sass",
|
93
|
+
"spec/template/dynamic/stylesheets/scss_with_compass.scss",
|
94
|
+
"spec/template/helpers.rb",
|
95
|
+
"spec/template/layouts/default.haml",
|
96
|
+
"spec/template/layouts/explicit/layout2.haml",
|
97
|
+
"spec/template/layouts/nested/default.haml",
|
98
|
+
"spec/template/setup.rb",
|
99
|
+
"spec/template/static/files/static.html",
|
100
|
+
"spec/template_helpers_spec.rb"
|
102
101
|
]
|
103
102
|
s.homepage = %q{http://github.com/blahed/frank}
|
104
|
-
s.rdoc_options = ["--charset=UTF-8"]
|
105
103
|
s.require_paths = ["lib"]
|
106
104
|
s.rubygems_version = %q{1.3.7}
|
107
105
|
s.summary = %q{Static Site Non-Framework}
|
108
106
|
s.test_files = [
|
109
107
|
"spec/base_spec.rb",
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
108
|
+
"spec/compile_spec.rb",
|
109
|
+
"spec/helper.rb",
|
110
|
+
"spec/publish_spec.rb",
|
111
|
+
"spec/render_spec.rb",
|
112
|
+
"spec/template/helpers.rb",
|
113
|
+
"spec/template/setup.rb",
|
114
|
+
"spec/template_helpers_spec.rb"
|
117
115
|
]
|
118
116
|
|
119
117
|
if s.respond_to? :specification_version then
|
@@ -121,12 +119,52 @@ Gem::Specification.new do |s|
|
|
121
119
|
s.specification_version = 3
|
122
120
|
|
123
121
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
122
|
+
s.add_runtime_dependency(%q<rack>, [">= 1.0"])
|
123
|
+
s.add_runtime_dependency(%q<mongrel>, [">= 1.0"])
|
124
|
+
s.add_runtime_dependency(%q<haml>, [">= 3.0"])
|
125
|
+
s.add_runtime_dependency(%q<tilt>, ["= 0.9"])
|
126
|
+
s.add_runtime_dependency(%q<net-ssh>, [">= 2.0"])
|
127
|
+
s.add_runtime_dependency(%q<net-scp>, [">= 1.0"])
|
128
|
+
s.add_runtime_dependency(%q<jeweler>, [">= 0"])
|
129
|
+
s.add_runtime_dependency(%q<rspec>, [">= 2.0.0.beta.19"])
|
130
|
+
s.add_runtime_dependency(%q<rack-test>, [">= 0.5"])
|
131
|
+
s.add_runtime_dependency(%q<rake>, [">= 0"])
|
132
|
+
s.add_runtime_dependency(%q<contest>, [">= 0"])
|
133
|
+
s.add_runtime_dependency(%q<builder>, [">= 0"])
|
134
|
+
s.add_runtime_dependency(%q<erubis>, [">= 0"])
|
135
|
+
s.add_runtime_dependency(%q<compass>, [">= 0.10.2"])
|
136
|
+
s.add_runtime_dependency(%q<rdiscount>, [">= 0"])
|
137
|
+
s.add_runtime_dependency(%q<liquid>, [">= 0"])
|
138
|
+
s.add_runtime_dependency(%q<less>, [">= 0"])
|
139
|
+
s.add_runtime_dependency(%q<coffee-script>, [">= 0"])
|
140
|
+
s.add_runtime_dependency(%q<RedCloth>, [">= 0"])
|
141
|
+
s.add_runtime_dependency(%q<ruby-debug>, [">= 0"])
|
124
142
|
s.add_runtime_dependency(%q<rack>, [">= 1.0"])
|
125
143
|
s.add_runtime_dependency(%q<haml>, [">= 3.0"])
|
126
144
|
s.add_runtime_dependency(%q<tilt>, ["= 0.9"])
|
127
145
|
s.add_development_dependency(%q<rspec>, [">= 2.0.0.beta.19"])
|
128
146
|
s.add_development_dependency(%q<rack-test>, [">= 0.5"])
|
129
147
|
else
|
148
|
+
s.add_dependency(%q<rack>, [">= 1.0"])
|
149
|
+
s.add_dependency(%q<mongrel>, [">= 1.0"])
|
150
|
+
s.add_dependency(%q<haml>, [">= 3.0"])
|
151
|
+
s.add_dependency(%q<tilt>, ["= 0.9"])
|
152
|
+
s.add_dependency(%q<net-ssh>, [">= 2.0"])
|
153
|
+
s.add_dependency(%q<net-scp>, [">= 1.0"])
|
154
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
155
|
+
s.add_dependency(%q<rspec>, [">= 2.0.0.beta.19"])
|
156
|
+
s.add_dependency(%q<rack-test>, [">= 0.5"])
|
157
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
158
|
+
s.add_dependency(%q<contest>, [">= 0"])
|
159
|
+
s.add_dependency(%q<builder>, [">= 0"])
|
160
|
+
s.add_dependency(%q<erubis>, [">= 0"])
|
161
|
+
s.add_dependency(%q<compass>, [">= 0.10.2"])
|
162
|
+
s.add_dependency(%q<rdiscount>, [">= 0"])
|
163
|
+
s.add_dependency(%q<liquid>, [">= 0"])
|
164
|
+
s.add_dependency(%q<less>, [">= 0"])
|
165
|
+
s.add_dependency(%q<coffee-script>, [">= 0"])
|
166
|
+
s.add_dependency(%q<RedCloth>, [">= 0"])
|
167
|
+
s.add_dependency(%q<ruby-debug>, [">= 0"])
|
130
168
|
s.add_dependency(%q<rack>, [">= 1.0"])
|
131
169
|
s.add_dependency(%q<haml>, [">= 3.0"])
|
132
170
|
s.add_dependency(%q<tilt>, ["= 0.9"])
|
@@ -134,6 +172,26 @@ Gem::Specification.new do |s|
|
|
134
172
|
s.add_dependency(%q<rack-test>, [">= 0.5"])
|
135
173
|
end
|
136
174
|
else
|
175
|
+
s.add_dependency(%q<rack>, [">= 1.0"])
|
176
|
+
s.add_dependency(%q<mongrel>, [">= 1.0"])
|
177
|
+
s.add_dependency(%q<haml>, [">= 3.0"])
|
178
|
+
s.add_dependency(%q<tilt>, ["= 0.9"])
|
179
|
+
s.add_dependency(%q<net-ssh>, [">= 2.0"])
|
180
|
+
s.add_dependency(%q<net-scp>, [">= 1.0"])
|
181
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
182
|
+
s.add_dependency(%q<rspec>, [">= 2.0.0.beta.19"])
|
183
|
+
s.add_dependency(%q<rack-test>, [">= 0.5"])
|
184
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
185
|
+
s.add_dependency(%q<contest>, [">= 0"])
|
186
|
+
s.add_dependency(%q<builder>, [">= 0"])
|
187
|
+
s.add_dependency(%q<erubis>, [">= 0"])
|
188
|
+
s.add_dependency(%q<compass>, [">= 0.10.2"])
|
189
|
+
s.add_dependency(%q<rdiscount>, [">= 0"])
|
190
|
+
s.add_dependency(%q<liquid>, [">= 0"])
|
191
|
+
s.add_dependency(%q<less>, [">= 0"])
|
192
|
+
s.add_dependency(%q<coffee-script>, [">= 0"])
|
193
|
+
s.add_dependency(%q<RedCloth>, [">= 0"])
|
194
|
+
s.add_dependency(%q<ruby-debug>, [">= 0"])
|
137
195
|
s.add_dependency(%q<rack>, [">= 1.0"])
|
138
196
|
s.add_dependency(%q<haml>, [">= 3.0"])
|
139
197
|
s.add_dependency(%q<tilt>, ["= 0.9"])
|
data/lib/frank.rb
CHANGED
data/lib/frank/base.rb
CHANGED
@@ -6,7 +6,7 @@ require 'frank/middleware/statik'
|
|
6
6
|
require 'frank/middleware/refresh'
|
7
7
|
|
8
8
|
module Frank
|
9
|
-
VERSION = '1.0.
|
9
|
+
VERSION = '1.0.3'
|
10
10
|
extend Frank::Upgrades
|
11
11
|
|
12
12
|
module Render; end
|
@@ -231,6 +231,16 @@ module Frank
|
|
231
231
|
Frank.reset
|
232
232
|
Frank.root = new_root if new_root
|
233
233
|
|
234
|
+
if %w[publish p].include? ARGV.first
|
235
|
+
begin
|
236
|
+
require 'net/ssh'
|
237
|
+
require 'net/scp'
|
238
|
+
rescue LoadError
|
239
|
+
puts "\033[31mpublish requires the 'net-scp' gem. `gem install net-scp'\033[0m"
|
240
|
+
exit!
|
241
|
+
end
|
242
|
+
end
|
243
|
+
|
234
244
|
# setup compass
|
235
245
|
begin
|
236
246
|
require 'compass'
|
@@ -256,19 +266,7 @@ module Frank
|
|
256
266
|
load setup
|
257
267
|
elsif File.exist? File.join(Dir.pwd, 'settings.yml')
|
258
268
|
puts "\033[31mFrank could not find setup.rb, perhaps you need to upgrade with the `frank upgrade\' command \033[0m"
|
259
|
-
exit
|
260
|
-
else
|
261
|
-
puts " \033[31mFrank could not find setup.rb \033[0m"
|
262
|
-
exit
|
263
|
-
end
|
264
|
-
|
265
|
-
if Frank.publish.host || Frank.publish.path || Frank.publish.username || Frank.publish.password
|
266
|
-
begin
|
267
|
-
require 'net/scp'
|
268
|
-
rescue LoadError
|
269
|
-
puts "\033[31m`frank publish' requires the 'net-scp' gem. `gem install net-scp'\033[0m"
|
270
|
-
exit
|
271
|
-
end
|
269
|
+
exit!
|
272
270
|
end
|
273
271
|
|
274
272
|
end
|
@@ -284,17 +282,21 @@ module Frank
|
|
284
282
|
end
|
285
283
|
|
286
284
|
unless Frank.environment == :test
|
287
|
-
|
288
|
-
|
289
|
-
puts "\n
|
290
|
-
|
291
|
-
|
285
|
+
message = ['got it under control', 'got your back', 'holdin\' it down', 'takin\' care of business', 'workin\' some magic'].sort_by{rand}.first.strip
|
286
|
+
|
287
|
+
puts "\n-----------------------"
|
288
|
+
if Frank.serving_static?
|
289
|
+
puts " This doesn't look like a frank project. Frank's serving this folder up his way..."
|
290
|
+
else
|
291
|
+
puts " Frank's #{ message }..."
|
292
|
+
end
|
293
|
+
puts " #{Frank.server.hostname}:#{Frank.server.port} \n\n"
|
292
294
|
|
293
295
|
begin
|
294
296
|
server = Rack::Handler.get(Frank.server.handler)
|
295
297
|
rescue LoadError
|
296
298
|
puts "\n\nUnable to find handler for: #{Frank.server.handler}"
|
297
|
-
puts "\nUse `gem install
|
299
|
+
puts "\nUse `gem install #{Frank.server.handler}' to install it"
|
298
300
|
puts "\nDefaulting to using webrick"
|
299
301
|
server = Rack::Handler.get("webrick")
|
300
302
|
end
|
data/lib/frank/cli.rb
CHANGED
@@ -110,10 +110,16 @@ module Frank
|
|
110
110
|
Frank.server.handler = server_options['handler'] if server_options['handler']
|
111
111
|
Frank.server.hostname = server_options['hostname'] if server_options['hostname']
|
112
112
|
Frank.server.port = server_options['port'] if server_options['port']
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
113
|
+
if File.exist? 'setup.rb'
|
114
|
+
# setup folder options if we have setup.rb
|
115
|
+
Frank.dynamic_folder = @options[:dynamic_folder] if @options[:dynamic_folder]
|
116
|
+
Frank.static_folder = @options[:static_folder] if @options[:static_folder]
|
117
|
+
else
|
118
|
+
# let frank act like a real grown up server
|
119
|
+
Frank.serving_static!
|
120
|
+
Frank.dynamic_folder = '.'
|
121
|
+
Frank.static_folder = '.'
|
122
|
+
end
|
117
123
|
Frank.new
|
118
124
|
when 'export', 'e', 'out'
|
119
125
|
# compile the project
|
@@ -129,6 +135,9 @@ module Frank
|
|
129
135
|
when 'upgrade'
|
130
136
|
# upgrade if we need to upgrade
|
131
137
|
Frank.upgrade!
|
138
|
+
else
|
139
|
+
puts "frank doesn't know that one... `frank --help' for usage"
|
140
|
+
exit
|
132
141
|
end
|
133
142
|
end
|
134
143
|
|
@@ -12,7 +12,7 @@ module Frank
|
|
12
12
|
def call(env)
|
13
13
|
request = Rack::Request.new(env)
|
14
14
|
if request.path_info.match /^\/__refresh__$/
|
15
|
-
[ 200, { 'Content-Type' => 'application/json' }, "
|
15
|
+
[ 200, { 'Content-Type' => 'application/json', 'Connection' => 'Keep-Alive', 'Keep-Alive' => 'timeout=60', 'Cache-Control' => 'max-age=0' }, "#{get_mtime}" ]
|
16
16
|
else
|
17
17
|
@app.call(env)
|
18
18
|
end
|
data/lib/frank/publish.rb
CHANGED
@@ -3,6 +3,8 @@ module Frank
|
|
3
3
|
|
4
4
|
class SCP
|
5
5
|
def self.execute!
|
6
|
+
exit_unless_configured
|
7
|
+
|
6
8
|
puts "\nFrank is..."
|
7
9
|
puts " - \033[32mExporting templates\033[0m"
|
8
10
|
|
@@ -27,7 +29,7 @@ module Frank
|
|
27
29
|
|
28
30
|
# upload the files and report progress
|
29
31
|
Net::SSH.start(Frank.publish.host, Frank.publish.username, ssh_options) do |ssh|
|
30
|
-
ssh.scp.upload!(tmp_folder, Frank.publish.path, :recursive => true, :chunk_size => 2048) do |ch, name, sent, total|
|
32
|
+
ssh.scp.upload!("#{tmp_folder}/", Frank.publish.path, :recursive => true, :chunk_size => 2048) do |ch, name, sent, total|
|
31
33
|
|
32
34
|
puts " - #{name[tmp_folder.length..-1]}" unless name == current
|
33
35
|
|
@@ -40,7 +42,25 @@ module Frank
|
|
40
42
|
|
41
43
|
puts "\n\033[32mPublish complete!\033[0m"
|
42
44
|
end
|
45
|
+
|
46
|
+
def self.exit_unless_configured
|
47
|
+
required_settings = { :host => Frank.publish.host, :path => Frank.publish.path, :username => Frank.publish.username }
|
48
|
+
should_exit = false
|
49
|
+
message = "\033[31m"
|
50
|
+
|
51
|
+
required_settings.each do |name, value|
|
52
|
+
if value.nil?
|
53
|
+
message << "Frank.publish.#{name} is required to publish. You can configure it in setup.rb\n"
|
54
|
+
exiting = true
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
message << "\033[0m"
|
59
|
+
|
60
|
+
puts message and exit! if should_exit
|
61
|
+
end
|
62
|
+
|
43
63
|
end
|
44
64
|
|
45
65
|
end
|
46
|
-
end
|
66
|
+
end
|
data/lib/frank/settings.rb
CHANGED
@@ -57,6 +57,16 @@ module Frank
|
|
57
57
|
@root.split('/').last
|
58
58
|
end
|
59
59
|
|
60
|
+
# Are we serving up a raw static folder?
|
61
|
+
def serving_static?
|
62
|
+
@serving_static
|
63
|
+
end
|
64
|
+
|
65
|
+
# Mark this Frank run as serving static
|
66
|
+
def serving_static!
|
67
|
+
@serving_static = true
|
68
|
+
end
|
69
|
+
|
60
70
|
# Check to see if we're compiling
|
61
71
|
def exporting?
|
62
72
|
@exporting
|
@@ -25,19 +25,21 @@ module Frank
|
|
25
25
|
var when = #{Time.now.to_i};
|
26
26
|
|
27
27
|
function process( raw ){
|
28
|
-
if(
|
28
|
+
if( parseInt(raw) > when ) {
|
29
29
|
window.location.reload();
|
30
|
+
}
|
30
31
|
}
|
31
|
-
|
32
|
-
(function
|
33
|
-
var req = new XMLHttpRequest();
|
34
|
-
req.open('GET', '/__refresh__', true);
|
32
|
+
|
33
|
+
(function (){
|
34
|
+
var req = (typeof XMLHttpRequest !== "undefined") ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
|
35
35
|
req.onreadystatechange = function (aEvt) {
|
36
|
-
if ( req.readyState
|
37
|
-
process(req.responseText);
|
36
|
+
if ( req.readyState === 4 ) {
|
37
|
+
process( req.responseText );
|
38
|
+
}
|
38
39
|
};
|
39
|
-
req.
|
40
|
-
|
40
|
+
req.open('GET', '/__refresh__', true);
|
41
|
+
req.send( null );
|
42
|
+
setTimeout( arguments.callee, 1000 );
|
41
43
|
})();
|
42
44
|
|
43
45
|
})();
|
@@ -14,18 +14,18 @@
|
|
14
14
|
#wrapper
|
15
15
|
%img{:src=>'/__frank__/frank-404.png'}
|
16
16
|
%h1= "Not Found—"
|
17
|
-
- unless
|
17
|
+
- unless Frank.serving_static?
|
18
18
|
%p
|
19
19
|
- if request['REQUEST_PATH']
|
20
20
|
- path = request['REQUEST_PATH'][1..-1]
|
21
21
|
= "Try creating"
|
22
|
-
|
22
|
+
|
23
23
|
- if path.match(/\.css$/)
|
24
24
|
= "<tt>#{path.match(/([\w\/]+)\./)[1]}.sass</tt>"
|
25
25
|
- else
|
26
26
|
= "<tt>#{path.gsub(/\/$/, '')}.haml</tt>"
|
27
27
|
= "in the <tt>#{dynamic_folder}</tt> folder, or"
|
28
|
-
|
28
|
+
|
29
29
|
- if path.match(/\.\w+/)
|
30
30
|
= "<tt>#{path}</tt>"
|
31
31
|
- else
|
data/lib/template/setup.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: frank
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 1.0.
|
9
|
+
- 3
|
10
|
+
version: 1.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- blahed
|
@@ -16,12 +16,10 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2010-11-
|
19
|
+
date: 2010-11-16 00:00:00 -05:00
|
20
20
|
default_executable: frank
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
23
|
-
name: rack
|
24
|
-
prerelease: false
|
25
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
26
24
|
none: false
|
27
25
|
requirements:
|
@@ -33,11 +31,26 @@ dependencies:
|
|
33
31
|
- 0
|
34
32
|
version: "1.0"
|
35
33
|
type: :runtime
|
34
|
+
name: rack
|
35
|
+
prerelease: false
|
36
36
|
version_requirements: *id001
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
|
-
name: haml
|
39
|
-
prerelease: false
|
40
38
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
hash: 15
|
44
|
+
segments:
|
45
|
+
- 1
|
46
|
+
- 0
|
47
|
+
version: "1.0"
|
48
|
+
type: :runtime
|
49
|
+
name: mongrel
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: *id002
|
52
|
+
- !ruby/object:Gem::Dependency
|
53
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
41
54
|
none: false
|
42
55
|
requirements:
|
43
56
|
- - ">="
|
@@ -48,11 +61,11 @@ dependencies:
|
|
48
61
|
- 0
|
49
62
|
version: "3.0"
|
50
63
|
type: :runtime
|
51
|
-
|
52
|
-
- !ruby/object:Gem::Dependency
|
53
|
-
name: tilt
|
64
|
+
name: haml
|
54
65
|
prerelease: false
|
55
|
-
|
66
|
+
version_requirements: *id003
|
67
|
+
- !ruby/object:Gem::Dependency
|
68
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
56
69
|
none: false
|
57
70
|
requirements:
|
58
71
|
- - "="
|
@@ -63,11 +76,55 @@ dependencies:
|
|
63
76
|
- 9
|
64
77
|
version: "0.9"
|
65
78
|
type: :runtime
|
66
|
-
|
79
|
+
name: tilt
|
80
|
+
prerelease: false
|
81
|
+
version_requirements: *id004
|
67
82
|
- !ruby/object:Gem::Dependency
|
68
|
-
|
83
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
84
|
+
none: false
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
hash: 3
|
89
|
+
segments:
|
90
|
+
- 2
|
91
|
+
- 0
|
92
|
+
version: "2.0"
|
93
|
+
type: :runtime
|
94
|
+
name: net-ssh
|
69
95
|
prerelease: false
|
70
|
-
|
96
|
+
version_requirements: *id005
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
99
|
+
none: false
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
hash: 15
|
104
|
+
segments:
|
105
|
+
- 1
|
106
|
+
- 0
|
107
|
+
version: "1.0"
|
108
|
+
type: :runtime
|
109
|
+
name: net-scp
|
110
|
+
prerelease: false
|
111
|
+
version_requirements: *id006
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
114
|
+
none: false
|
115
|
+
requirements:
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
hash: 3
|
119
|
+
segments:
|
120
|
+
- 0
|
121
|
+
version: "0"
|
122
|
+
type: :runtime
|
123
|
+
name: jeweler
|
124
|
+
prerelease: false
|
125
|
+
version_requirements: *id007
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
71
128
|
none: false
|
72
129
|
requirements:
|
73
130
|
- - ">="
|
@@ -80,12 +137,246 @@ dependencies:
|
|
80
137
|
- beta
|
81
138
|
- 19
|
82
139
|
version: 2.0.0.beta.19
|
83
|
-
type: :
|
84
|
-
|
140
|
+
type: :runtime
|
141
|
+
name: rspec
|
142
|
+
prerelease: false
|
143
|
+
version_requirements: *id008
|
85
144
|
- !ruby/object:Gem::Dependency
|
145
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
146
|
+
none: false
|
147
|
+
requirements:
|
148
|
+
- - ">="
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
hash: 1
|
151
|
+
segments:
|
152
|
+
- 0
|
153
|
+
- 5
|
154
|
+
version: "0.5"
|
155
|
+
type: :runtime
|
86
156
|
name: rack-test
|
87
157
|
prerelease: false
|
88
|
-
|
158
|
+
version_requirements: *id009
|
159
|
+
- !ruby/object:Gem::Dependency
|
160
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
162
|
+
requirements:
|
163
|
+
- - ">="
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
hash: 3
|
166
|
+
segments:
|
167
|
+
- 0
|
168
|
+
version: "0"
|
169
|
+
type: :runtime
|
170
|
+
name: rake
|
171
|
+
prerelease: false
|
172
|
+
version_requirements: *id010
|
173
|
+
- !ruby/object:Gem::Dependency
|
174
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
175
|
+
none: false
|
176
|
+
requirements:
|
177
|
+
- - ">="
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
hash: 3
|
180
|
+
segments:
|
181
|
+
- 0
|
182
|
+
version: "0"
|
183
|
+
type: :runtime
|
184
|
+
name: contest
|
185
|
+
prerelease: false
|
186
|
+
version_requirements: *id011
|
187
|
+
- !ruby/object:Gem::Dependency
|
188
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
189
|
+
none: false
|
190
|
+
requirements:
|
191
|
+
- - ">="
|
192
|
+
- !ruby/object:Gem::Version
|
193
|
+
hash: 3
|
194
|
+
segments:
|
195
|
+
- 0
|
196
|
+
version: "0"
|
197
|
+
type: :runtime
|
198
|
+
name: builder
|
199
|
+
prerelease: false
|
200
|
+
version_requirements: *id012
|
201
|
+
- !ruby/object:Gem::Dependency
|
202
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
203
|
+
none: false
|
204
|
+
requirements:
|
205
|
+
- - ">="
|
206
|
+
- !ruby/object:Gem::Version
|
207
|
+
hash: 3
|
208
|
+
segments:
|
209
|
+
- 0
|
210
|
+
version: "0"
|
211
|
+
type: :runtime
|
212
|
+
name: erubis
|
213
|
+
prerelease: false
|
214
|
+
version_requirements: *id013
|
215
|
+
- !ruby/object:Gem::Dependency
|
216
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
217
|
+
none: false
|
218
|
+
requirements:
|
219
|
+
- - ">="
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
hash: 51
|
222
|
+
segments:
|
223
|
+
- 0
|
224
|
+
- 10
|
225
|
+
- 2
|
226
|
+
version: 0.10.2
|
227
|
+
type: :runtime
|
228
|
+
name: compass
|
229
|
+
prerelease: false
|
230
|
+
version_requirements: *id014
|
231
|
+
- !ruby/object:Gem::Dependency
|
232
|
+
requirement: &id015 !ruby/object:Gem::Requirement
|
233
|
+
none: false
|
234
|
+
requirements:
|
235
|
+
- - ">="
|
236
|
+
- !ruby/object:Gem::Version
|
237
|
+
hash: 3
|
238
|
+
segments:
|
239
|
+
- 0
|
240
|
+
version: "0"
|
241
|
+
type: :runtime
|
242
|
+
name: rdiscount
|
243
|
+
prerelease: false
|
244
|
+
version_requirements: *id015
|
245
|
+
- !ruby/object:Gem::Dependency
|
246
|
+
requirement: &id016 !ruby/object:Gem::Requirement
|
247
|
+
none: false
|
248
|
+
requirements:
|
249
|
+
- - ">="
|
250
|
+
- !ruby/object:Gem::Version
|
251
|
+
hash: 3
|
252
|
+
segments:
|
253
|
+
- 0
|
254
|
+
version: "0"
|
255
|
+
type: :runtime
|
256
|
+
name: liquid
|
257
|
+
prerelease: false
|
258
|
+
version_requirements: *id016
|
259
|
+
- !ruby/object:Gem::Dependency
|
260
|
+
requirement: &id017 !ruby/object:Gem::Requirement
|
261
|
+
none: false
|
262
|
+
requirements:
|
263
|
+
- - ">="
|
264
|
+
- !ruby/object:Gem::Version
|
265
|
+
hash: 3
|
266
|
+
segments:
|
267
|
+
- 0
|
268
|
+
version: "0"
|
269
|
+
type: :runtime
|
270
|
+
name: less
|
271
|
+
prerelease: false
|
272
|
+
version_requirements: *id017
|
273
|
+
- !ruby/object:Gem::Dependency
|
274
|
+
requirement: &id018 !ruby/object:Gem::Requirement
|
275
|
+
none: false
|
276
|
+
requirements:
|
277
|
+
- - ">="
|
278
|
+
- !ruby/object:Gem::Version
|
279
|
+
hash: 3
|
280
|
+
segments:
|
281
|
+
- 0
|
282
|
+
version: "0"
|
283
|
+
type: :runtime
|
284
|
+
name: coffee-script
|
285
|
+
prerelease: false
|
286
|
+
version_requirements: *id018
|
287
|
+
- !ruby/object:Gem::Dependency
|
288
|
+
requirement: &id019 !ruby/object:Gem::Requirement
|
289
|
+
none: false
|
290
|
+
requirements:
|
291
|
+
- - ">="
|
292
|
+
- !ruby/object:Gem::Version
|
293
|
+
hash: 3
|
294
|
+
segments:
|
295
|
+
- 0
|
296
|
+
version: "0"
|
297
|
+
type: :runtime
|
298
|
+
name: RedCloth
|
299
|
+
prerelease: false
|
300
|
+
version_requirements: *id019
|
301
|
+
- !ruby/object:Gem::Dependency
|
302
|
+
requirement: &id020 !ruby/object:Gem::Requirement
|
303
|
+
none: false
|
304
|
+
requirements:
|
305
|
+
- - ">="
|
306
|
+
- !ruby/object:Gem::Version
|
307
|
+
hash: 3
|
308
|
+
segments:
|
309
|
+
- 0
|
310
|
+
version: "0"
|
311
|
+
type: :runtime
|
312
|
+
name: ruby-debug
|
313
|
+
prerelease: false
|
314
|
+
version_requirements: *id020
|
315
|
+
- !ruby/object:Gem::Dependency
|
316
|
+
requirement: &id021 !ruby/object:Gem::Requirement
|
317
|
+
none: false
|
318
|
+
requirements:
|
319
|
+
- - ">="
|
320
|
+
- !ruby/object:Gem::Version
|
321
|
+
hash: 15
|
322
|
+
segments:
|
323
|
+
- 1
|
324
|
+
- 0
|
325
|
+
version: "1.0"
|
326
|
+
type: :runtime
|
327
|
+
name: rack
|
328
|
+
prerelease: false
|
329
|
+
version_requirements: *id021
|
330
|
+
- !ruby/object:Gem::Dependency
|
331
|
+
requirement: &id022 !ruby/object:Gem::Requirement
|
332
|
+
none: false
|
333
|
+
requirements:
|
334
|
+
- - ">="
|
335
|
+
- !ruby/object:Gem::Version
|
336
|
+
hash: 7
|
337
|
+
segments:
|
338
|
+
- 3
|
339
|
+
- 0
|
340
|
+
version: "3.0"
|
341
|
+
type: :runtime
|
342
|
+
name: haml
|
343
|
+
prerelease: false
|
344
|
+
version_requirements: *id022
|
345
|
+
- !ruby/object:Gem::Dependency
|
346
|
+
requirement: &id023 !ruby/object:Gem::Requirement
|
347
|
+
none: false
|
348
|
+
requirements:
|
349
|
+
- - "="
|
350
|
+
- !ruby/object:Gem::Version
|
351
|
+
hash: 25
|
352
|
+
segments:
|
353
|
+
- 0
|
354
|
+
- 9
|
355
|
+
version: "0.9"
|
356
|
+
type: :runtime
|
357
|
+
name: tilt
|
358
|
+
prerelease: false
|
359
|
+
version_requirements: *id023
|
360
|
+
- !ruby/object:Gem::Dependency
|
361
|
+
requirement: &id024 !ruby/object:Gem::Requirement
|
362
|
+
none: false
|
363
|
+
requirements:
|
364
|
+
- - ">="
|
365
|
+
- !ruby/object:Gem::Version
|
366
|
+
hash: 62196421
|
367
|
+
segments:
|
368
|
+
- 2
|
369
|
+
- 0
|
370
|
+
- 0
|
371
|
+
- beta
|
372
|
+
- 19
|
373
|
+
version: 2.0.0.beta.19
|
374
|
+
type: :development
|
375
|
+
name: rspec
|
376
|
+
prerelease: false
|
377
|
+
version_requirements: *id024
|
378
|
+
- !ruby/object:Gem::Dependency
|
379
|
+
requirement: &id025 !ruby/object:Gem::Requirement
|
89
380
|
none: false
|
90
381
|
requirements:
|
91
382
|
- - ">="
|
@@ -96,7 +387,9 @@ dependencies:
|
|
96
387
|
- 5
|
97
388
|
version: "0.5"
|
98
389
|
type: :development
|
99
|
-
|
390
|
+
name: rack-test
|
391
|
+
prerelease: false
|
392
|
+
version_requirements: *id025
|
100
393
|
description: Rapidly develop static sites using any supported templating language
|
101
394
|
email: travis.dunn@thisismedium.com
|
102
395
|
executables:
|
@@ -107,7 +400,6 @@ extra_rdoc_files:
|
|
107
400
|
- LICENSE
|
108
401
|
- README.md
|
109
402
|
files:
|
110
|
-
- .gitignore
|
111
403
|
- Gemfile
|
112
404
|
- Gemfile.lock
|
113
405
|
- LICENSE
|
@@ -192,8 +484,8 @@ homepage: http://github.com/blahed/frank
|
|
192
484
|
licenses: []
|
193
485
|
|
194
486
|
post_install_message:
|
195
|
-
rdoc_options:
|
196
|
-
|
487
|
+
rdoc_options: []
|
488
|
+
|
197
489
|
require_paths:
|
198
490
|
- lib
|
199
491
|
required_ruby_version: !ruby/object:Gem::Requirement
|