awestruct 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -19,6 +19,7 @@ def parse(args)
19
19
  :init=>false,
20
20
  :framework=>'compass',
21
21
  :scaffold=>true,
22
+ :base_url=>nil,
22
23
  } )
23
24
 
24
25
  opts = OptionParser.new do |opts|
@@ -38,6 +39,15 @@ def parse(args)
38
39
  opts.on( '-s', '--server', 'Serve generated site' ) do |s|
39
40
  options.server = s
40
41
  end
42
+ opts.on( '-u', '--url URL', 'Set site.base_url' ) do |url|
43
+ options.base_url = url
44
+ end
45
+ opts.on( '-d', '--dev', 'Run in development mode (--auto, --server and --url http://localhost:4242)' ) do |url|
46
+ options.base_url = 'http://localhost:4242'
47
+ options.server = true
48
+ options.auto = true
49
+ options.port = 4242
50
+ end
41
51
  opts.on( '-a', '--auto', 'Auto-generate when changes are noticed' ) do |a|
42
52
  options.auto = a
43
53
  end
@@ -79,13 +89,13 @@ end
79
89
  threads = []
80
90
 
81
91
  if ( options.generate )
82
- cmd = Awestruct::Commands::Generate.new( Dir.pwd, options.force )
92
+ cmd = Awestruct::Commands::Generate.new( Dir.pwd, options.base_url, options.force )
83
93
  cmd.run
84
94
  end
85
95
 
86
96
  if ( options.auto )
