Class: Jekyll::LayoutReader

Inherits:
Object
  • Object
show all
Defined in:
lib/jekyll/readers/layout_reader.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(site) ⇒ LayoutReader

Returns a new instance of LayoutReader.



6
7
8
9
# File 'lib/jekyll/readers/layout_reader.rb', line 6

def initialize(site)
  @site = site
  @layouts = {}
end

Instance Attribute Details

#siteObject (readonly)

Returns the value of attribute site.



5
6
7
# File 'lib/jekyll/readers/layout_reader.rb', line 5

def site
  @site
end

Instance Method Details

#layout_directoryObject



25
26
27
# File 'lib/jekyll/readers/layout_reader.rb', line 25

def layout_directory
  @layout_directory ||= (layout_directory_in_cwd || layout_directory_inside_source)
end

#readObject



11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/jekyll/readers/layout_reader.rb', line 11

def read
  layout_entries.each do |layout_file|
    @layouts[layout_name(layout_file)] = \
      Layout.new(site, layout_directory, layout_file)
  end

  theme_layout_entries.each do |layout_file|
    @layouts[layout_name(layout_file)] ||= \
      Layout.new(site, theme_layout_directory, layout_file)
  end

  @layouts
end

#theme_layout_directoryObject



29
30
31
# File 'lib/jekyll/readers/layout_reader.rb', line 29

def theme_layout_directory
  @theme_layout_directory ||= site.theme.layouts_path if site.theme
end