Class: Jekyll::AwesomeNav::TreeBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/jekyll/awesome_nav/tree_builder.rb

Instance Method Summary collapse

Constructor Details

#initialize(pages:, root_dir:) ⇒ TreeBuilder

Returns a new instance of TreeBuilder.



6
7
8
9
# File 'lib/jekyll/awesome_nav/tree_builder.rb', line 6

def initialize(pages:, root_dir:)
  @pages = pages
  @root_dir = root_dir
end

Instance Method Details

#buildObject



11
12
13
14
15
16
# File 'lib/jekyll/awesome_nav/tree_builder.rb', line 11

def build
  root = Node.section(dir: @root_dir)
  @pages.each { |page| add_page(root, page) }
  root.children.sort_by! { |child| sort_key(child) }
  sort_sections(root.children)
end