class Jekyll::LayoutReader
Attributes
site[R]
Public Class Methods
new(site)
click to toggle source
# File lib/jekyll/readers/layout_reader.rb, line 7 def initialize(site) @site = site @layouts = {} end
Public Instance Methods
layout_directory()
click to toggle source
# File lib/jekyll/readers/layout_reader.rb, line 26 def layout_directory @layout_directory ||= site.in_source_dir(site.config["layouts_dir"]) end
read()
click to toggle source
# File lib/jekyll/readers/layout_reader.rb, line 12 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_directory()
click to toggle source
# File lib/jekyll/readers/layout_reader.rb, line 30 def theme_layout_directory @theme_layout_directory ||= site.theme.layouts_path if site.theme end
Private Instance Methods
entries_in(dir)
click to toggle source
# File lib/jekyll/readers/layout_reader.rb, line 44 def entries_in(dir) entries = [] within(dir) do entries = EntryFilter.new(site).filter(Dir["**/*.*"]) end entries end
layout_entries()
click to toggle source
# File lib/jekyll/readers/layout_reader.rb, line 36 def layout_entries entries_in layout_directory end
layout_name(file)
click to toggle source
# File lib/jekyll/readers/layout_reader.rb, line 52 def layout_name(file) file.split(".")[0..-2].join(".") end
theme_layout_entries()
click to toggle source
# File lib/jekyll/readers/layout_reader.rb, line 40 def theme_layout_entries theme_layout_directory ? entries_in(theme_layout_directory) : [] end
within(directory) { || ... }
click to toggle source
# File lib/jekyll/readers/layout_reader.rb, line 56 def within(directory) return unless File.exist?(directory) Dir.chdir(directory) { yield } end