87
97
  threads << Thread.new {
88
- generate_cmd = Awestruct::Commands::Generate.new( Dir.pwd )
98
+ generate_cmd = Awestruct::Commands::Generate.new( Dir.pwd, options.base_url )
89
99
  while ( true )
90
100
  generate_cmd.run
91
101
  sleep(1)
@@ -4,15 +4,16 @@ module Awestruct
4
4
  module Commands
5
5
  class Generate
6
6
 
7
- def initialize(dir=Dir.pwd, force=false)
7
+ def initialize(dir=Dir.pwd, base_url=nil, force=false)
8
8
  @dir = dir
9
+ @base_url = base_url
9
10
  @force = force
10
11
  @engine = Awestruct::Engine.new( @dir )
11
12
  end
12
13
 
13
14
  def run()
14
15
  begin
15
- @engine.generate( @force )
16
+ @engine.generate( @base_url, @force )
16
17
  rescue =>e
17
18
  puts e
18
19
  puts e.backtrace
@@ -19,10 +19,6 @@ require 'awestruct/extensions/indexifier'
19
19
 
20
20
  module Awestruct
21
21
 
22
- IGNORE_NAMES = [
23
- 'hekyll',
24
- ]
25
-
26
22
  class Engine
27
23
 
28
24
  attr_reader :config
@@ -33,10 +29,14 @@ module Awestruct
33
29
  @dir = dir
34
30
  @config = config
35
31
  @site = Site.new( @dir )
32
+ @site.tmp_dir = File.join( dir, '_tmp' )
33
+ FileUtils.mkdir_p( @site.tmp_dir )
34
+ FileUtils.mkdir_p( @site.output_dir )
36
35
  @max_yaml_mtime = nil
37
36
  end
38
37
 
39
- def generate(force=false)
38
+ def generate(base_url=nil, force=false)
39
+ @base_url = base_url
40
40
  load_layouts
41
41
  load_yamls
42
42
  load_pages
@@ -151,6 +151,7 @@ module Awestruct
151
151
  data.each do |k,v|
152
152
  site.send( "#{k}=", v )
153
153
  end
154
+ ( site.base_url = @base_url ) if ( @base_url )
154
155
  else
155
156
  site.send( "#{name}=", massage_yaml( data ) )
156
157
  end
metadata CHANGED
@@ -3,13 +3,13 @@ name: awestruct
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
- - 0
7
- - 0
8
- - 1
9
- version: 0.0.1
6
+ - 0
7
+ - 0
8
+ - 2
9
+ version: 0.0.2
10
10
  platform: ruby
11
11
  authors:
12
- - Bob McWhirter
12
+ - Bob McWhirter
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
@@ -17,100 +17,100 @@ cert_chain: []
17
17
  date: 2010-02-26 00:00:00 -05:00
18
18
  default_executable:
19
19
  dependencies:
20
- - !ruby/object:Gem::Dependency
21
- name: hpricot
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- requirements:
25
- - - ">="
26
- - !ruby/object:Gem::Version
27
- segments:
28
- - 0
29
- version: "0"
30
- type: :runtime
31
- version_requirements: *id001
32
- - !ruby/object:Gem::Dependency
33
- name: haml
34
- prerelease: false
35
- requirement: &id002 !ruby/object:Gem::Requirement
36
- requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- segments:
40
- - 0
41
- version: "0"
42
- type: :runtime
43
- version_requirements: *id002
44
- - !ruby/object:Gem::Dependency
45
- name: maruku
46
- prerelease: false
47
- requirement: &id003 !ruby/object:Gem::Requirement
48
- requirements:
49
- - - ">="
50
- - !ruby/object:Gem::Version
51
- segments:
52
- - 0
53
- version: "0"
54
- type: :runtime
55
- version_requirements: *id003
56
- - !ruby/object:Gem::Dependency
57
- name: compass
58
- prerelease: false
59
- requirement: &id004 !ruby/object:Gem::Requirement
60
- requirements:
61
- - - ">="
62
- - !ruby/object:Gem::Version
63
- segments:
64
- - 0
65
- version: "0"
66
- type: :runtime
67
- version_requirements: *id004
68
- - !ruby/object:Gem::Dependency
69
- name: mongrel
70
- prerelease: false
71
- requirement: &id005 !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- segments:
76
- - 0
77
- version: "0"
78
- type: :runtime
79
- version_requirements: *id005
20
+ - !ruby/object:Gem::Dependency
21
+ name: hpricot
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ version: "0"
30
+ type: :runtime
31
+ version_requirements: *id001
32
+ - !ruby/object:Gem::Dependency
33
+ name: haml
34
+ prerelease: false
35
+ requirement: &id002 !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ segments:
40
+ - 0
41
+ version: "0"
42
+ type: :runtime
43
+ version_requirements: *id002
44
+ - !ruby/object:Gem::Dependency
45
+ name: maruku
46
+ prerelease: false
47
+ requirement: &id003 !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ segments:
52
+ - 0
53
+ version: "0"
54
+ type: :runtime
55
+ version_requirements: *id003
56
+ - !ruby/object:Gem::Dependency
57
+ name: compass
58
+ prerelease: false
59
+ requirement: &id004 !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ segments:
64
+ - 0
65
+ version: "0"
66
+ type: :runtime
67
+ version_requirements: *id004
68
+ - !ruby/object:Gem::Dependency
69
+ name: mongrel
70
+ prerelease: false
71
+ requirement: &id005 !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ segments:
76
+ - 0
77
+ version: "0"
78
+ type: :runtime
79
+ version_requirements: *id005
80
80
  description:
81
81
  email: bob@mcwhirter.org
82
82
  executables:
83
- - awestruct
83
+ - awestruct
84
84
  extensions: []
85
85
 
86
86
  extra_rdoc_files: []
87
87
 
88
88
  files:
89
- - lib/awestruct.rb
90
- - lib/awestruct/config.rb
91
- - lib/awestruct/engine.rb
92
- - lib/awestruct/front_matter_file.rb
93
- - lib/awestruct/haml_file.rb
94
- - lib/awestruct/haml_helpers.rb
95
- - lib/awestruct/hamlable.rb
96
- - lib/awestruct/maruku_file.rb
97
- - lib/awestruct/marukuable.rb
98
- - lib/awestruct/renderable.rb
99
- - lib/awestruct/renderable_file.rb
100
- - lib/awestruct/sass_file.rb
101
- - lib/awestruct/sassable.rb
102
- - lib/awestruct/site.rb
103
- - lib/awestruct/verbatim_file.rb
104
- - lib/awestruct/commands/base_pipeline.rb
105
- - lib/awestruct/commands/generate.rb
106
- - lib/awestruct/commands/init.rb
107
- - lib/awestruct/commands/manifest.rb
108
- - lib/awestruct/commands/server.rb
109
- - lib/awestruct/extensions/indexifier.rb
110
- - lib/awestruct/extensions/pipeline.rb
111
- - lib/awestruct/extensions/posts.rb
112
- - lib/awestruct/commands/base_index.html.haml
113
- - lib/awestruct/commands/base_layout.html.haml
89
+ - lib/awestruct/commands/base_pipeline.rb
90
+ - lib/awestruct/commands/generate.rb
91
+ - lib/awestruct/commands/init.rb
92
+ - lib/awestruct/commands/manifest.rb
93
+ - lib/awestruct/commands/server.rb
94
+ - lib/awestruct/config.rb
95
+ - lib/awestruct/engine.rb
96
+ - lib/awestruct/extensions/indexifier.rb
97
+ - lib/awestruct/extensions/pipeline.rb
98
+ - lib/awestruct/extensions/posts.rb
99
+ - lib/awestruct/front_matter_file.rb
100
+ - lib/awestruct/haml_file.rb
101
+ - lib/awestruct/haml_helpers.rb
102
+ - lib/awestruct/hamlable.rb
103
+ - lib/awestruct/maruku_file.rb
104
+ - lib/awestruct/marukuable.rb
105
+ - lib/awestruct/renderable.rb
106
+ - lib/awestruct/renderable_file.rb
107
+ - lib/awestruct/sass_file.rb
108
+ - lib/awestruct/sassable.rb
109
+ - lib/awestruct/site.rb
110
+ - lib/awestruct/verbatim_file.rb
111
+ - lib/awestruct.rb
112
+ - lib/awestruct/commands/base_index.html.haml
113
+ - lib/awestruct/commands/base_layout.html.haml
114
114
  has_rdoc: true
115
115
  homepage:
116
116
  licenses: []
@@ -119,21 +119,21 @@ post_install_message:
119
119
  rdoc_options: []
120
120
 
121
121
  require_paths:
122
- - lib
122
+ - lib
123
123
  required_ruby_version: !ruby/object:Gem::Requirement
124
124
  requirements:
125
- - - ">="
126
- - !ruby/object:Gem::Version
127
- segments:
128
- - 0
129
- version: "0"
125
+ - - ">="
126
+ - !ruby/object:Gem::Version
127
+ segments:
128
+ - 0
129
+ version: "0"
130
130
  required_rubygems_version: !ruby/object:Gem::Requirement
131
131
  requirements:
132
- - - ">="
133
- - !ruby/object:Gem::Version
134
- segments:
135
- - 0
136
- version: "0"
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ segments:
135
+ - 0
136
+ version: "0"
137
137
  requirements: []
138
138
 
139
139
  rubyforge_project: