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:
commit
35b3c91b64
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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,9 +32,8 @@ 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"
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue