mirror of
https://github.com/jekyll/jekyll.git
synced 2026-01-25 06:48:18 -05:00
Reduce array traversal in Jekyll::Reader (#7157)
Merge pull request 7157
This commit is contained in:
@@ -39,13 +39,21 @@ module Jekyll
|
||||
|
||||
return unless File.directory?(base)
|
||||
|
||||
dot_dirs = []
|
||||
dot_pages = []
|
||||
dot_static_files = []
|
||||
|
||||
dot = Dir.chdir(base) { filter_entries(Dir.entries("."), base) }
|
||||
dot_dirs = dot.select { |file| File.directory?(@site.in_source_dir(base, file)) }
|
||||
dot_files = (dot - dot_dirs)
|
||||
dot_pages = dot_files.select do |file|
|
||||
Utils.has_yaml_header?(@site.in_source_dir(base, file))
|
||||
dot.each do |entry|
|
||||
file_path = @site.in_source_dir(base, entry)
|
||||
if File.directory?(file_path)
|
||||
dot_dirs << entry
|
||||
elsif Utils.has_yaml_header?(file_path)
|
||||
dot_pages << entry
|
||||
else
|
||||
dot_static_files << entry
|
||||
end
|
||||
end
|
||||
dot_static_files = dot_files - dot_pages
|
||||
|
||||
retrieve_posts(dir)
|
||||
retrieve_dirs(base, dir, dot_dirs)
|
||||
|
||||
Reference in New Issue
Block a user