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.
- data/lib/razor.rb +5 -2
- data/lib/razor/generable.rb +4 -6
- data/lib/razor/runner.rb +5 -1
- data/lib/razor/template.rb +12 -0
- data/lib/version.rb +1 -1
- metadata +7 -7
data/lib/razor.rb
CHANGED
@@ -15,8 +15,11 @@ module Razor
|
|
15
15
|
Dir.mkdir name
|
16
16
|
end
|
17
17
|
|
18
|
-
def self.generate(
|
19
|
-
|
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
|
data/lib/razor/generable.rb
CHANGED
@@ -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
|
data/lib/razor/runner.rb
CHANGED
@@ -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)
|
data/lib/razor/template.rb
CHANGED
@@ -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)
|
data/lib/version.rb
CHANGED
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.
|
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: &
|
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: *
|
25
|
+
version_requirements: *8380120
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: mustache
|
28
|
-
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: *
|
36
|
+
version_requirements: *8379600
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: rack
|
39
|
-
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: *
|
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
|
|