mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-07 20:30:36 -05:00
parent
bf301daf15
commit
b5de37ee79
4 changed files with 21 additions and 6 deletions
|
@ -17,6 +17,10 @@ import (
|
|||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/spf13/cast"
|
||||
|
||||
toml "github.com/pelletier/go-toml/v2"
|
||||
|
||||
"github.com/go-playground/locales"
|
||||
)
|
||||
|
||||
|
@ -125,3 +129,13 @@ func (f TimeFormatter) Format(t time.Time, layout string) string {
|
|||
|
||||
return s
|
||||
}
|
||||
|
||||
func ToTimeInDefaultLocationE(i interface{}, location *time.Location) (tim time.Time, err error) {
|
||||
switch vv := i.(type) {
|
||||
case toml.LocalDate:
|
||||
return vv.AsTime(location), nil
|
||||
case toml.LocalDateTime:
|
||||
return vv.AsTime(location), nil
|
||||
}
|
||||
return cast.ToTimeInDefaultLocationE(i, location)
|
||||
}
|
||||
|
|
|
@ -104,6 +104,7 @@ expiryDate=%s
|
|||
if quoted {
|
||||
return fmt.Sprintf("%q", d)
|
||||
}
|
||||
|
||||
return d
|
||||
}
|
||||
|
||||
|
@ -124,7 +125,6 @@ expiryDate=%s
|
|||
"short-date-yaml-qouted.nn.md", createPageContent(pageTemplYaml, shortDateTempl, true),
|
||||
"long-date-yaml-unqouted.en.md", createPageContent(pageTemplYaml, longDateTempl, false),
|
||||
"long-date-yaml-unqouted.nn.md", createPageContent(pageTemplYaml, longDateTempl, false),
|
||||
|
||||
// TOML
|
||||
"short-date-toml-unqouted.en.md", createPageContent(pageTemplTOML, shortDateTempl, false),
|
||||
"short-date-toml-unqouted.nn.md", createPageContent(pageTemplTOML, shortDateTempl, false),
|
||||
|
@ -180,8 +180,8 @@ ExpiryDate: 2099-07-13 15:28:01 +0000 UTC`
|
|||
// TOML
|
||||
// These fails: TOML (Burnt Sushi) defaults to local timezone.
|
||||
// TODO(bep) check go-toml
|
||||
// b.AssertFileContent("public/en/short-date-toml-unqouted/index.html", expectShortDateEn)
|
||||
// b.AssertFileContent("public/nn/short-date-toml-unqouted/index.html", expectShortDateNn)
|
||||
b.AssertFileContent("public/en/short-date-toml-unqouted/index.html", expectShortDateEn)
|
||||
b.AssertFileContent("public/nn/short-date-toml-unqouted/index.html", expectShortDateNn)
|
||||
b.AssertFileContent("public/en/short-date-toml-qouted/index.html", expectShortDateEn)
|
||||
b.AssertFileContent("public/nn/short-date-toml-qouted/index.html", expectShortDateNn)
|
||||
|
||||
|
|
|
@ -17,6 +17,7 @@ import (
|
|||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/gohugoio/hugo/common/htime"
|
||||
"github.com/gohugoio/hugo/common/paths"
|
||||
|
||||
"github.com/gohugoio/hugo/common/loggers"
|
||||
|
@ -130,7 +131,7 @@ func dateAndSlugFromBaseFilename(location *time.Location, name string) (time.Tim
|
|||
return time.Time{}, ""
|
||||
}
|
||||
|
||||
d, err := cast.ToTimeInDefaultLocationE(withoutExt[:10], location)
|
||||
d, err := htime.ToTimeInDefaultLocationE(withoutExt[:10], location)
|
||||
if err != nil {
|
||||
return time.Time{}, ""
|
||||
}
|
||||
|
@ -371,7 +372,7 @@ func (f *frontmatterFieldHandlers) newDateFieldHandler(key string, setter func(d
|
|||
return false, nil
|
||||
}
|
||||
|
||||
date, err := cast.ToTimeInDefaultLocationE(v, d.Location)
|
||||
date, err := htime.ToTimeInDefaultLocationE(v, d.Location)
|
||||
if err != nil {
|
||||
return false, nil
|
||||
}
|
||||
|
|
|
@ -55,7 +55,7 @@ func (ns *Namespace) AsTime(v interface{}, args ...interface{}) (interface{}, er
|
|||
}
|
||||
}
|
||||
|
||||
return cast.ToTimeInDefaultLocationE(v, loc)
|
||||
return htime.ToTimeInDefaultLocationE(v, loc)
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue