shithub: hugo

Download patch

ref: 3fdcd0ba7c42cabe2b51c768bc7f36d859241eb0
parent: 0305c82513dec62e1bb2ca2701f675e1ed37687e
author: Noah Campbell <[email protected]>
date: Mon Aug 12 10:13:31 EDT 2013

Support for non-standard formats.

Forgot to include existing formats.  Integration tests include new
format.

--- a/hugolib/helpers.go
+++ b/hugolib/helpers.go
@@ -74,6 +74,10 @@
 		time.ANSIC,
 		time.UnixDate,
 		time.RubyDate,
+		"2006-01-02 15:04:05Z07:00",
+		"02 Jan 06 15:04 MST",
+		"2006-01-02",
+		"02 Jan 2006",
 	}); e == nil {
 		return d
 	}
--- a/hugolib/page_time_integration_test.go
+++ b/hugolib/page_time_integration_test.go
@@ -9,9 +9,9 @@
 )
 
 var PAGE_WITH_INVALID_DATE = `---
-date: 2010-05-02 15:29:31+08:00
+date: 2010-05-02_15:29:31+08:00
 ---
-Page With Invalid Date (missing the T for RFC 3339)`
+Page With Invalid Date (replace T with _ for RFC 3339)`
 
 var PAGE_WITH_DATE_RFC3339 = `---
 date: 2010-05-02T15:29:31+08:00
@@ -18,6 +18,11 @@
 ---
 Page With Date RFC3339`
 
+var PAGE_WITH_DATE_RFC3339_NO_T = `---
+date: 2010-05-02 15:29:31+08:00
+---
+Page With Date RFC3339_NO_T`
+
 var PAGE_WITH_DATE_RFC1123 = `---
 date: Sun, 02 May 2010 15:29:31 PST
 ---
@@ -53,6 +58,21 @@
 ---
 Page With Date RubyDate`
 
+var PAGE_WITH_DATE_HugoYearNumeric = `---
+date: 2010-05-02
+---
+Page With Date HugoYearNumeric`
+
+var PAGE_WITH_DATE_HugoYear = `---
+date: 02 May 2010
+---
+Page With Date HugoYear`
+
+var PAGE_WITH_DATE_HugoLong = `---
+date: 02 May 2010 15:29 PST
+---
+Page With Date HugoLong`
+
 func TestDegenerateDateFrontMatter(t *testing.T) {
 	p, _ := ReadFrom(strings.NewReader(PAGE_WITH_INVALID_DATE), "page/with/invalid/date")
 	if p.Date != time.Unix(0, 0) {
@@ -66,10 +86,13 @@
 		dt  string
 	}{
 		{PAGE_WITH_DATE_RFC3339, "2010-05-02T15:29:31+08:00"},
+		{PAGE_WITH_DATE_RFC3339_NO_T, "2010-05-02T15:29:31+08:00"},
 		{PAGE_WITH_DATE_RFC1123Z, "2010-05-02T15:29:31+08:00"},
 		{PAGE_WITH_DATE_RFC822Z, "2010-05-02T15:29:00+08:00"},
 		{PAGE_WITH_DATE_ANSIC, "2010-05-02T15:29:31Z"},
 		{PAGE_WITH_DATE_RubyDate, "2010-05-02T15:29:31+08:00"},
+		{PAGE_WITH_DATE_HugoYearNumeric, "2010-05-02T00:00:00Z"},
+		{PAGE_WITH_DATE_HugoYear, "2010-05-02T00:00:00Z"},
 	}
 
 	tzShortCodeTests := []struct {
@@ -77,8 +100,9 @@
 		dt  string
 	}{
 		{PAGE_WITH_DATE_RFC1123, "2010-05-02T15:29:31-08:00"},
-		{PAGE_WITH_DATE_RFC822, "2010-05-02T15:29:00-08:00"},
+		{PAGE_WITH_DATE_RFC822, "2010-05-02T15:29:00-08:00Z"},
 		{PAGE_WITH_DATE_UnixDate, "2010-05-02T15:29:31-08:00"},
+		{PAGE_WITH_DATE_HugoLong, "2010-05-02T15:21:00+08:00"},
 	}
 
 	if _, err := time.LoadLocation("PST"); err == nil {