razor 0.4.0 → 0.4.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.
@@ -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