awestruct 0.4.2.x8 → 0.4.2.x9

Sign up to get free protection for your applications and to get access to all the features.
@@ -16,13 +16,8 @@ module Awestruct
16
16
  listener.ignore( %r(^#{File.basename( @config.tmp_dir )}) )
17
17
  listener.ignore( %r(^#{File.basename( @config.output_dir )}) )
18
18
  listener.change do |modified, added, removed|
19
- puts "modified #{modified.inspect}"
20
- puts "added #{added.inspect}"
21
- puts "removed #{removed.inspect}"
22
19
  modified.each do |path|
23
20
  engine = ::Awestruct::Engine.instance
24
- puts "path -> #{path}"
25
- puts "bn -> #{File.basename( engine.config.output_dir )}"
26
21
  unless ( path =~ %r(#{File.basename( engine.config.output_dir) }) || path =~ /.awestruct/ )
27
22
  engine.generate_page_by_output_path( path )
28
23
  end
@@ -1,10 +1,12 @@
1
- require 'webrick'
1
+ #require 'webrick'
2
+ require 'thin'
3
+ require 'awestruct/rack/app'
2
4
 
3
5
  module Awestruct
4
6
  module CLI
5
7
 
6
- WEBrick::HTTPUtils::DefaultMimeTypes.store('atom', 'application/atom+xml')
7
- WEBrick::HTTPUtils::DefaultMimeTypes.store('appcache', 'text/cache-manifest')
8
+ #WEBrick::HTTPUtils::DefaultMimeTypes.store('atom', 'application/atom+xml')
9
+ #WEBrick::HTTPUtils::DefaultMimeTypes.store('appcache', 'text/cache-manifest')
8
10
 
9
11
  class Server
10
12
  attr_reader :server
@@ -16,6 +18,11 @@ module Awestruct
16
18
  end
17
19
 
18
20
  def run
21
+ @server = Thin::Server.new( '0.0.0.0', @port, Awestruct::Rack::App.new( @path ) )
22
+ @server.start
23
+ end
24
+
25
+ def run_webrick
19
26
  @server = WEBrick::HTTPServer.new( :DocumentRoot=>@path, :Port=>@port, :BindAddress=>@bind_addr )
20
27
  @server.start
21
28
  end
@@ -0,0 +1,63 @@
1
+
2
+ module Awestruct
3
+ module Rack
4
+
5
+ class App
6
+ def initialize(doc_root)
7
+ @doc_root = doc_root
8
+ end
9
+
10
+ def call(env)
11
+ path = env['REQUEST_PATH']
12
+ fs_path = File.join( @doc_root, path )
13
+
14
+ if ( File.directory?( fs_path ) )
15
+ if ( ! ( path =~ %r(/$) ) )
16
+ return [ 301,
17
+ { :location=>path + '/' },
18
+ "Redirecting to: #{path}" ]
19
+ elsif ( File.exist?( File.join( fs_path, 'index.html' ) ) )
20
+ fs_path = File.join( fs_path, 'index.html' )
21
+ end
22
+ end
23
+
24
+ if ( File.exist?( fs_path ) )
25
+ [ 200,
26
+ {},
27
+ read_content( fs_path ) ]
28
+ else
29
+ [ 404,
30
+ {},
31
+ read_error_document(path) ]
32
+ end
33
+ end
34
+
35
+ def read_error_document( path )
36
+ doc_path = nil
37
+ htaccess = File.join( @doc_root, '.htaccess' )
38
+ if ( File.exist?( htaccess ) )
39
+ File.open( htaccess ).each_line do |line|
40
+ if ( line =~ %r(^.*ErrorDocument[ \t]+404[ \t]+(.+)$) )
41
+ doc_path = $1
42
+ end
43
+ end
44
+ end
45
+ if ( doc_path )
46
+ fs_doc_path = File.join( @doc_root, doc_path )
47
+ return read_content( fs_doc_path ) if File.exist?( fs_doc_path )
48
+ end
49
+ "404: Not Found: #{path}"
50
+ end
51
+
52
+
53
+ def read_content( path )
54
+ input_stream = IO.open(IO.sysopen(path, "rb"), "rb" )
55
+ result = input_stream.read
56
+ return result
57
+ ensure
58
+ input_stream.close
59
+ end
60
+ end
61
+
62
+ end
63
+ end
@@ -1,4 +1,4 @@
1
1
 
2
2
  module Awestruct
3
- VERSION='0.4.2.x8'
3
+ VERSION='0.4.2.x9'
4
4
  end
metadata CHANGED
@@ -1,8 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awestruct
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 756435199
4
5
  prerelease: 6
5
- version: 0.4.2.x8
6
+ segments:
7
+ - 0
8
+ - 4
9
+ - 2
10
+ - x
11
+ - 9
12
+ version: 0.4.2.x9
6
13
  platform: ruby
7
14
  authors:
8
15
  - Bob McWhirter
@@ -13,203 +20,308 @@ cert_chain: []
13
20
  date: 2012-06-07 00:00:00 Z
14
21
  dependencies:
15
22
  - !ruby/object:Gem::Dependency
16
- name: hpricot
23
+ prerelease: false
24
+ type: :runtime
17
25
  requirement: &id001 !ruby/object:Gem::Requirement
18
26
  none: false
19
27
  requirements:
20
28
  - - ~>
21
29
  - !ruby/object:Gem::Version
30
+ hash: 51
31
+ segments:
32
+ - 0
33
+ - 8
34
+ - 6
22
35
  version: 0.8.6
23
- type: :runtime
24
- prerelease: false
36
+ name: hpricot
25
37
  version_requirements: *id001
26
38
  - !ruby/object:Gem::Dependency
27
- name: haml
39
+ prerelease: false
40
+ type: :runtime
28
41
  requirement: &id002 !ruby/object:Gem::Requirement
29
42
  none: false
30
43
  requirements:
31
44
  - - ~>
32
45
  - !ruby/object:Gem::Version
46
+ hash: 11
47
+ segments:
48
+ - 3
49
+ - 1
50
+ - 4
33
51
  version: 3.1.4
34
- type: :runtime
35
- prerelease: false
52
+ name: haml
36
53
  version_requirements: *id002
37
54
  - !ruby/object:Gem::Dependency
38
- name: sass
55
+ prerelease: false
56
+ type: :runtime
39
57
  requirement: &id003 !ruby/object:Gem::Requirement
40
58
  none: false
41
59
  requirements:
42
60
  - - ~>
43
61
  - !ruby/object:Gem::Version
62
+ hash: 29
63
+ segments:
64
+ - 3
65
+ - 1
66
+ - 15
44
67
  version: 3.1.15
45
- type: :runtime
46
- prerelease: false
68
+ name: sass
47
69
  version_requirements: *id003
48
70
  - !ruby/object:Gem::Dependency
49
- name: hashery
71
+ prerelease: false
72
+ type: :runtime
50
73
  requirement: &id004 !ruby/object:Gem::Requirement
51
74
  none: false
52
75
  requirements:
53
76
  - - ~>
54
77
  - !ruby/object:Gem::Version
78
+ hash: 3
79
+ segments:
80
+ - 1
81
+ - 5
82
+ - 0
55
83
  version: 1.5.0
56
- type: :runtime
57
- prerelease: false
84
+ name: hashery
58
85
  version_requirements: *id004
59
86
  - !ruby/object:Gem::Dependency
60
- name: rdiscount
87
+ prerelease: false
88
+ type: :runtime
61
89
  requirement: &id005 !ruby/object:Gem::Requirement
62
90
  none: false
63
91
  requirements:
64
92
  - - ~>
65
93
  - !ruby/object:Gem::Version
94
+ hash: 31
95
+ segments:
96
+ - 1
97
+ - 6
98
+ - 8
66
99
  version: 1.6.8
67
- type: :runtime
68
- prerelease: false
100
+ name: rdiscount
69
101
  version_requirements: *id005
70
102
  - !ruby/object:Gem::Dependency
71
- name: RedCloth
103
+ prerelease: false
104
+ type: :runtime
72
105
  requirement: &id006 !ruby/object:Gem::Requirement
73
106
  none: false
74
107
  requirements:
75
108
  - - ~>
76
109
  - !ruby/object:Gem::Version
110
+ hash: 37
111
+ segments:
112
+ - 4
113
+ - 2
114
+ - 9
77
115
  version: 4.2.9
78
- type: :runtime
79
- prerelease: false
116
+ name: RedCloth
80
117
  version_requirements: *id006
81
118
  - !ruby/object:Gem::Dependency
82
- name: coffee-script
119
+ prerelease: false
120
+ type: :runtime
83
121
  requirement: &id007 !ruby/object:Gem::Requirement
84
122
  none: false
85
123
  requirements:
86
124
  - - ~>
87
125
  - !ruby/object:Gem::Version
126
+ hash: 7
127
+ segments:
128
+ - 2
129
+ - 2
130
+ - 0
88
131
  version: 2.2.0
89
- type: :runtime
90
- prerelease: false
132
+ name: coffee-script
91
133
  version_requirements: *id007
92
134
  - !ruby/object:Gem::Dependency
93
- name: nokogiri
135
+ prerelease: false
136
+ type: :runtime
94
137
  requirement: &id008 !ruby/object:Gem::Requirement
95
138
  none: false
96
139
  requirements:
97
140
  - - ~>
98
141
  - !ruby/object:Gem::Version
142
+ hash: 7
143
+ segments:
144
+ - 1
145
+ - 5
146
+ - 2
99
147
  version: 1.5.2
100
- type: :runtime
101
- prerelease: false
148
+ name: nokogiri
102
149
  version_requirements: *id008
103
150
  - !ruby/object:Gem::Dependency
104
- name: compass
151
+ prerelease: false
152
+ type: :runtime
105
153
  requirement: &id009 !ruby/object:Gem::Requirement
106
154
  none: false
107
155
  requirements:
108
156
  - - ~>
109
157
  - !ruby/object:Gem::Version
158
+ hash: 45
159
+ segments:
160
+ - 0
161
+ - 12
162
+ - 1
110
163
  version: 0.12.1
111
- type: :runtime
112
- prerelease: false
164
+ name: compass
113
165
  version_requirements: *id009
114
166
  - !ruby/object:Gem::Dependency
115
- name: compass-960-plugin
167
+ prerelease: false
168
+ type: :runtime
116
169
  requirement: &id010 !ruby/object:Gem::Requirement
117
170
  none: false
118
171
  requirements:
119
172
  - - ~>
120
173
  - !ruby/object:Gem::Version
174
+ hash: 63
175
+ segments:
176
+ - 0
177
+ - 10
178
+ - 4
121
179
  version: 0.10.4
122
- type: :runtime
123
- prerelease: false
180
+ name: compass-960-plugin
124
181
  version_requirements: *id010
125
182
  - !ruby/object:Gem::Dependency
126
- name: bootstrap-sass
183
+ prerelease: false
184
+ type: :runtime
127
185
  requirement: &id011 !ruby/object:Gem::Requirement
128
186
  none: false
129
187
  requirements:
130
188
  - - ~>
131
189
  - !ruby/object:Gem::Version
190
+ hash: 13
191
+ segments:
192
+ - 2
193
+ - 0
194
+ - 1
132
195
  version: 2.0.1
133
- type: :runtime
134
- prerelease: false
196
+ name: bootstrap-sass
135
197
  version_requirements: *id011
136
198
  - !ruby/object:Gem::Dependency
137
- name: org-ruby
199
+ prerelease: false
200
+ type: :runtime
138
201
  requirement: &id012 !ruby/object:Gem::Requirement
139
202
  none: false
140
203
  requirements:
141
204
  - - ~>
142
205
  - !ruby/object:Gem::Version
206
+ hash: 13
207
+ segments:
208
+ - 0
209
+ - 5
210
+ - 3
143
211
  version: 0.5.3
144
- type: :runtime
145
- prerelease: false
212
+ name: org-ruby
146
213
  version_requirements: *id012
147
214
  - !ruby/object:Gem::Dependency
148
- name: json
215
+ prerelease: false
216
+ type: :runtime
149
217
  requirement: &id013 !ruby/object:Gem::Requirement
150
218
  none: false
151
219
  requirements:
152
220
  - - ~>
153
221
  - !ruby/object:Gem::Version
222
+ hash: 3
223
+ segments:
224
+ - 1
225
+ - 6
226
+ - 6
154
227
  version: 1.6.6
155
- type: :runtime
156
- prerelease: false
228
+ name: json
157
229
  version_requirements: *id013
158
230
  - !ruby/object:Gem::Dependency
159
- name: notifier
231
+ prerelease: false
232
+ type: :runtime
160
233
  requirement: &id014 !ruby/object:Gem::Requirement
161
234
  none: false
162
235
  requirements:
163
236
  - - ~>
164
237
  - !ruby/object:Gem::Version
238
+ hash: 19
239
+ segments:
240
+ - 0
241
+ - 1
242
+ - 4
165
243
  version: 0.1.4
166
- type: :runtime
167
- prerelease: false
244
+ name: notifier
168
245
  version_requirements: *id014
169
246
  - !ruby/object:Gem::Dependency
170
- name: git
247
+ prerelease: false
248
+ type: :runtime
171
249
  requirement: &id015 !ruby/object:Gem::Requirement
172
250
  none: false
173
251
  requirements:
174
252
  - - ~>
175
253
  - !ruby/object:Gem::Version
254
+ hash: 21
255
+ segments:
256
+ - 1
257
+ - 2
258
+ - 5
176
259
  version: 1.2.5
177
- type: :runtime
178
- prerelease: false
260
+ name: git
179
261
  version_requirements: *id015
180
262
  - !ruby/object:Gem::Dependency
181
- name: listen
263
+ prerelease: false
264
+ type: :runtime
182
265
  requirement: &id016 !ruby/object:Gem::Requirement
183
266
  none: false
184
267
  requirements:
185
268
  - - ~>
186
269
  - !ruby/object:Gem::Version
270
+ hash: 11
271
+ segments:
272
+ - 0
273
+ - 4
274
+ - 2
187
275
  version: 0.4.2
188
- type: :runtime
189
- prerelease: false
276
+ name: listen
190
277
  version_requirements: *id016
191
278
  - !ruby/object:Gem::Dependency
192
- name: rspec
279
+ prerelease: false
280
+ type: :runtime
193
281
  requirement: &id017 !ruby/object:Gem::Requirement
194
282
  none: false
195
283
  requirements:
196
284
  - - ~>
197
285
  - !ruby/object:Gem::Version
198
- version: "2.9"
199
- type: :development
200
- prerelease: false
286
+ hash: 25
287
+ segments:
288
+ - 1
289
+ - 3
290
+ - 1
291
+ version: 1.3.1
292
+ name: thin
201
293
  version_requirements: *id017
202
294
  - !ruby/object:Gem::Dependency
203
- name: rake
295
+ prerelease: false
296
+ type: :development
204
297
  requirement: &id018 !ruby/object:Gem::Requirement
205
298
  none: false
206
299
  requirements:
207
300
  - - ~>
208
301
  - !ruby/object:Gem::Version
209
- version: 0.9.2
210
- type: :development
211
- prerelease: false
302
+ hash: 17
303
+ segments:
304
+ - 2
305
+ - 9
306
+ version: "2.9"
307
+ name: rspec
212
308
  version_requirements: *id018
309
+ - !ruby/object:Gem::Dependency
310
+ prerelease: false
311
+ type: :development
312
+ requirement: &id019 !ruby/object:Gem::Requirement
313
+ none: false
314
+ requirements:
315
+ - - ~>
316
+ - !ruby/object:Gem::Version
317
+ hash: 63
318
+ segments:
319
+ - 0
320
+ - 9
321
+ - 2
322
+ version: 0.9.2
323
+ name: rake
324
+ version_requirements: *id019
213
325
  description: Awestruct is a framework for creating static HTML sites.
214
326
  email: bob@mcwhirter.org
215
327
  executables:
@@ -287,6 +399,7 @@ files:
287
399
  - lib/awestruct/page.rb
288
400
  - lib/awestruct/page_loader.rb
289
401
  - lib/awestruct/pipeline.rb
402
+ - lib/awestruct/rack/app.rb
290
403
  - lib/awestruct/site.rb
291
404
  - lib/awestruct/util/default_inflections.rb
292
405
  - lib/awestruct/util/inflector.rb
@@ -313,7 +426,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
313
426
  requirements:
314
427
  - - ">="
315
428
  - !ruby/object:Gem::Version
316
- hash: -4586524403344190985
429
+ hash: 3
317
430
  segments:
318
431
  - 0
319
432
  version: "0"
@@ -322,6 +435,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
322
435
  requirements:
323
436
  - - ">"
324
437
  - !ruby/object:Gem::Version
438
+ hash: 25
439
+ segments:
440
+ - 1
441
+ - 3
442
+ - 1
325
443
  version: 1.3.1
326
444
  requirements: []
327
445