fir 0.0.8 → 0.0.9
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/example/Rakefile +1 -0
- data/example/layouts/application.html.erb +1 -1
- data/lib/fir/boot.rb +0 -4
- data/lib/fir/tasks.rb +10 -38
- data/lib/fir/util.rb +2 -0
- data/skeleton/layouts/application.html.erb +1 -1
- metadata +3 -3
data/example/Rakefile
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
</title>
|
12
12
|
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
|
13
13
|
<% if @description and !@description.empty? %>
|
14
|
-
<meta name="description" content="<%= h @
|
14
|
+
<meta name="description" content="<%= h @description %>"/>
|
15
15
|
<% end %>
|
16
16
|
|
17
17
|
<!--[if !IE 6]><!-->
|
data/lib/fir/boot.rb
CHANGED
@@ -7,10 +7,6 @@ module Fir
|
|
7
7
|
# directory fixes that.
|
8
8
|
Dir.chdir(FIR_ROOT)
|
9
9
|
::Fir.validate_config
|
10
|
-
# This allows us to invoke Rackup with -e "FORCE_CACHING = true"
|
11
|
-
if defined?(FORCE_CACHING) and FORCE_CACHING
|
12
|
-
Fir.config.perform_caching = true
|
13
|
-
end
|
14
10
|
#use ::Rack::Reloader # Only when developing the Fir gem
|
15
11
|
use ::Rack::ContentLength
|
16
12
|
use ::Fir::Static
|
data/lib/fir/tasks.rb
CHANGED
@@ -28,24 +28,14 @@ module Fir
|
|
28
28
|
end
|
29
29
|
end
|
30
30
|
desc 'Export the site to static HTML. (For web hosts that can\'t support Rack. But mod_rewrite must be enabled for .htaccess!) ' +
|
31
|
-
'
|
31
|
+
'Usage: rake export dir=path_to_export_to'
|
32
32
|
task :export do
|
33
33
|
require 'fileutils'
|
34
34
|
|
35
35
|
if !ENV.has_key?('dir') or ENV['dir'].empty?
|
36
|
-
raise(ArgumentError, 'Usage: rake export dir=path_to_export_to
|
36
|
+
raise(ArgumentError, 'Usage: rake export dir=path_to_export_to')
|
37
37
|
end
|
38
38
|
|
39
|
-
port = ENV['port'] || 9292
|
40
|
-
|
41
|
-
pid_file = 'cache_gen_server.pid'
|
42
|
-
|
43
|
-
puts 'Starting Rackup with caching turned on...'
|
44
|
-
fork do
|
45
|
-
exec %Q{rackup -p #{port} -e "FORCE_CACHING = true" -D --pid #{pid_file}}
|
46
|
-
end
|
47
|
-
sleep(1) # Give the server a moment to boot
|
48
|
-
|
49
39
|
page_config = YAML.load(File.read(File.join(FIR_ROOT, 'pages.yml')))
|
50
40
|
path_mappings = page_config.inject({}) do |mappings, (page, configs)|
|
51
41
|
mappings[configs['path']] = page if configs['path']
|
@@ -64,36 +54,18 @@ module Fir
|
|
64
54
|
result
|
65
55
|
end + path_mappings.keys
|
66
56
|
|
67
|
-
puts '
|
57
|
+
puts 'Iniitalizing Fir site...'
|
68
58
|
|
59
|
+
Fir.config.force_caching = true
|
60
|
+
require File.expand_path(File.join(FIR_ROOT, 'config.rb'))
|
61
|
+
builder = Rack::Builder.new(&Fir.boot_proc)
|
62
|
+
|
63
|
+
puts 'Getting each page to generate the cache...'
|
69
64
|
paths.each do |path|
|
70
|
-
|
71
|
-
|
72
|
-
giving_up = false
|
73
|
-
success = false
|
74
|
-
while failure_count <= 3 and !success
|
75
|
-
puts ' GET ' + path
|
76
|
-
begin
|
77
|
-
getter.call
|
78
|
-
success = true
|
79
|
-
rescue
|
80
|
-
failure_count += 1
|
81
|
-
if failure_count <= 3
|
82
|
-
puts ' Could not connect. Retrying.'
|
83
|
-
sleep(1)
|
84
|
-
else
|
85
|
-
puts ' Could not connect. Giving up.'
|
86
|
-
giving_up = true
|
87
|
-
end
|
88
|
-
end
|
89
|
-
end
|
90
|
-
break if giving_up
|
65
|
+
puts ' GET ' + path
|
66
|
+
builder.call({'PATH_INFO' => '/' + path})
|
91
67
|
end
|
92
68
|
|
93
|
-
server_pid = File.read(pid_file).to_i
|
94
|
-
Process.kill('SIGINT', server_pid)
|
95
|
-
File.delete(pid_file)
|
96
|
-
|
97
69
|
copy_from = File.join(FIR_ROOT, 'public', '.')
|
98
70
|
copy_to = ENV['dir']
|
99
71
|
unless File.exists?(copy_to)
|
data/lib/fir/util.rb
CHANGED
@@ -11,6 +11,8 @@ module Fir
|
|
11
11
|
def self.config
|
12
12
|
@config ||= OpenStruct.new
|
13
13
|
yield @config if block_given?
|
14
|
+
# force_caching allows the export task to turn caching on even if it's set to off in config.rb
|
15
|
+
@config.perform_caching = true if @config.force_caching
|
14
16
|
# Default configs go here
|
15
17
|
@config.perform_caching ||= false
|
16
18
|
@config.relative_url_root ||= ''
|
@@ -11,7 +11,7 @@
|
|
11
11
|
</title>
|
12
12
|
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
|
13
13
|
<% if @description and !@description.empty? %>
|
14
|
-
<meta name="description" content="<%= h @
|
14
|
+
<meta name="description" content="<%= h @description %>"/>
|
15
15
|
<% end %>
|
16
16
|
|
17
17
|
<!--[if !IE 6]><!-->
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 9
|
9
|
+
version: 0.0.9
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- jarrett
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-03-
|
17
|
+
date: 2010-03-02 00:00:00 -06:00
|
18
18
|
default_executable: fir
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|