class Jekyll::Layout
Attributes
content[RW]
Gets/Sets the content of this layout.
data[RW]
Gets/Sets the Hash that holds the metadata for this layout.
ext[RW]
Gets/Sets the extension of this layout.
name[R]
Gets the name of this layout.
path[R]
Gets the path to this layout.
relative_path[R]
Gets the path to this layout relative to its base
site[R]
Gets the Site object.
Public Class Methods
new(site, base, name)
click to toggle source
Initialize a new Layout.
site - The Site. base - The String path to the source. name - The String filename of the post file.
# File lib/jekyll/layout.rb, line 31 def initialize(site, base, name) @site = site @base = base @name = name if site.theme && site.theme.layouts_path.eql?(base) @base_dir = site.theme.root @path = site.in_theme_dir(base, name) else @base_dir = site.source @path = site.in_source_dir(base, name) end @relative_path = @path.sub(@base_dir, "") self.data = {} process(name) read_yaml(base, name) end
Public Instance Methods
process(name)
click to toggle source
Extract information from the layout filename.
name - The String filename of the layout file.
Returns nothing.
# File lib/jekyll/layout.rb, line 56 def process(name) self.ext = File.extname(name) end