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 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 can simply run `frank new` to be presented with a list of templates to choose from as the starting point for the project.
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 the gemspec command
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.2"
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}
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
- "README.md"
19
+ "README.md"
20
20
  ]
21
21
  s.files = [
22
- ".gitignore",
23
- "Gemfile",
24
- "Gemfile.lock",
25
- "LICENSE",
26
- "README.md",
27
- "Rakefile",
28
- "autotest/discover.rb",
29
- "bin/frank",
30
- "frank.gemspec",
31
- "lib/frank.rb",
32
- "lib/frank/base.rb",
33
- "lib/frank/cli.rb",
34
- "lib/frank/compile.rb",
35
- "lib/frank/lorem.rb",
36
- "lib/frank/middleware/imager.rb",
37
- "lib/frank/middleware/refresh.rb",
38
- "lib/frank/middleware/statik.rb",
39
- "lib/frank/publish.rb",
40
- "lib/frank/rescue.rb",
41
- "lib/frank/settings.rb",
42
- "lib/frank/template_helpers.rb",
43
- "lib/frank/templates/404.haml",
44
- "lib/frank/templates/500.haml",
45
- "lib/frank/templates/frank-404.png",
46
- "lib/frank/templates/frank-500.png",
47
- "lib/frank/templates/imager/frank0.jpg",
48
- "lib/frank/templates/imager/frank1.jpg",
49
- "lib/frank/templates/imager/frank2.jpg",
50
- "lib/frank/templates/imager/frank3.jpg",
51
- "lib/frank/templates/imager/frank4.jpg",
52
- "lib/frank/templates/imager/frank5.jpg",
53
- "lib/frank/templates/imager/frank6.jpg",
54
- "lib/frank/templates/imager/frank7.jpg",
55
- "lib/frank/templates/imager/frank8.jpg",
56
- "lib/frank/templates/imager/frank9.jpg",
57
- "lib/frank/tilt_setup.rb",
58
- "lib/frank/upgrades.rb",
59
- "lib/template/dynamic/css/frank.sass",
60
- "lib/template/dynamic/index.haml",
61
- "lib/template/helpers.rb",
62
- "lib/template/layouts/default.haml",
63
- "lib/template/setup.rb",
64
- "lib/template/static/favicon.ico",
65
- "lib/template/static/images/frank-med.png",
66
- "lib/template/static/js/frank.js",
67
- "spec/base_spec.rb",
68
- "spec/compile_spec.rb",
69
- "spec/helper.rb",
70
- "spec/publish_spec.rb",
71
- "spec/render_spec.rb",
72
- "spec/template/dynamic/500.haml",
73
- "spec/template/dynamic/_partial.haml",
74
- "spec/template/dynamic/_partial_with_locals.haml",
75
- "spec/template/dynamic/builder.builder",
76
- "spec/template/dynamic/erb.erb",
77
- "spec/template/dynamic/helper_test.haml",
78
- "spec/template/dynamic/index.haml",
79
- "spec/template/dynamic/layout2_test.haml",
80
- "spec/template/dynamic/liquid.liquid",
81
- "spec/template/dynamic/lorem_test.haml",
82
- "spec/template/dynamic/markdown.md",
83
- "spec/template/dynamic/markdown_in_haml.md",
84
- "spec/template/dynamic/nested/child.haml",
85
- "spec/template/dynamic/nested/deeper/deep.haml",
86
- "spec/template/dynamic/no_layout.haml",
87
- "spec/template/dynamic/partial_locals_test.haml",
88
- "spec/template/dynamic/partial_test.haml",
89
- "spec/template/dynamic/redcloth.textile",
90
- "spec/template/dynamic/refresh.haml",
91
- "spec/template/dynamic/setting_in_layout.haml",
92
- "spec/template/dynamic/stylesheets/sass.sass",
93
- "spec/template/dynamic/stylesheets/sass_with_compass.sass",
94
- "spec/template/dynamic/stylesheets/scss_with_compass.scss",
95
- "spec/template/helpers.rb",
96
- "spec/template/layouts/default.haml",
97
- "spec/template/layouts/explicit/layout2.haml",
98
- "spec/template/layouts/nested/default.haml",
99
- "spec/template/setup.rb",
100
- "spec/template/static/files/static.html",
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
- "spec/compile_spec.rb",
111
- "spec/helper.rb",
112
- "spec/publish_spec.rb",
113
- "spec/render_spec.rb",
114
- "spec/template/helpers.rb",
115
- "spec/template/setup.rb",
116
- "spec/template_helpers_spec.rb"
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
@@ -12,7 +12,6 @@ require 'rubygems'
12
12
  require 'yaml'
13
13
  require 'fileutils'
14
14
  require 'rack'
15
- require 'net/ssh'
16
15
  require 'frank/settings'
17
16
  require 'frank/base'
18
17
  require 'frank/compile'
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.2'
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
- m = "got it under control \n got your back \n holdin' it down
288
- takin' care of business \n workin' some magic".split("\n").sort_by{rand}.first.strip
289
- puts "\n-----------------------\n" +
290
- " Frank's #{ m }...\n" +
291
- " #{Frank.server.hostname}:#{Frank.server.port} \n\n"
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 \"#{Frank.server.handler}\"` to install it"
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
- # setup folder options
115
- Frank.dynamic_folder = @options[:dynamic_folder] if @options[:dynamic_folder]
116
- Frank.static_folder = @options[:static_folder] if @options[:static_folder]
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' }, "[#{get_mtime}]" ]
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
@@ -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( eval(raw)[0] > when )
28
+ if( parseInt(raw) > when ) {
29
29
  window.location.reload();
30
+ }
30
31
  }
31
-
32
- (function poll(){
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 == 4 && req.status == 200 )
37
- process(req.responseText);
36
+ if ( req.readyState === 4 ) {
37
+ process( req.responseText );
38
+ }
38
39
  };
39
- req.send(null);
40
- setTimeout( poll, 1000 );
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&mdash;"
17
- - unless environment == :serving
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
@@ -58,6 +58,9 @@ Frank.layouts_folder = "layouts"
58
58
  # Frank.publish.port = 22
59
59
  #
60
60
 
61
+ # ----------------------
62
+ # Sass Options:
63
+ # Frank.sass_options = { :load_paths => [ File.join(File.dirname(__FILE__), 'dynamic/css') ] }
61
64
 
62
65
 
63
66
  # ----------------------
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: 19
4
+ hash: 17
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
- - 2
10
- version: 1.0.2
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-12 00:00:00 -05:00
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
- version_requirements: *id002
52
- - !ruby/object:Gem::Dependency
53
- name: tilt
64
+ name: haml
54
65
  prerelease: false
55
- requirement: &id003 !ruby/object:Gem::Requirement
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
- version_requirements: *id003
79
+ name: tilt
80
+ prerelease: false
81
+ version_requirements: *id004
67
82
  - !ruby/object:Gem::Dependency
68
- name: rspec
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
- requirement: &id004 !ruby/object:Gem::Requirement
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: :development
84
- version_requirements: *id004
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
- requirement: &id005 !ruby/object:Gem::Requirement
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
- version_requirements: *id005
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
- - --charset=UTF-8
487
+ rdoc_options: []
488
+
197
489
  require_paths:
198
490
  - lib
199
491
  required_ruby_version: !ruby/object:Gem::Requirement
data/.gitignore DELETED
@@ -1,6 +0,0 @@
1
- .DS_Store
2
- pkg
3
- lib/frank/output_old.rb
4
- .rvmrc
5
- .sass-cache
6
- .bundle