awestruct 0.1.0 → 0.1.1
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/lib/awestruct/config.rb
CHANGED
|
@@ -7,6 +7,7 @@ module Awestruct
|
|
|
7
7
|
attr_accessor :config_dir
|
|
8
8
|
attr_accessor :extension_dir
|
|
9
9
|
attr_accessor :output_dir
|
|
10
|
+
attr_accessor :skin_dir
|
|
10
11
|
attr_accessor :ignore
|
|
11
12
|
|
|
12
13
|
def initialize()
|
|
@@ -14,6 +15,7 @@ module Awestruct
|
|
|
14
15
|
@config_dir = '_config'
|
|
15
16
|
@output_dir = '_site'
|
|
16
17
|
@extension_dir = '_ext'
|
|
18
|
+
@skin_dir = '_skin'
|
|
17
19
|
@ignore = [ ]
|
|
18
20
|
end
|
|
19
21
|
|
data/lib/awestruct/engine.rb
CHANGED
|
@@ -27,6 +27,7 @@ require 'awestruct/extensions/tagger'
|
|
|
27
27
|
require 'awestruct/extensions/tag_cloud'
|
|
28
28
|
require 'awestruct/extensions/intense_debate'
|
|
29
29
|
require 'awestruct/extensions/google_analytics'
|
|
30
|
+
require 'awestruct/extensions/partial'
|
|
30
31
|
|
|
31
32
|
require 'awestruct/util/inflector'
|
|
32
33
|
require 'awestruct/util/default_inflections'
|
|
@@ -51,6 +52,10 @@ module Awestruct
|
|
|
51
52
|
@max_yaml_mtime = nil
|
|
52
53
|
end
|
|
53
54
|
|
|
55
|
+
def skin_dir
|
|
56
|
+
@site.skin_dir
|
|
57
|
+
end
|
|
58
|
+
|
|
54
59
|
def generate(profile=nil, base_url=nil, default_base_url=nil, force=false)
|
|
55
60
|
@base_url = base_url
|
|
56
61
|
@default_base_url = default_base_url
|
|
@@ -235,9 +240,19 @@ module Awestruct
|
|
|
235
240
|
layout_pathname = Pathname.new( layout_path )
|
|
236
241
|
relative_path = layout_pathname.relative_path_from( dir_pathname ).to_s
|
|
237
242
|
name = File.basename( layout_path, '.haml' )
|
|
238
|
-
#site.layouts[ name ] = HamlFile.new( site, layout_path, relative_path )
|
|
239
243
|
site.layouts[ name ] = load_page( layout_path, relative_path )
|
|
240
244
|
end
|
|
245
|
+
if ( skin_dir )
|
|
246
|
+
skin_dir_pathname = Pathname.new( skin_dir )
|
|
247
|
+
Dir[ File.join( skin_dir, config.layouts_dir, '*.haml' ) ].each do |layout_path|
|
|
248
|
+
layout_pathname = Pathname.new( layout_path )
|
|
249
|
+
relative_path = layout_pathname.relative_path_from( skin_dir_pathname ).to_s
|
|
250
|
+
name = File.basename( layout_path, '.haml' )
|
|
251
|
+
unless ( site.layouts.key?( name ) )
|
|
252
|
+
site.layouts[ name ] = load_page( layout_path, relative_path )
|
|
253
|
+
end
|
|
254
|
+
end
|
|
255
|
+
end
|
|
241
256
|
end
|
|
242
257
|
|
|
243
258
|
def load_site_yaml(profile)
|
|
@@ -280,8 +295,8 @@ module Awestruct
|
|
|
280
295
|
end
|
|
281
296
|
|
|
282
297
|
def load_pages()
|
|
283
|
-
dir_pathname = Pathname.new( dir )
|
|
284
298
|
site.pages.clear
|
|
299
|
+
dir_pathname = Pathname.new( dir )
|
|
285
300
|
Find.find( dir ) do |path|
|
|
286
301
|
next if path == dir
|
|
287
302
|
basename = File.basename( path )
|
|
@@ -300,6 +315,28 @@ module Awestruct
|
|
|
300
315
|
end
|
|
301
316
|
end
|
|
302
317
|
end
|
|
318
|
+
|
|
319
|
+
if ( skin_dir )
|
|
320
|
+
skin_dir_pathname = Pathname( skin_dir )
|
|
321
|
+
Find.find( skin_dir ) do |path|
|
|
322
|
+
next if path == skin_dir
|
|
323
|
+
basename = File.basename( path )
|
|
324
|
+
if ( basename == '.htaccess' )
|
|
325
|
+
#special case
|
|
326
|
+
elsif ( config.ignore.include?( basename ) || ( basename =~ /^[_.]/ ) )
|
|
327
|
+
Find.prune
|
|
328
|
+
next
|
|
329
|
+
end
|
|
330
|
+
unless ( site.has_page?( path ) )
|
|
331
|
+
file_pathname = Pathname.new( path )
|
|
332
|
+
relative_path = file_pathname.relative_path_from( skin_dir_pathname ).to_s
|
|
333
|
+
page = load_page( path, relative_path )
|
|
334
|
+
if ( page )
|
|
335
|
+
site.pages << page
|
|
336
|
+
end
|
|
337
|
+
end
|
|
338
|
+
end
|
|
339
|
+
end
|
|
303
340
|
end
|
|
304
341
|
|
|
305
342
|
def massage_yaml(obj)
|
|
@@ -321,14 +358,34 @@ module Awestruct
|
|
|
321
358
|
end
|
|
322
359
|
|
|
323
360
|
def load_extensions
|
|
361
|
+
|
|
362
|
+
pipeline = nil
|
|
363
|
+
skin_pipeline = nil
|
|
364
|
+
|
|
324
365
|
ext_dir = File.join( dir, config.extension_dir )
|
|
325
|
-
pipeline_file = File.join( ext_dir, 'pipeline.rb' )
|
|
326
366
|
if ( $LOAD_PATH.index( ext_dir ).nil? )
|
|
327
367
|
$LOAD_PATH << ext_dir
|
|
328
368
|
end
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
369
|
+
pipeline_file = File.join( ext_dir, 'pipeline.rb' )
|
|
370
|
+
if ( File.exists?( pipeline_file ) )
|
|
371
|
+
pipeline = eval File.read( pipeline_file )
|
|
372
|
+
@helpers = pipeline.helpers || []
|
|
373
|
+
end
|
|
374
|
+
|
|
375
|
+
if ( skin_dir )
|
|
376
|
+
skin_ext_dir = File.join( skin_dir, config.extension_dir )
|
|
377
|
+
if ( $LOAD_PATH.index( skin_ext_dir ).nil? )
|
|
378
|
+
$LOAD_PATH << skin_ext_dir
|
|
379
|
+
end
|
|
380
|
+
skin_pipeline_file = File.join( skin_ext_dir, 'pipeline.rb' )
|
|
381
|
+
if ( File.exists?( skin_pipeline_file ) )
|
|
382
|
+
skin_pipeline = eval File.read( skin_pipeline_file )
|
|
383
|
+
@helpers = skin_pipeline.helpers || []
|
|
384
|
+
end
|
|
385
|
+
end
|
|
386
|
+
|
|
387
|
+
pipeline.execute( site ) if pipeline
|
|
388
|
+
skin_pipeline.execute( site ) if skin_pipeline
|
|
332
389
|
end
|
|
333
390
|
|
|
334
391
|
def camelize(lower_case_and_underscored_word, first_letter_in_uppercase = true)
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: awestruct
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 25
|
|
5
5
|
prerelease: false
|
|
6
6
|
segments:
|
|
7
7
|
- 0
|
|
8
8
|
- 1
|
|
9
|
-
-
|
|
10
|
-
version: 0.1.
|
|
9
|
+
- 1
|
|
10
|
+
version: 0.1.1
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Bob McWhirter
|
|
@@ -143,6 +143,7 @@ files:
|
|
|
143
143
|
- lib/awestruct/extensions/indexifier.rb
|
|
144
144
|
- lib/awestruct/extensions/intense_debate.rb
|
|
145
145
|
- lib/awestruct/extensions/paginator.rb
|
|
146
|
+
- lib/awestruct/extensions/partial.rb
|
|
146
147
|
- lib/awestruct/extensions/pipeline.rb
|
|
147
148
|
- lib/awestruct/extensions/posts.rb
|
|
148
149
|
- lib/awestruct/extensions/tag_cloud.rb
|