class Guard::JekyllPlus::Config
Constants
- EXTS
Attributes
destination[R]
extensions[R]
jekyll_config[R]
jekyll_serve_options[R]
server_root[R]
Public Class Methods
new(options)
click to toggle source
# File lib/guard/jekyll_plus/config.rb, line 8 def initialize(options) @options = { extensions: [], config: ['_config.yml'], serve: false, rack_config: nil, drafts: false, future: false, config_hash: nil, silent: false, msg_prefix: 'Jekyll ' }.merge(options) @jekyll_config = load_config(@options) @source = local_path(@jekyll_config['source']) @destination = local_path(@jekyll_config['destination']) @msg_prefix = @options[:msg_prefix] # Convert array of extensions into a regex for matching file extensions # eg, /\.md$|\.markdown$|\.html$/i # extensions = @options[:extensions].concat(EXTS).flatten.uniq extensions.map! { |e| Regexp.quote(e.sub(/^\./, '')) } @extensions = /\.(?:#{extensions.join('|')})$/i end
Public Instance Methods
baseurl()
click to toggle source
# File lib/guard/jekyll_plus/config.rb, line 71 def baseurl @jekyll_config['baseurl'] end
config_file?(file)
click to toggle source
# File lib/guard/jekyll_plus/config.rb, line 43 def config_file?(file) @options[:config].include?(file) end
error(msg)
click to toggle source
# File lib/guard/jekyll_plus/config.rb, line 55 def error(msg) Compat::UI.error(@msg_prefix + msg) end
excluded?(path)
click to toggle source
# File lib/guard/jekyll_plus/config.rb, line 90 def excluded?(path) @jekyll_config['exclude'].any? { |glob| File.fnmatch?(glob, path) } end
host()
click to toggle source
# File lib/guard/jekyll_plus/config.rb, line 67 def host @jekyll_config['host'] end
info(msg)
click to toggle source
# File lib/guard/jekyll_plus/config.rb, line 51 def info(msg) Compat::UI.info(@msg_prefix + msg) unless silent? end
port()
click to toggle source
# File lib/guard/jekyll_plus/config.rb, line 75 def port @jekyll_config['port'] end
rack_config()
click to toggle source
# File lib/guard/jekyll_plus/config.rb, line 79 def rack_config @options[:rack_config] end
rack_environment()
click to toggle source
# File lib/guard/jekyll_plus/config.rb, line 83 def rack_environment silent? ? nil : 'development' end
reload()
click to toggle source
# File lib/guard/jekyll_plus/config.rb, line 47 def reload @jekyll_config = load_config(@options) end
serve?()
click to toggle source
# File lib/guard/jekyll_plus/config.rb, line 63 def serve? @options[:serve] end
server_options()
click to toggle source
# File lib/guard/jekyll_plus/config.rb, line 39 def server_options jekyll_config end
source()
click to toggle source
# File lib/guard/jekyll_plus/config.rb, line 59 def source @jekyll_config['source'] end
watch_regexp()
click to toggle source
# File lib/guard/jekyll_plus/config.rb, line 94 def watch_regexp %r{^(?!#{destination}\/).*} end
Private Instance Methods
jekyllize_options(options)
click to toggle source
# File lib/guard/jekyll_plus/config.rb, line 113 def jekyllize_options(options) opts = options.dup return opts[:config_hash] if opts[:config_hash] return opts unless opts[:config] opts[:config] = [opts[:config]] unless opts[:config].is_a? Array opts end
load_config(options)
click to toggle source
# File lib/guard/jekyll_plus/config.rb, line 104 def load_config(options) config = ::Jekyll.configuration(jekyllize_options(options)) # Override configuration with guard option values config['show_drafts'] = options[:drafts] config['future'] = options[:future] config end
local_path(path)
click to toggle source
# File lib/guard/jekyll_plus/config.rb, line 121 def local_path(path) # TODO: what is this for? Dir.chdir('.') current = Dir.pwd path = path.sub current, '' if path == '' './' else path.sub(%r{^/}, '') end end
silent?()
click to toggle source
# File lib/guard/jekyll_plus/config.rb, line 100 def silent? @options[:silent] || @options['silent'] end