Class: Jekyll::AwesomeNav::Config
- Inherits:
-
Object
- Object
- Jekyll::AwesomeNav::Config
- Defined in:
- lib/jekyll/awesome_nav/config.rb
Constant Summary collapse
- DEFAULTS =
{ "enabled" => true, "root" => "docs", "nav_filename" => ".nav.yml", "ignore" => ["assets/**"], "include" => ["**/*.md", "**/*.html", "**/*.htm"] }.freeze
Instance Method Summary collapse
- #enabled? ⇒ Boolean
- #ignore_patterns ⇒ Object
- #include_patterns ⇒ Object
-
#initialize(raw_config) ⇒ Config
constructor
A new instance of Config.
- #nav_filename ⇒ Object
- #root_dir ⇒ Object
Constructor Details
#initialize(raw_config) ⇒ Config
Returns a new instance of Config.
14 15 16 17 18 |
# File 'lib/jekyll/awesome_nav/config.rb', line 14 def initialize(raw_config) raise Error, "awesome_nav config must be a mapping" unless raw_config.nil? || raw_config.is_a?(Hash) @data = DEFAULTS.merge(raw_config || {}) end |
Instance Method Details
#enabled? ⇒ Boolean
20 21 22 |
# File 'lib/jekyll/awesome_nav/config.rb', line 20 def enabled? @data["enabled"] end |
#ignore_patterns ⇒ Object
32 33 34 35 36 37 |
# File 'lib/jekyll/awesome_nav/config.rb', line 32 def ignore_patterns value = @data["ignore"] return [] if value.nil? Array(value).map { |pattern| Utils.normalize_dir(pattern.to_s) }.reject(&:empty?) end |
#include_patterns ⇒ Object
39 40 41 42 43 44 45 |
# File 'lib/jekyll/awesome_nav/config.rb', line 39 def include_patterns value = @data["include"] return nil if value.nil? patterns = Array(value).map { |pattern| Utils.normalize_dir(pattern.to_s) }.reject(&:empty?) patterns.empty? ? nil : patterns end |
#nav_filename ⇒ Object
28 29 30 |
# File 'lib/jekyll/awesome_nav/config.rb', line 28 def nav_filename @data["nav_filename"].to_s end |
#root_dir ⇒ Object
24 25 26 |
# File 'lib/jekyll/awesome_nav/config.rb', line 24 def root_dir Utils.normalize_dir(@data["root"]) end |