Class: Jekyll::GeneratorSingleSource::DocNavConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/jekyll/generator-single-source/doc_nav_config.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file_path, site, versions_from_file) ⇒ DocNavConfig

Returns a new instance of DocNavConfig.



8
9
10
11
12
# File 'lib/jekyll/generator-single-source/doc_nav_config.rb', line 8

def initialize(file_path, site, versions_from_file)
  @file_path = file_path
  @site      = site
  @versions_from_file  = versions_from_file
end

Instance Attribute Details

#file_pathObject (readonly)

Returns the value of attribute file_path.



6
7
8
# File 'lib/jekyll/generator-single-source/doc_nav_config.rb', line 6

def file_path
  @file_path
end

#siteObject (readonly)

Returns the value of attribute site.



6
7
8
# File 'lib/jekyll/generator-single-source/doc_nav_config.rb', line 6

def site
  @site
end

Instance Method Details

#assume_generated?Boolean

Returns:

  • (Boolean)


18
19
20
21
# File 'lib/jekyll/generator-single-source/doc_nav_config.rb', line 18

def assume_generated?
  # Assume that the whole file should be treated as generated
  config['assume_generated'].nil? || config['assume_generated']
end

#configObject



47
48
49
50
51
52
53
# File 'lib/jekyll/generator-single-source/doc_nav_config.rb', line 47

def config
  @config ||= begin
                config = NavConfig::Base.process(@file_path)
                Jekyll.logger.debug("generated config: #{config.to_json}")
                config
              end
end

#generate_pagesObject



41
42
43
44
45
# File 'lib/jekyll/generator-single-source/doc_nav_config.rb', line 41

def generate_pages
  return if skip_generation?

  items.map(&:generate_pages)
end

#itemsObject



23
24
25
26
27
# File 'lib/jekyll/generator-single-source/doc_nav_config.rb', line 23

def items
  @items ||= (config.fetch('items', []) + ([config['unlisted']]))
    .flatten.compact
    .map { |i| DocNavItem::Base.make_for(i, self) }
end

#productObject



29
30
31
# File 'lib/jekyll/generator-single-source/doc_nav_config.rb', line 29

def product
  @product ||= config['product']
end

#releaseObject



33
34
35
# File 'lib/jekyll/generator-single-source/doc_nav_config.rb', line 33

def release
  @release ||= config['release']
end

#skip_generation?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/jekyll/generator-single-source/doc_nav_config.rb', line 14

def skip_generation?
  !(config.is_a?(Hash) && config['generate'])
end

#versionsObject



37
38
39
# File 'lib/jekyll/generator-single-source/doc_nav_config.rb', line 37

def versions
  @versions ||= Versions.extract(version)
end