Merge pull request #3204 from jekyll/sort-static-files-once

This commit is contained in:
Parker Moore 2014-12-26 23:05:04 -05:00
commit f81601ee53
3 changed files with 13 additions and 12 deletions

View File

@ -3,11 +3,12 @@
module Jekyll
class Renderer
attr_reader :document, :site
attr_reader :document, :site, :site_payload
def initialize(site, document)
@site = site
@document = document
def initialize(site, document, site_payload = nil)
@site = site
@document = document
@site_payload = site_payload
end
# Determine which converters to use based on this document's
@ -32,7 +33,7 @@ module Jekyll
def run
payload = Utils.deep_merge_hashes({
"page" => document.to_liquid
}, site.site_payload)
}, site_payload || site.site_payload)
info = {
filters: [Jekyll::Filters],

View File

@ -187,6 +187,7 @@ module Jekyll
end
pages.sort_by!(&:name)
static_files.sort_by!(&:relative_path)
end
# Read all the files in <source>/<dir>/_posts and create a new Post
@ -291,9 +292,10 @@ module Jekyll
def render
relative_permalinks_deprecation_method
payload = site_payload
collections.each do |label, collection|
collection.docs.each do |document|
document.output = Jekyll::Renderer.new(self, document).run if document.regenerate?
document.output = Jekyll::Renderer.new(self, document, payload).run if document.regenerate?
end
end
@ -384,7 +386,7 @@ module Jekyll
"time" => time,
"posts" => posts.sort { |a, b| b <=> a },
"pages" => pages,
"static_files" => static_files.sort { |a, b| a.relative_path <=> b.relative_path },
"static_files" => static_files,
"html_pages" => pages.select { |page| page.html? || page.url.end_with?("/") },
"categories" => post_attr_hash('categories'),
"tags" => post_attr_hash('tags'),

View File

@ -3,6 +3,8 @@ module Jekyll
# The cache of last modification times [path] -> mtime.
@@mtimes = Hash.new
attr_reader :relative_path
# Initialize a new StaticFile.
#
# site - The Site.
@ -15,6 +17,7 @@ module Jekyll
@dir = dir
@name = name
@collection = collection
@relative_path = File.join(*[@dir, @name].compact)
end
# Returns source file path.
@ -22,11 +25,6 @@ module Jekyll
File.join(*[@base, @dir, @name].compact)
end
# Returns the source file path relative to the site source
def relative_path
@relative_path ||= File.join(*[@dir, @name].compact)
end
def extname
File.extname(path)
end