Merge pull request #4184 from ducktyper/allow-quoted-dates
Merge pull request 4184
This commit is contained in:
commit
4f21458b34
|
@ -30,6 +30,13 @@ module Jekyll
|
||||||
set
|
set
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def ensure_time!(set)
|
||||||
|
return set unless set.key?('values') && set['values'].key?('date')
|
||||||
|
return set if set['values']['date'].is_a?(Time)
|
||||||
|
set['values']['date'] = Utils.parse_date(set['values']['date'], "An invalid date format was found in a front-matter default set: #{set}")
|
||||||
|
set
|
||||||
|
end
|
||||||
|
|
||||||
# Finds a default value for a given setting, filtered by path and type
|
# Finds a default value for a given setting, filtered by path and type
|
||||||
#
|
#
|
||||||
# path - the path (relative to the source) of the page, post or :draft the default is used in
|
# path - the path (relative to the source) of the page, post or :draft the default is used in
|
||||||
|
@ -159,7 +166,7 @@ module Jekyll
|
||||||
|
|
||||||
sets.map do |set|
|
sets.map do |set|
|
||||||
if valid?(set)
|
if valid?(set)
|
||||||
update_deprecated_types(set)
|
ensure_time!(update_deprecated_types(set))
|
||||||
else
|
else
|
||||||
Jekyll.logger.warn "Defaults:", "An invalid front-matter default set was found:"
|
Jekyll.logger.warn "Defaults:", "An invalid front-matter default set was found:"
|
||||||
Jekyll.logger.warn "#{set}"
|
Jekyll.logger.warn "#{set}"
|
||||||
|
|
|
@ -175,4 +175,29 @@ class TestFrontMatterDefaults < JekyllUnitTest
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context "A site with front matter defaults with quoted date" do
|
||||||
|
setup do
|
||||||
|
@site = Site.new(Jekyll.configuration({
|
||||||
|
"source" => source_dir,
|
||||||
|
"destination" => dest_dir,
|
||||||
|
"defaults" => [{
|
||||||
|
"values" => {
|
||||||
|
"date" => "2015-01-01 00:00:01"
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
}))
|
||||||
|
end
|
||||||
|
|
||||||
|
should "not raise error" do
|
||||||
|
@site.process
|
||||||
|
end
|
||||||
|
|
||||||
|
should "parse date" do
|
||||||
|
@site.process
|
||||||
|
date = Time.parse("2015-01-01 00:00:01")
|
||||||
|
assert @site.pages.find { |page| page.data["date"] == date }
|
||||||
|
assert @site.posts.find { |page| page.data["date"] == date }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue