More tests are passing. Hooray.
This commit is contained in:
parent
0bc88975c8
commit
461e16f8bc
|
@ -88,7 +88,9 @@ module Jekyll
|
||||||
def configuration(override)
|
def configuration(override)
|
||||||
config = Configuration[Configuration::DEFAULTS]
|
config = Configuration[Configuration::DEFAULTS]
|
||||||
override = Configuration[override].stringify_keys
|
override = Configuration[override].stringify_keys
|
||||||
config = config.read_config_files(config.config_files(override))
|
unless override.delete('skip_config_files')
|
||||||
|
config = config.read_config_files(config.config_files(override))
|
||||||
|
end
|
||||||
|
|
||||||
# Merge DEFAULTS < _config.yml < override
|
# Merge DEFAULTS < _config.yml < override
|
||||||
config = Utils.deep_merge_hashes(config, override).stringify_keys
|
config = Utils.deep_merge_hashes(config, override).stringify_keys
|
||||||
|
|
|
@ -36,6 +36,7 @@ module Jekyll
|
||||||
def read
|
def read
|
||||||
filtered_entries.each do |file_path|
|
filtered_entries.each do |file_path|
|
||||||
full_path = collection_dir(file_path)
|
full_path = collection_dir(file_path)
|
||||||
|
next if File.directory?(full_path)
|
||||||
if Utils.has_yaml_header? full_path
|
if Utils.has_yaml_header? full_path
|
||||||
doc = Jekyll::Document.new(full_path, { site: site, collection: self })
|
doc = Jekyll::Document.new(full_path, { site: site, collection: self })
|
||||||
doc.read
|
doc.read
|
||||||
|
@ -86,7 +87,8 @@ module Jekyll
|
||||||
@directory ||= site.in_source_dir(relative_directory)
|
@directory ||= site.in_source_dir(relative_directory)
|
||||||
end
|
end
|
||||||
|
|
||||||
# The full path to the directory containing the collection.
|
# The full path to the directory containing the collection, with
|
||||||
|
# optional subpaths.
|
||||||
#
|
#
|
||||||
# *files - (optional) any other path pieces relative to the
|
# *files - (optional) any other path pieces relative to the
|
||||||
# directory to append to the path
|
# directory to append to the path
|
||||||
|
|
|
@ -159,7 +159,8 @@ module Jekyll
|
||||||
#
|
#
|
||||||
# Returns the full path to the output file of this document.
|
# Returns the full path to the output file of this document.
|
||||||
def destination(base_directory)
|
def destination(base_directory)
|
||||||
path = site.in_dest_dir(base_directory, url)
|
dest = site.in_dest_dir(base_directory)
|
||||||
|
path = Jekyll.sanitized_path(dest, url)
|
||||||
path = File.join(path, "index.html") if url =~ /\/$/
|
path = File.join(path, "index.html") if url =~ /\/$/
|
||||||
path
|
path
|
||||||
end
|
end
|
||||||
|
|
|
@ -140,7 +140,8 @@ module Jekyll
|
||||||
#
|
#
|
||||||
# Returns the destination file path String.
|
# Returns the destination file path String.
|
||||||
def destination(dest)
|
def destination(dest)
|
||||||
path = site.in_dest_dir(dest, URL.unescape_path(url))
|
dest = site.in_dest_dir(dest)
|
||||||
|
path = Jekyll.sanitized_path(dest, URL.unescape_path(url))
|
||||||
path = File.join(path, "index.html") if url =~ /\/$/
|
path = File.join(path, "index.html") if url =~ /\/$/
|
||||||
path
|
path
|
||||||
end
|
end
|
||||||
|
|
|
@ -268,7 +268,8 @@ module Jekyll
|
||||||
# Returns destination file path String.
|
# Returns destination file path String.
|
||||||
def destination(dest)
|
def destination(dest)
|
||||||
# The url needs to be unescaped in order to preserve the correct filename
|
# The url needs to be unescaped in order to preserve the correct filename
|
||||||
path = site.in_dest_dir(dest, URL.unescape_path(url))
|
dest = site.in_dest_dir(dest)
|
||||||
|
path = Jekyll.sanitized_path(dest, URL.unescape_path(url))
|
||||||
path = File.join(path, "index.html") if path[/\.html$/].nil?
|
path = File.join(path, "index.html") if path[/\.html$/].nil?
|
||||||
path
|
path
|
||||||
end
|
end
|
||||||
|
|
|
@ -3,12 +3,12 @@ require 'csv'
|
||||||
|
|
||||||
module Jekyll
|
module Jekyll
|
||||||
class Site
|
class Site
|
||||||
attr_reader :source, :dest
|
attr_reader :source, :dest, :config
|
||||||
attr_accessor :config, :layouts, :posts, :pages, :static_files,
|
attr_accessor :layouts, :posts, :pages, :static_files,
|
||||||
:exclude, :include, :lsi, :highlighter,
|
:exclude, :include, :lsi, :highlighter, :permalink_style,
|
||||||
:permalink_style, :time, :future, :unpublished, :safe, :plugins, :limit_posts,
|
:time, :future, :unpublished, :safe, :plugins, :limit_posts,
|
||||||
:show_drafts, :keep_files, :baseurl, :data, :file_read_opts, :gems,
|
:show_drafts, :keep_files, :baseurl, :data, :file_read_opts,
|
||||||
:plugin_manager
|
:gems, :plugin_manager
|
||||||
|
|
||||||
attr_accessor :converters, :generators
|
attr_accessor :converters, :generators
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ module Jekyll
|
||||||
#
|
#
|
||||||
# config - A Hash containing site configuration details.
|
# config - A Hash containing site configuration details.
|
||||||
def initialize(config)
|
def initialize(config)
|
||||||
self.config = config.clone
|
@config = config.clone
|
||||||
|
|
||||||
%w[safe lsi highlighter baseurl exclude include future unpublished
|
%w[safe lsi highlighter baseurl exclude include future unpublished
|
||||||
show_drafts limit_posts keep_files gems].each do |opt|
|
show_drafts limit_posts keep_files gems].each do |opt|
|
||||||
|
|
|
@ -10,9 +10,14 @@ class TestDocument < Test::Unit::TestCase
|
||||||
"destination" => dest_dir
|
"destination" => dest_dir
|
||||||
}))
|
}))
|
||||||
@site.process
|
@site.process
|
||||||
|
p @site.collections["methods"]
|
||||||
@document = @site.collections["methods"].docs.first
|
@document = @site.collections["methods"].docs.first
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "exist" do
|
||||||
|
assert !@document.nil?
|
||||||
|
end
|
||||||
|
|
||||||
should "know its relative path" do
|
should "know its relative path" do
|
||||||
assert_equal "_methods/configuration.md", @document.relative_path
|
assert_equal "_methods/configuration.md", @document.relative_path
|
||||||
end
|
end
|
||||||
|
@ -220,6 +225,7 @@ class TestDocument < Test::Unit::TestCase
|
||||||
"destination" => dest_dir
|
"destination" => dest_dir
|
||||||
}))
|
}))
|
||||||
@site.process
|
@site.process
|
||||||
|
p @site.collections["slides"]
|
||||||
@document = @site.collections["slides"].docs[3]
|
@document = @site.collections["slides"].docs[3]
|
||||||
@document_without_title = @site.collections["slides"].docs[4]
|
@document_without_title = @site.collections["slides"].docs[4]
|
||||||
end
|
end
|
||||||
|
|
|
@ -15,8 +15,11 @@ class TestPost < Test::Unit::TestCase
|
||||||
context "A Post" do
|
context "A Post" do
|
||||||
setup do
|
setup do
|
||||||
clear_dest
|
clear_dest
|
||||||
stub(Jekyll).configuration { Jekyll::Configuration::DEFAULTS }
|
@site = Site.new(Jekyll.configuration({
|
||||||
@site = Site.new(Jekyll.configuration)
|
"skip_config_files" => true,
|
||||||
|
"source" => source_dir,
|
||||||
|
"destination" => dest_dir
|
||||||
|
}))
|
||||||
end
|
end
|
||||||
|
|
||||||
should "ensure valid posts are valid" do
|
should "ensure valid posts are valid" do
|
||||||
|
@ -145,7 +148,7 @@ class TestPost < Test::Unit::TestCase
|
||||||
do_render(post)
|
do_render(post)
|
||||||
post.write(dest_dir)
|
post.write(dest_dir)
|
||||||
|
|
||||||
assert !File.exist?(unexpected)
|
assert !File.exist?(unexpected), "../../../baddie.html should not exist."
|
||||||
assert File.exist?(File.expand_path("baddie.html", dest_dir))
|
assert File.exist?(File.expand_path("baddie.html", dest_dir))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -606,7 +609,7 @@ class TestPost < Test::Unit::TestCase
|
||||||
|
|
||||||
should "include templates" do
|
should "include templates" do
|
||||||
post = setup_post("2008-12-13-include.markdown")
|
post = setup_post("2008-12-13-include.markdown")
|
||||||
post.site.source = File.join(File.dirname(__FILE__), 'source')
|
post.site.instance_variable_set(:@source, File.join(File.dirname(__FILE__), 'source'))
|
||||||
do_render(post)
|
do_render(post)
|
||||||
|
|
||||||
assert_equal "<<< <hr />\n<p>Tom Preston-Werner\ngithub.com/mojombo</p>\n\n<p>This <em>is</em> cool</p>\n >>>", post.output
|
assert_equal "<<< <hr />\n<p>Tom Preston-Werner\ngithub.com/mojombo</p>\n\n<p>This <em>is</em> cool</p>\n >>>", post.output
|
||||||
|
|
Loading…
Reference in New Issue