class Jekyll::LayoutReader
Attributes
site[R]
Public Class Methods
new(site)
click to toggle source
# File lib/ngage/jekyll/readers/layout_reader.rb, line 6 def initialize(site) @site = site @layouts = {} end
Public Instance Methods
layout_directory()
click to toggle source
# File lib/ngage/jekyll/readers/layout_reader.rb, line 25 def layout_directory @layout_directory ||= (layout_directory_in_cwd || layout_directory_inside_source) end
read()
click to toggle source
# File lib/ngage/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_directory()
click to toggle source
# File lib/ngage/jekyll/readers/layout_reader.rb, line 29 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/ngage/jekyll/readers/layout_reader.rb, line 43 def entries_in(dir) entries = [] within(dir) do entries = EntryFilter.new(site).filter(Dir["**/*.*"]) end entries end
layout_directory_in_cwd()
click to toggle source
# File lib/ngage/jekyll/readers/layout_reader.rb, line 65 def layout_directory_in_cwd dir = Jekyll.sanitized_path(Dir.pwd, site.config["layouts_dir"]) dir if File.directory?(dir) && !site.safe end
layout_directory_inside_source()
click to toggle source
# File lib/ngage/jekyll/readers/layout_reader.rb, line 61 def layout_directory_inside_source site.in_source_dir(site.config["layouts_dir"]) end
layout_entries()
click to toggle source
# File lib/ngage/jekyll/readers/layout_reader.rb, line 35 def layout_entries entries_in layout_directory end
layout_name(file)
click to toggle source
# File lib/ngage/jekyll/readers/layout_reader.rb, line 51 def layout_name(file) file.split(".")[0..-2].join(".") end
theme_layout_entries()
click to toggle source
# File lib/ngage/jekyll/readers/layout_reader.rb, line 39 def theme_layout_entries theme_layout_directory ? entries_in(theme_layout_directory) : [] end
within(directory) { || ... }
click to toggle source
# File lib/ngage/jekyll/readers/layout_reader.rb, line 55 def within(directory) return unless File.exist?(directory) Dir.chdir(directory) { yield } end