lib/jekyll/page.rb in jekyll-2.0.0.alpha.1 vs lib/jekyll/page.rb in jekyll-2.0.0.alpha.2
- old
+ new
@@ -26,12 +26,12 @@
@site = site
@base = base
@dir = dir
@name = name
- self.process(name)
- self.read_yaml(File.join(base, dir), name)
+ process(name)
+ read_yaml(File.join(base, dir), name)
end
# The generated directory into which the page will be placed
# upon generation. This is derived from the permalink or, if
# permalink is absent, we be '/'
@@ -44,23 +44,23 @@
# The full path and filename of the post. Defined in the YAML of the post
# body.
#
# Returns the String permalink or nil if none has been set.
def permalink
- return nil if self.data.nil? || self.data['permalink'].nil?
+ return nil if data.nil? || data['permalink'].nil?
if site.config['relative_permalinks']
- File.join(@dir, self.data['permalink'])
+ File.join(@dir, data['permalink'])
else
- self.data['permalink']
+ data['permalink']
end
end
# The template of the permalink.
#
# Returns the template String.
def template
- if self.site.permalink_style == :pretty
+ if site.permalink_style == :pretty
if index? && html?
"/:path/"
elsif html?
"/:path/:basename/"
else
@@ -85,45 +85,45 @@
# Returns a hash of URL placeholder names (as symbols) mapping to the
# desired placeholder replacements. For details see "url.rb"
def url_placeholders
{
:path => @dir,
- :basename => self.basename,
- :output_ext => self.output_ext
+ :basename => basename,
+ :output_ext => output_ext
}
end
# Extract information from the page filename.
#
# name - The String filename of the page file.
#
# Returns nothing.
def process(name)
self.ext = File.extname(name)
- self.basename = name[0 .. -self.ext.length-1]
+ self.basename = name[0 .. -ext.length - 1]
end
# Add any necessary layouts to this post
#
# layouts - The Hash of {"name" => "layout"}.
# site_payload - The site payload Hash.
#
# Returns nothing.
def render(layouts, site_payload)
- payload = {
- "page" => self.to_liquid,
+ payload = Utils.deep_merge_hashes({
+ "page" => to_liquid,
'paginator' => pager.to_liquid
- }.deep_merge(site_payload)
+ }, site_payload)
do_layout(payload, layouts)
end
# The path to the source file
#
# Returns the path to the source file
def path
- self.data.fetch('path', self.relative_path.sub(/\A\//, ''))
+ data.fetch('path', relative_path.sub(/\A\//, ''))
end
# The path to the page source file, relative to the site source
def relative_path
File.join(*[@dir, @name].map(&:to_s).reject(&:empty?))
@@ -133,18 +133,18 @@
#
# dest - The String path to the destination dir.
#
# Returns the destination file path String.
def destination(dest)
- path = File.join(dest, self.url)
- path = File.join(path, "index.html") if self.url =~ /\/$/
+ path = Jekyll.sanitized_path(dest, url)
+ path = File.join(path, "index.html") if url =~ /\/$/
path
end
# Returns the object as a debug String.
def inspect
- "#<Jekyll:Page @name=#{self.name.inspect}>"
+ "#<Jekyll:Page @name=#{name.inspect}>"
end
# Returns the Boolean of whether this Page is HTML or not.
def html?
output_ext == '.html'
@@ -154,9 +154,9 @@
def index?
basename == 'index'
end
def uses_relative_permalinks
- permalink && @dir != "" && site.config['relative_permalinks']
+ permalink && !@dir.empty? && site.config['relative_permalinks']
end
end
end