rubocop: fix code style
This commit is contained in:
parent
e97fd34479
commit
06cff8f781
|
@ -14,7 +14,6 @@ AllCops:
|
|||
- lib/jekyll/frontmatter_defaults.rb
|
||||
- lib/jekyll/regenerator.rb
|
||||
- lib/jekyll/renderer.rb
|
||||
- lib/jekyll/site.rb
|
||||
- lib/jekyll/static_file.rb
|
||||
- lib/jekyll/theme.rb
|
||||
- lib/jekyll/url.rb
|
||||
|
@ -34,7 +33,7 @@ Lint/UselessAccessModifier:
|
|||
Metrics/AbcSize:
|
||||
Max: 20
|
||||
Metrics/ClassLength:
|
||||
Max: 240
|
||||
Max: 300
|
||||
Exclude:
|
||||
- !ruby/regexp /features\/.*.rb$/
|
||||
- !ruby/regexp /test\/.*.rb$/
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# encoding: UTF-8
|
||||
require 'csv'
|
||||
require "csv"
|
||||
|
||||
module Jekyll
|
||||
class Site
|
||||
|
@ -18,8 +18,8 @@ module Jekyll
|
|||
# config - A Hash containing site configuration details.
|
||||
def initialize(config)
|
||||
# Source and destination may not be changed after the site has been created.
|
||||
@source = File.expand_path(config['source']).freeze
|
||||
@dest = File.expand_path(config['destination']).freeze
|
||||
@source = File.expand_path(config["source"]).freeze
|
||||
@dest = File.expand_path(config["destination"]).freeze
|
||||
|
||||
self.config = config
|
||||
|
||||
|
@ -49,19 +49,12 @@ module Jekyll
|
|||
self.send("#{opt}=", config[opt])
|
||||
end
|
||||
|
||||
self.plugin_manager = Jekyll::PluginManager.new(self)
|
||||
self.plugins = plugin_manager.plugins_path
|
||||
configure_plugins
|
||||
configure_theme
|
||||
configure_include_paths
|
||||
configure_file_read_opts
|
||||
|
||||
self.theme = nil
|
||||
self.theme = Jekyll::Theme.new(config["theme"]) if config["theme"]
|
||||
|
||||
@includes_load_paths = Array(in_source_dir(config["includes_dir"].to_s))
|
||||
@includes_load_paths << theme.includes_path if self.theme
|
||||
|
||||
self.file_read_opts = {}
|
||||
self.file_read_opts[:encoding] = config['encoding'] if config['encoding']
|
||||
|
||||
self.permalink_style = config['permalink'].to_sym
|
||||
self.permalink_style = config["permalink"].to_sym
|
||||
|
||||
@config
|
||||
end
|
||||
|
@ -80,7 +73,7 @@ module Jekyll
|
|||
end
|
||||
|
||||
def print_stats
|
||||
if @config['profile']
|
||||
if @config["profile"]
|
||||
puts @liquid_renderer.stats_table
|
||||
end
|
||||
end
|
||||
|
@ -89,7 +82,11 @@ module Jekyll
|
|||
#
|
||||
# Returns nothing
|
||||
def reset
|
||||
self.time = (config['time'] ? Utils.parse_date(config['time'].to_s, "Invalid time in _config.yml.") : Time.now)
|
||||
if config["time"]
|
||||
self.time = Utils.parse_date(config["time"].to_s, "Invalid time in _config.yml.")
|
||||
else
|
||||
self.time = Time.now
|
||||
end
|
||||
self.layouts = {}
|
||||
self.pages = []
|
||||
self.static_files = []
|
||||
|
@ -123,18 +120,23 @@ module Jekyll
|
|||
dest_pathname = Pathname.new(dest)
|
||||
Pathname.new(source).ascend do |path|
|
||||
if path == dest_pathname
|
||||
raise Errors::FatalException.new "Destination directory cannot be or contain the Source directory."
|
||||
raise(
|
||||
Errors::FatalException,
|
||||
"Destination directory cannot be or contain the Source directory."
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# The list of collections and their corresponding Jekyll::Collection instances.
|
||||
# If config['collections'] is set, a new instance is created for each item in the collection.
|
||||
# If config['collections'] is not set, a new hash is returned.
|
||||
# If config['collections'] is set, a new instance is created
|
||||
# for each item in the collection, a new hash is returned otherwise.
|
||||
#
|
||||
# Returns a Hash containing collection name-to-instance pairs.
|
||||
def collections
|
||||
@collections ||= Hash[collection_names.map { |coll| [coll, Jekyll::Collection.new(self, coll)] } ]
|
||||
@collections ||= Hash[collection_names.map do |coll|
|
||||
[coll, Jekyll::Collection.new(self, coll)]
|
||||
end]
|
||||
end
|
||||
|
||||
# The list of collection names.
|
||||
|
@ -142,11 +144,11 @@ module Jekyll
|
|||
# Returns an array of collection names from the configuration,
|
||||
# or an empty array if the `collections` key is not set.
|
||||
def collection_names
|
||||
case config['collections']
|
||||
case config["collections"]
|
||||
when Hash
|
||||
config['collections'].keys
|
||||
config["collections"].keys
|
||||
when Array
|
||||
config['collections']
|
||||
config["collections"]
|
||||
when nil
|
||||
[]
|
||||
else
|
||||
|
@ -182,26 +184,15 @@ module Jekyll
|
|||
|
||||
Jekyll::Hooks.trigger :site, :pre_render, self, payload
|
||||
|
||||
collections.each do |_, collection|
|
||||
collection.docs.each do |document|
|
||||
if regenerator.regenerate?(document)
|
||||
document.output = Jekyll::Renderer.new(self, document, payload).run
|
||||
document.trigger_hooks(:post_render)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
pages.flatten.each do |page|
|
||||
if regenerator.regenerate?(page)
|
||||
page.output = Jekyll::Renderer.new(self, page, payload).run
|
||||
page.trigger_hooks(:post_render)
|
||||
end
|
||||
end
|
||||
render_docs(payload)
|
||||
render_pages(payload)
|
||||
|
||||
Jekyll::Hooks.trigger :site, :post_render, self, payload
|
||||
# rubocop: disable HandleExceptions
|
||||
rescue Errno::ENOENT
|
||||
# ignore missing layout dir
|
||||
end
|
||||
# rubocop: enable HandleExceptions
|
||||
|
||||
# Remove orphaned files and empty directories in destination.
|
||||
#
|
||||
|
@ -222,7 +213,7 @@ module Jekyll
|
|||
end
|
||||
|
||||
def posts
|
||||
collections['posts'] ||= Collection.new(self, 'posts')
|
||||
collections["posts"] ||= Collection.new(self, "posts")
|
||||
end
|
||||
|
||||
# Construct a Hash of Posts indexed by the specified Post attribute.
|
||||
|
@ -242,17 +233,19 @@ module Jekyll
|
|||
# Build a hash map based on the specified post attribute ( post attr =>
|
||||
# array of posts ) then sort each array in reverse order.
|
||||
hash = Hash.new { |h, key| h[key] = [] }
|
||||
posts.docs.each { |p| p.data[post_attr].each { |t| hash[t] << p } if p.data[post_attr] }
|
||||
posts.docs.each do |p|
|
||||
p.data[post_attr].each { |t| hash[t] << p } if p.data[post_attr]
|
||||
end
|
||||
hash.values.each { |posts| posts.sort!.reverse! }
|
||||
hash
|
||||
end
|
||||
|
||||
def tags
|
||||
post_attr_hash('tags')
|
||||
post_attr_hash("tags")
|
||||
end
|
||||
|
||||
def categories
|
||||
post_attr_hash('categories')
|
||||
post_attr_hash("categories")
|
||||
end
|
||||
|
||||
# Prepare site data for site payload. The method maintains backward compatibility
|
||||
|
@ -260,7 +253,7 @@ module Jekyll
|
|||
#
|
||||
# Returns the Hash to be hooked to site.data.
|
||||
def site_data
|
||||
config['data'] || data
|
||||
config["data"] || data
|
||||
end
|
||||
|
||||
# The Hash payload containing site-wide data.
|
||||
|
@ -306,7 +299,7 @@ module Jekyll
|
|||
#
|
||||
# Returns
|
||||
def relative_permalinks_are_deprecated
|
||||
if config['relative_permalinks']
|
||||
if config["relative_permalinks"]
|
||||
Jekyll.logger.abort_with "Since v3.0, permalinks for pages" \
|
||||
" in subfolders must be relative to the" \
|
||||
" site source directory, not the parent" \
|
||||
|
@ -351,7 +344,7 @@ module Jekyll
|
|||
#
|
||||
# Returns a Boolean: true for a full rebuild, false for normal build
|
||||
def incremental?(override = {})
|
||||
override['incremental'] || config['incremental']
|
||||
override["incremental"] || config["incremental"]
|
||||
end
|
||||
|
||||
# Returns the publisher or creates a new publisher if it doesn't
|
||||
|
@ -399,11 +392,10 @@ module Jekyll
|
|||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
# Limits the current posts; removes the posts which exceed the limit_posts
|
||||
#
|
||||
# Returns nothing
|
||||
private
|
||||
def limit_posts!
|
||||
if limit_posts > 0
|
||||
limit = posts.docs.length < limit_posts ? posts.docs.length : limit_posts
|
||||
|
@ -415,8 +407,55 @@ module Jekyll
|
|||
# already exist.
|
||||
#
|
||||
# Returns The Cleaner
|
||||
private
|
||||
def site_cleaner
|
||||
@site_cleaner ||= Cleaner.new(self)
|
||||
end
|
||||
|
||||
private
|
||||
def configure_plugins
|
||||
self.plugin_manager = Jekyll::PluginManager.new(self)
|
||||
self.plugins = plugin_manager.plugins_path
|
||||
end
|
||||
|
||||
private
|
||||
def configure_theme
|
||||
self.theme = nil
|
||||
self.theme = Jekyll::Theme.new(config["theme"]) if config["theme"]
|
||||
end
|
||||
|
||||
private
|
||||
def configure_include_paths
|
||||
@includes_load_paths = Array(in_source_dir(config["includes_dir"].to_s))
|
||||
@includes_load_paths << theme.includes_path if self.theme
|
||||
end
|
||||
|
||||
private
|
||||
def configure_file_read_opts
|
||||
self.file_read_opts = {}
|
||||
self.file_read_opts[:encoding] = config["encoding"] if config["encoding"]
|
||||
end
|
||||
|
||||
private
|
||||
def render_docs(payload)
|
||||
collections.each do |_, collection|
|
||||
collection.docs.each do |document|
|
||||
if regenerator.regenerate?(document)
|
||||
document.output = Jekyll::Renderer.new(self, document, payload).run
|
||||
document.trigger_hooks(:post_render)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
def render_pages(payload)
|
||||
pages.flatten.each do |page|
|
||||
if regenerator.regenerate?(page)
|
||||
page.output = Jekyll::Renderer.new(self, page, payload).run
|
||||
page.trigger_hooks(:post_render)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue