LayoutReader#read: read in Theme layouts if they aren't already registered
This commit is contained in:
parent
a30068bf3f
commit
0920d2b48a
|
@ -7,8 +7,12 @@ module Jekyll
|
|||
end
|
||||
|
||||
def read
|
||||
layout_entries.each do |f|
|
||||
@layouts[layout_name(f)] = Layout.new(site, layout_directory, f)
|
||||
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
|
||||
|
@ -18,11 +22,23 @@ module Jekyll
|
|||
@layout_directory ||= (layout_directory_in_cwd || layout_directory_inside_source)
|
||||
end
|
||||
|
||||
def theme_layout_directory
|
||||
@theme_layout_directory ||= site.theme.layout_dir if site.theme
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def layout_entries
|
||||
entries_in layout_directory
|
||||
end
|
||||
|
||||
def theme_layout_entries
|
||||
theme_layout_directory ? entries_in(theme_layout_directory) : []
|
||||
end
|
||||
|
||||
def entries_in(dir)
|
||||
entries = []
|
||||
within(layout_directory) do
|
||||
within(dir) do
|
||||
entries = EntryFilter.new(site).filter(Dir['**/*.*'])
|
||||
end
|
||||
entries
|
||||
|
|
Loading…
Reference in New Issue