Method: JekyllThemeGuidesMbland::GeneratedNodes.create_homes_for_orphans

Defined in:
lib/jekyll-theme-guides-mbland/generated_nodes.rb

.create_homes_for_orphans(url_to_nav, nav_data) ⇒ Object

Params:

url_to_nav: Mapping from original document URL to "nav item" objects,
  i.e. { 'text' => '...', 'url' => '...', 'internal' => true }
nav_data: Array of nav item objects contained in `url_to_nav` after
  applying updates, possibly containing "orphan" items marked with an
  `:orphan_url` property

Returns:

nav_data with orphans properly nested within automatically-generated
  parent nodes marked with `'generated' => true`


13
14
15
16
17
18
# File 'lib/jekyll-theme-guides-mbland/generated_nodes.rb', line 13

def self.create_homes_for_orphans(url_to_nav, nav_data)
  orphans = nav_data.select { |nav| nav[:orphan_url] }
  orphans.each { |nav| create_home_for_orphan(nav, nav_data, url_to_nav) }
  nav_data.reject! { |nav| nav[:orphan_url] }
  prune_childless_parents(nav_data)
end