Merge branch 'pathawks-readers'

* pathawks-readers:
  I will chain blocks if I want to chain blocks.
  Rubocop: Readers
  Rubocop: lib/jekyll/readers/static_file_reader.rb
  Rubocop: lib/jekyll/readers/post_reader.rb
  Rubocop: lib/jekyll/readers/page_reader.rb
  Rubocop: lib/jekyll/readers/layout_reader.rb
  Rubocop: lib/jekyll/reader.rb
This commit is contained in:
Parker Moore 2016-05-26 16:10:21 -07:00
commit 35b3c91b64
No known key found for this signature in database
GPG Key ID: 193CDEBA72063C58
6 changed files with 33 additions and 31 deletions

View File

@ -12,11 +12,6 @@ AllCops:
- lib/jekyll/document.rb
- lib/jekyll/filters.rb
- lib/jekyll/frontmatter_defaults.rb
- lib/jekyll/reader.rb
- lib/jekyll/readers/layout_reader.rb
- lib/jekyll/readers/page_reader.rb
- lib/jekyll/readers/post_reader.rb
- lib/jekyll/readers/static_file_reader.rb
- lib/jekyll/regenerator.rb
- lib/jekyll/renderer.rb
- lib/jekyll/site.rb

View File

@ -1,5 +1,5 @@
# encoding: UTF-8
require 'csv'
require "csv"
module Jekyll
class Reader
@ -16,7 +16,7 @@ module Jekyll
@site.layouts = LayoutReader.new(site).read
read_directories
sort_files!
@site.data = DataReader.new(site).read(site.config['data_dir'])
@site.data = DataReader.new(site).read(site.config["data_dir"])
CollectionReader.new(site).read
end
@ -34,13 +34,15 @@ module Jekyll
# dir - The String relative path of the directory to read. Default: ''.
#
# Returns nothing.
def read_directories(dir = '')
def read_directories(dir = "")
base = site.in_source_dir(dir)
dot = Dir.chdir(base) { filter_entries(Dir.entries('.'), base) }
dot = Dir.chdir(base) { filter_entries(Dir.entries("."), base) }
dot_dirs = dot.select { |file| File.directory?(@site.in_source_dir(base, file)) }
dot_files = (dot - dot_dirs)
dot_pages = dot_files.select { |file| Utils.has_yaml_header?(@site.in_source_dir(base, file)) }
dot_pages = dot_files.select do |file|
Utils.has_yaml_header?(@site.in_source_dir(base, file))
end
dot_static_files = dot_files - dot_pages
retrieve_posts(dir)
@ -71,7 +73,9 @@ module Jekyll
dot_dirs.map do |file|
dir_path = site.in_source_dir(dir, file)
rel_path = File.join(dir, file)
@site.reader.read_directories(rel_path) unless @site.dest.sub(/\/$/, '') == dir_path
unless @site.dest.sub(%r!/$!, "") == dir_path
@site.reader.read_directories(rel_path)
end
end
end
@ -119,7 +123,7 @@ module Jekyll
def get_entries(dir, subfolder)
base = site.in_source_dir(dir, subfolder)
return [] unless File.exist?(base)
entries = Dir.chdir(base) { filter_entries(Dir['**/*'], base) }
entries = Dir.chdir(base) { filter_entries(Dir["**/*"], base) }
entries.delete_if { |e| File.directory?(site.in_source_dir(base, e)) }
end
end

View File

@ -8,11 +8,13 @@ module Jekyll
def read
layout_entries.each do |layout_file|
@layouts[layout_name(layout_file)] = Layout.new(site, layout_directory, layout_file)
@layouts[layout_name(layout_file)] = \
Layout.new(site, layout_directory, layout_file)
end
theme_layout_entries.each do |layout_file|
@layouts[layout_name(layout_file)] ||= Layout.new(site, theme_layout_directory, layout_file)
@layouts[layout_name(layout_file)] ||= \
Layout.new(site, theme_layout_directory, layout_file)
end
@layouts
@ -39,7 +41,7 @@ module Jekyll
def entries_in(dir)
entries = []
within(dir) do
entries = EntryFilter.new(site).filter(Dir['**/*.*'])
entries = EntryFilter.new(site).filter(Dir["**/*.*"])
end
entries
end
@ -54,15 +56,13 @@ module Jekyll
end
def layout_directory_inside_source
site.in_source_dir(site.config['layouts_dir'])
site.in_source_dir(site.config["layouts_dir"])
end
def layout_directory_in_cwd
dir = Jekyll.sanitized_path(Dir.pwd, site.config['layouts_dir'])
dir = Jekyll.sanitized_path(Dir.pwd, site.config["layouts_dir"])
if File.directory?(dir) && !site.safe
dir
else
nil
end
end
end

View File

@ -14,7 +14,9 @@ module Jekyll
#
# Returns an array of static pages.
def read(files)
files.map { |page| @unfiltered_content << Page.new(@site, @site.source, @dir, page) }
files.map do |page|
@unfiltered_content << Page.new(@site, @site.source, @dir, page)
end
@unfiltered_content.select { |page| site.publisher.publish?(page) }
end
end

View File

@ -12,7 +12,7 @@ module Jekyll
#
# Returns nothing.
def read_drafts(dir)
read_publishable(dir, '_drafts', Document::DATELESS_FILENAME_MATCHER)
read_publishable(dir, "_drafts", Document::DATELESS_FILENAME_MATCHER)
end
# Read all the files in <source>/<dir>/_posts and create a new Document
@ -22,7 +22,7 @@ module Jekyll
#
# Returns nothing.
def read_posts(dir)
read_publishable(dir, '_posts', Document::DATE_FILENAME_MATCHER)
read_publishable(dir, "_posts", Document::DATE_FILENAME_MATCHER)
end
# Read all the files in <source>/<dir>/<magic_dir> and create a new
@ -32,15 +32,14 @@ module Jekyll
#
# Returns nothing.
def read_publishable(dir, magic_dir, matcher)
read_content(dir, magic_dir, matcher).tap do |docs|
docs.each(&:read)
end.select do |doc|
site.publisher.publish?(doc).tap do |will_publish|
if !will_publish && site.publisher.hidden_in_the_future?(doc)
Jekyll.logger.debug "Skipping:", "#{doc.relative_path} has a future date"
read_content(dir, magic_dir, matcher).tap { |docs| docs.each(&:read) }
.select do |doc|
site.publisher.publish?(doc).tap do |will_publish|
if !will_publish && site.publisher.hidden_in_the_future?(doc)
Jekyll.logger.debug "Skipping:", "#{doc.relative_path} has a future date"
end
end
end
end
end
# Read all the content files from <source>/<dir>/magic_dir
@ -57,7 +56,7 @@ module Jekyll
next unless entry =~ matcher
path = @site.in_source_dir(File.join(dir, magic_dir, entry))
Document.new(path, {
:site => @site,
:site => @site,
:collection => @site.posts
})
end.reject(&:nil?)

View File

@ -14,7 +14,9 @@ module Jekyll
#
# Returns an array of static files.
def read(files)
files.map { |file| @unfiltered_content << StaticFile.new(@site, @site.source, @dir, file) }
files.map do |file|
@unfiltered_content << StaticFile.new(@site, @site.source, @dir, file)
end
@unfiltered_content
end
end