Class: Jekyll::AwesomeNav::NavigationResult
- Inherits:
-
Object
- Object
- Jekyll::AwesomeNav::NavigationResult
- Defined in:
- lib/jekyll/awesome_nav/navigation_result.rb
Instance Method Summary collapse
- #annotated_tree_for(page_url) ⇒ Object
- #breadcrumbs_for(page) ⇒ Object
-
#initialize(tree:, root_dir:, root_page:, nav_map:) ⇒ NavigationResult
constructor
A new instance of NavigationResult.
- #local_nav_for(page_dir) ⇒ Object
- #nav_dir_for(page_dir) ⇒ Object
- #nav_entry_for(page_url) ⇒ Object
- #serialized_local_nav_map ⇒ Object
- #serialized_nav_files ⇒ Object
- #serialized_tree ⇒ Object
Constructor Details
#initialize(tree:, root_dir:, root_page:, nav_map:) ⇒ NavigationResult
Returns a new instance of NavigationResult.
6 7 8 9 10 11 |
# File 'lib/jekyll/awesome_nav/navigation_result.rb', line 6 def initialize(tree:, root_dir:, root_page:, nav_map:) @tree = tree @root_dir = root_dir @root_page = root_page @nav_map = nav_map end |
Instance Method Details
#annotated_tree_for(page_url) ⇒ Object
17 18 19 |
# File 'lib/jekyll/awesome_nav/navigation_result.rb', line 17 def annotated_tree_for(page_url) annotate_current(serialized_tree, Utils.normalize_url(page_url)).first end |
#breadcrumbs_for(page) ⇒ Object
47 48 49 50 51 52 53 54 55 56 |
# File 'lib/jekyll/awesome_nav/navigation_result.rb', line 47 def (page) page_url = Utils.normalize_url(page.url) trail = find_trail(internal_serialized_tree, page_url) return (page) if trail.nil? && Utils.source_dir_for(page) == @root_dir && Utils.index_page?(page) return [] unless trail = trail.filter_map { |item| (item) } () end |
#local_nav_for(page_dir) ⇒ Object
29 30 31 |
# File 'lib/jekyll/awesome_nav/navigation_result.rb', line 29 def local_nav_for(page_dir) serialized_local_nav_map.fetch(page_dir, []) end |
#nav_dir_for(page_dir) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/jekyll/awesome_nav/navigation_result.rb', line 33 def nav_dir_for(page_dir) current = page_dir loop do return current if @nav_map.key?(current) return @root_dir if current == @root_dir break if current.empty? current = Utils.parent_dir(current) end @root_dir end |
#nav_entry_for(page_url) ⇒ Object
58 59 60 |
# File 'lib/jekyll/awesome_nav/navigation_result.rb', line 58 def nav_entry_for(page_url) neighbor_map[page_url] end |
#serialized_local_nav_map ⇒ Object
21 22 23 |
# File 'lib/jekyll/awesome_nav/navigation_result.rb', line 21 def serialized_local_nav_map @serialized_local_nav_map ||= Serializer.serialize_map(local_nav_nodes) end |
#serialized_nav_files ⇒ Object
25 26 27 |
# File 'lib/jekyll/awesome_nav/navigation_result.rb', line 25 def serialized_nav_files @serialized_nav_files ||= Serializer.serialize_map(@nav_map) end |
#serialized_tree ⇒ Object
13 14 15 |
# File 'lib/jekyll/awesome_nav/navigation_result.rb', line 13 def serialized_tree @serialized_tree ||= Serializer.serialize_tree(@tree) end |