mirror of
https://github.com/gohugoio/hugo.git
synced 2025-04-28 06:30:33 +03:00
Add support for native Org dates in frontmatter
This commit is contained in:
parent
127d5feb32
commit
c66dc6c74f
2 changed files with 12 additions and 0 deletions
|
@ -18,6 +18,7 @@ import (
|
|||
"encoding/csv"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"regexp"
|
||||
"strings"
|
||||
|
||||
"github.com/gohugoio/hugo/common/herrors"
|
||||
|
@ -203,6 +204,14 @@ func (d Decoder) unmarshalCSV(data []byte, v interface{}) error {
|
|||
|
||||
}
|
||||
|
||||
func parseORGDate(s string) string {
|
||||
r := regexp.MustCompile(`[<\[](\d{4}-\d{2}-\d{2}) .*[>\]]`)
|
||||
if m := r.FindStringSubmatch(s); m != nil {
|
||||
return m[1]
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
func (d Decoder) unmarshalORG(data []byte, v interface{}) error {
|
||||
config := org.New()
|
||||
config.Log = jww.WARN
|
||||
|
@ -218,6 +227,8 @@ func (d Decoder) unmarshalORG(data []byte, v interface{}) error {
|
|||
} else if k == "tags" || k == "categories" || k == "aliases" {
|
||||
jww.WARN.Printf("Please use '#+%s[]:' notation, automatic conversion is deprecated.", k)
|
||||
frontMatter[k] = strings.Fields(v)
|
||||
} else if k == "date" {
|
||||
frontMatter[k] = parseORGDate(v)
|
||||
} else {
|
||||
frontMatter[k] = v
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue