razor 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -15,8 +15,11 @@ module Razor
15
15
  Dir.mkdir name
16
16
  end
17
17
 
18
- def self.generate(src, dest)
19
- site = Site.new(src, dest)
18
+ def self.generate(options, *args)
19
+ if options[:url_base]
20
+ args << options[:url_base]
21
+ end
22
+ site = Site.new(*args)
20
23
  FileUtils.rm_r(dest) rescue nil
21
24
  site.generate
22
25
  end
@@ -93,19 +93,17 @@ module Razor
93
93
 
94
94
  class Site < Directory
95
95
 
96
- attr_reader :src, :dest
97
- def initialize(src, dest)
96
+ attr_reader :src, :dest, :url
97
+ def initialize(src, dest, url_base='/')
98
98
  Template.reset_instances!
99
- @src, @dest = src, dest
99
+ @src, @dest, @url = src, dest, url_base
100
100
  layouts = File.join(src, '_layout/')
101
101
  Template.path = layouts
102
+ Template.url_base = url
102
103
  Dir.chdir(layouts) { load './layouts.rb' }
103
104
  super(nil, nil)
104
105
  end
105
106
 
106
- def url
107
- '/'
108
- end
109
107
  end
110
108
 
111
109
  class RegularFile < GenerableFile
@@ -23,6 +23,10 @@ module Razor
23
23
  opt.separator ""
24
24
  opt.separator "Options : "
25
25
 
26
+ opt.on("-u URL-BASE", "--url-base URL-BASE", "Set the local server port") do |url_base|
27
+ @options[:url_base] = url_base
28
+ end
29
+
26
30
  opt.on("-p PORT", "--port PORT", "Set the local server port") do |port|
27
31
  @options[:port] = port
28
32
  end
@@ -69,7 +73,7 @@ module Razor
69
73
  _check_arguments args.size < 3
70
74
  args = ['.', '_site'] if args.empty?
71
75
  args << File.join(args[0], '_site') if args.size==1
72
- Razor.generate *args
76
+ Razor.generate(@options, *args)
73
77
  end
74
78
 
75
79
  def server(url=nil)
@@ -41,6 +41,14 @@ module Razor
41
41
  def path=(path)
42
42
  @@path = path
43
43
  end
44
+
45
+ def url_base
46
+ @@url_base
47
+ end
48
+
49
+ def url_base=(url_base)
50
+ @@url_base = url_base
51
+ end
44
52
 
45
53
  def get_extension
46
54
  if superclass.respond_to? :get_extension
@@ -129,6 +137,10 @@ module Razor
129
137
  @templatefile.url
130
138
  end
131
139
 
140
+ def url_base
141
+ self.class.url_base
142
+ end
143
+
132
144
  def field(name, value)
133
145
  (class<<self; self; end).class_eval { attr name }
134
146
  instance_variable_set("@#{name}", value)
@@ -1,3 +1,3 @@
1
1
  module Razor
2
- Version = '0.4.0'
2
+ Version = '0.4.1'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: razor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: commander
17
- requirement: &18858180 !ruby/object:Gem::Requirement
17
+ requirement: &8380120 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '4'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *18858180
25
+ version_requirements: *8380120
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: mustache
28
- requirement: &18857660 !ruby/object:Gem::Requirement
28
+ requirement: &8379600 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *18857660
36
+ version_requirements: *8379600
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: rack
39
- requirement: &18857180 !ruby/object:Gem::Requirement
39
+ requirement: &8379120 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,7 +44,7 @@ dependencies:
44
44
  version: '0'
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *18857180
47
+ version_requirements: *8379120
48
48
  description: ! '''Razor is a static website generator. Describe layouts and pages
49
49
  in ruby. Write them with html and Mustache.
50
50