class OdaniaStaticPages::Config::Generator::Jekyll

Attributes

common_folder[R]
encoding[R]
extra_options[R]
gem_extra[R]
nginx_default_redirect[R]
plugins[R]

Public Class Methods

from_hash(project_dir, data) click to toggle source
# File lib/odania_static_pages/config/generator/jekyll.rb, line 27
def self.from_hash(project_dir, data)
        Jekyll.new project_dir, data
end
new(project_dir, options) click to toggle source
# File lib/odania_static_pages/config/generator/jekyll.rb, line 7
def initialize(project_dir, options)
        @plugins = options['plugins'] || %w(jekyll-feed octopress-image-tag octopress-gist)
        @encoding = options['encoding'] || 'utf-8'
        @common_folder = options['common_folder'] || 'common'
        @extra_options = options['extra_options'] || {}
        @gem_extra = options['gem_extra'] || ''
        @project_dir = project_dir
        @nginx_default_redirect = options['nginx_default_redirect'] || 'https://www.odania-it.com'
end

Public Instance Methods

full_common_folder() click to toggle source
# File lib/odania_static_pages/config/generator/jekyll.rb, line 63
def full_common_folder
        File.join(@project_dir, @common_folder)
end
jekyll_config() click to toggle source
# File lib/odania_static_pages/config/generator/jekyll.rb, line 84
def jekyll_config
        return YAML.load_file jekyll_config_file if File.exist? jekyll_config_file
        {}
end
jekyll_config_file() click to toggle source
# File lib/odania_static_pages/config/generator/jekyll.rb, line 80
def jekyll_config_file
        File.join(@project_dir, '_jekyll_config.yml')
end
page_path(page_config) click to toggle source
# File lib/odania_static_pages/config/generator/jekyll.rb, line 75
def page_path(page_config)
        uri = URI.parse(page_config['url'])
        uri.host
end
pages_dir() click to toggle source
# File lib/odania_static_pages/config/generator/jekyll.rb, line 71
def pages_dir
        File.join(@project_dir, 'pages')
end
prepare_config(cfg) click to toggle source
# File lib/odania_static_pages/config/generator/jekyll.rb, line 31
def prepare_config(cfg)
        page_config = cfg.clone
        page_config['plugins'] = @plugins
        page_config['encoding'] = @encoding
        @extra_options.merge page_config
end
template_pages_dir() click to toggle source
# File lib/odania_static_pages/config/generator/jekyll.rb, line 67
def template_pages_dir
        File.join(full_common_folder, '_pages')
end
to_h() click to toggle source
# File lib/odania_static_pages/config/generator/jekyll.rb, line 17
def to_h
        {
                plugins: @plugins,
                encoding: @encoding,
                common_folder: @common_folder,
                extra_options: @extra_options,
                gem_extra: @gem_extra
        }.stringify_keys!
end

Private Instance Methods

common_subfolders() click to toggle source
# File lib/odania_static_pages/config/generator/jekyll.rb, line 98
def common_subfolders
        %w(_affiliate _i18n _layouts _themes)
end