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/document.rb
- lib/jekyll/filters.rb - lib/jekyll/filters.rb
- lib/jekyll/frontmatter_defaults.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/regenerator.rb
- lib/jekyll/renderer.rb - lib/jekyll/renderer.rb
- lib/jekyll/site.rb - lib/jekyll/site.rb

View File

@ -1,5 +1,5 @@
# encoding: UTF-8 # encoding: UTF-8
require 'csv' require "csv"
module Jekyll module Jekyll
class Reader class Reader
@ -16,7 +16,7 @@ module Jekyll
@site.layouts = LayoutReader.new(site).read @site.layouts = LayoutReader.new(site).read
read_directories read_directories
sort_files! 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 CollectionReader.new(site).read
end end
@ -34,13 +34,15 @@ module Jekyll
# dir - The String relative path of the directory to read. Default: ''. # dir - The String relative path of the directory to read. Default: ''.
# #
# Returns nothing. # Returns nothing.
def read_directories(dir = '') def read_directories(dir = "")
base = site.in_source_dir(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_dirs = dot.select { |file| File.directory?(@site.in_source_dir(base, file)) }
dot_files = (dot - dot_dirs) 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 dot_static_files = dot_files - dot_pages
retrieve_posts(dir) retrieve_posts(dir)
@ -71,7 +73,9 @@ module Jekyll
dot_dirs.map do |file| dot_dirs.map do |file|
dir_path = site.in_source_dir(dir, file) dir_path = site.in_source_dir(dir, file)
rel_path = File.join(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
end end
@ -119,7 +123,7 @@ module Jekyll
def get_entries(dir, subfolder) def get_entries(dir, subfolder)
base = site.in_source_dir(dir, subfolder) base = site.in_source_dir(dir, subfolder)
return [] unless File.exist?(base) 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)) } entries.delete_if { |e| File.directory?(site.in_source_dir(base, e)) }
end end
end end

View File

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

View File

@ -14,7 +14,9 @@ module Jekyll
# #
# Returns an array of static pages. # Returns an array of static pages.
def read(files) 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) } @unfiltered_content.select { |page| site.publisher.publish?(page) }
end end
end end

View File

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

View File

@ -14,7 +14,9 @@ module Jekyll
# #
# Returns an array of static files. # Returns an array of static files.
def read(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 @unfiltered_content
end end
end end