module Jekyll::Favicon::Configuration

Favicon configuration

Public Class Methods

from_defaults() click to toggle source
# File lib/jekyll/favicon/configuration.rb, line 22
def self.from_defaults
  Favicon.defaults
end
from_user(site) click to toggle source
# File lib/jekyll/favicon/configuration.rb, line 18
def self.from_user(site)
  site&.config&.fetch "favicon", {}
end
merged(site) click to toggle source
# File lib/jekyll/favicon/configuration.rb, line 9
def self.merged(site)
  return from_defaults unless (user_overrides = from_user site)

  user_overrides = unlegacify user_overrides
  user_merged = Jekyll::Utils.deep_merge_hashes from_defaults,
    user_overrides
  standardize user_merged
end
standardize(config) click to toggle source
# File lib/jekyll/favicon/configuration.rb, line 26
def self.standardize(config)
  return unless config

  config.merge "source" => standardize_source(config["source"])
end
standardize_pathname(*paths) click to toggle source
# File lib/jekyll/favicon/configuration.rb, line 57
def self.standardize_pathname(*paths)
  Pathname.new(File.join(*paths.compact)).cleanpath.to_s
end

Private Class Methods

standardize_source(source) click to toggle source
# File lib/jekyll/favicon/configuration.rb, line 32
def self.standardize_source(source)
  case source
  when String then standardize_source_string source
  when Hash then standardize_source_hash source
  end
end
standardize_source_hash(source) click to toggle source
# File lib/jekyll/favicon/configuration.rb, line 48
def self.standardize_source_hash(source)
  name_dir, name = File.split source["name"]
  dir = source["dir"]
  source_dir = dir && !dir.empty? ? dir : nil
  {"name" => name, "dir" => standardize_pathname(source_dir, name_dir)}
end
standardize_source_string(source) click to toggle source
# File lib/jekyll/favicon/configuration.rb, line 41
def self.standardize_source_string(source)
  dir, name = File.split source
  {"name" => name, "dir" => dir}
end
unlegacify(config) click to toggle source
# File lib/jekyll/favicon/configuration.rb, line 63
def self.unlegacify(config)
  options = config.slice "source", "dir", "background", "assets"
  path = options["path"]
  options["dir"] ||= path if path
  options
end