awestruct 0.4.2.x8 → 0.4.2.x9

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.
@@ -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