class Lookbook::PageCollection

def self.entity(file_path)

def self.entity(file_path)
  File.basename(file_path).match?(%r{\[(.*?\w+)\]}) ? PageSection.new(file_path) : Page.new(file_path)
end

def load(page_paths)

def load(page_paths)
  @entities = []
  clear_cache
  file_paths = page_paths.flat_map do |dir|
    PathUtils.normalize_paths(Dir["#{dir}/**/*.html.*", "#{dir}/**/*.md.*"].sort)
  end
  entities = file_paths.map { |path| PageCollection.entity(path) }
  pages, sections = entities.partition { |page| page.type == :page }
  page_dict = pages.index_by(&:lookup_path)
  sections.each do |section|
    parent = page_dict[section.lookup_path]
    section.parent = parent
    parent.add_section(section)
  end
  add(pages)
end