hydeweb 0.0.8.pre1 → 0.0.8.pre2
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/CHANGELOG +3 -0
- data/VERSION +1 -1
- data/hydeweb.gemspec +1 -1
- data/lib/hyde/meta.rb +4 -2
- data/lib/hyde/page.rb +18 -6
- metadata +3 -3
data/CHANGELOG
CHANGED
@@ -5,6 +5,9 @@ v0.0.8
|
|
5
5
|
- Implement Project#all.
|
6
6
|
- Implement Page#all and Page#all(type).
|
7
7
|
- Fix binary files losing extensions on 'hyde build'.
|
8
|
+
- Allow "layout: false" to ensure that a page doesn't have a layout.
|
9
|
+
- Fix bug where "index.html.haml" and "index.rss.haml" clash.
|
10
|
+
- Implement Page#content.
|
8
11
|
|
9
12
|
v0.0.7
|
10
13
|
------
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.8.
|
1
|
+
0.0.8.pre2
|
data/hydeweb.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{hydeweb}
|
8
|
-
s.version = "0.0.8.
|
8
|
+
s.version = "0.0.8.pre2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Rico Sta. Cruz", "Sinefunc, Inc."]
|
data/lib/hyde/meta.rb
CHANGED
@@ -14,8 +14,10 @@ module Hyde
|
|
14
14
|
|
15
15
|
def layout=(value)
|
16
16
|
super value
|
17
|
-
|
18
|
-
|
17
|
+
if value.is_a?(String)
|
18
|
+
@page.layout = @page.project[value, :Layout]
|
19
|
+
@page.layout.referrer = (page.referrer || page)
|
20
|
+
end
|
19
21
|
end
|
20
22
|
end
|
21
23
|
end
|
data/lib/hyde/page.rb
CHANGED
@@ -37,20 +37,23 @@ module Hyde
|
|
37
37
|
|
38
38
|
# Returns the rendered output.
|
39
39
|
def render(data = {}, &block)
|
40
|
-
|
41
|
-
data
|
42
|
-
output = @renderer.render(data, &block)
|
43
|
-
output = layout.render(data) { output } unless layout.nil?
|
40
|
+
output = content(data, &block)
|
41
|
+
output = layout.render(get_data(data)) { output } unless layout.nil?
|
44
42
|
output
|
45
43
|
end
|
46
44
|
|
45
|
+
# Returns the HTML content.
|
46
|
+
def content(data = {}, &block)
|
47
|
+
@renderer.render(get_data(data), &block)
|
48
|
+
end
|
49
|
+
|
47
50
|
def layout=(val)
|
48
51
|
@layout = val
|
49
52
|
end
|
50
53
|
|
51
54
|
def layout
|
52
55
|
begin
|
53
|
-
@layout ||= project[DEFAULT_LAYOUT, :Layout] if !@renderer.nil? and @renderer.layoutable?
|
56
|
+
@layout ||= project[DEFAULT_LAYOUT, :Layout] if !@renderer.nil? and @renderer.layoutable? and meta.layout != false
|
54
57
|
@layout
|
55
58
|
rescue NotFound
|
56
59
|
nil
|
@@ -73,7 +76,7 @@ module Hyde
|
|
73
76
|
if renderer.is_a?(Renderer::Passthru)
|
74
77
|
'/' + @name
|
75
78
|
else
|
76
|
-
url = File.
|
79
|
+
url = [ File.dirname(@name), File.basename(@filename) ]
|
77
80
|
url[1] = File.basename(url[1], '.*')
|
78
81
|
url[1] = (url[1] + @renderer.default_ext) unless url[1].include?('.')
|
79
82
|
'/' + url.join('/')
|
@@ -193,5 +196,14 @@ module Hyde
|
|
193
196
|
def self.get_filename(path, project)
|
194
197
|
project.root(:site, path)
|
195
198
|
end
|
199
|
+
|
200
|
+
private
|
201
|
+
|
202
|
+
# Data for rendering
|
203
|
+
def get_data(data)
|
204
|
+
data = @meta | data
|
205
|
+
data[:page] ||= self
|
206
|
+
data
|
207
|
+
end
|
196
208
|
end
|
197
209
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hydeweb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: -
|
4
|
+
hash: -1876988223
|
5
5
|
prerelease: true
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
9
|
- 8
|
10
|
-
-
|
11
|
-
version: 0.0.8.
|
10
|
+
- pre2
|
11
|
+
version: 0.0.8.pre2
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Rico Sta. Cruz
|