Class: Jekyll::AwesomeNav::NavFileLoader

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

Constant Summary collapse

OPTION_KEYS =
%w[append_unmatched hide ignore sort].freeze

Instance Method Summary collapse

Constructor Details

#initialize(site:, config:) ⇒ NavFileLoader

Returns a new instance of NavFileLoader.



10
11
12
13
14
# File 'lib/jekyll/awesome_nav/nav_file_loader.rb', line 10

def initialize(site:, config:)
  @site = site
  @config = config
  @page_urls_by_path = build_page_url_index
end

Instance Method Details

#loadObject



16
17
18
19
20
21
22
23
24
# File 'lib/jekyll/awesome_nav/nav_file_loader.rb', line 16

def load
  pattern = File.join(@site.source, @config.root_dir, "**", @config.nav_filename)

  Dir.glob(pattern).each_with_object({}) do |file, memo|
    dir = Utils.normalize_dir(Utils.relative_dir(@site.source, File.dirname(file)))
    items = load_file(file, dir)
    memo[dir] = items if items
  end
end