mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-17 07:00:12 +01:00
🎨 Add some template function about date https://github.com/siyuan-note/siyuan/pull/9812
This commit is contained in:
parent
86547f77b5
commit
5c5f7da1e6
2 changed files with 28 additions and 25 deletions
|
|
@ -43,32 +43,13 @@ import (
|
||||||
"github.com/siyuan-note/siyuan/kernel/util"
|
"github.com/siyuan-note/siyuan/kernel/util"
|
||||||
)
|
)
|
||||||
|
|
||||||
/**
|
|
||||||
* [0-6] represents [Sunday - Saturday]
|
|
||||||
*/
|
|
||||||
func Weekday(date time.Time) int {
|
|
||||||
return int(date.Weekday())
|
|
||||||
}
|
|
||||||
|
|
||||||
func WeekdayCN(date time.Time) string {
|
|
||||||
week := GetWeekday(date)
|
|
||||||
weekdayCN := []string{"日", "一", "二", "三", "四", "五", "六"}
|
|
||||||
return weekdayCN[week]
|
|
||||||
}
|
|
||||||
|
|
||||||
// date is in `week`-th weak of this year
|
|
||||||
func ISOWeek(date time.Time) int {
|
|
||||||
_, week := date.ISOWeek()
|
|
||||||
return week
|
|
||||||
}
|
|
||||||
|
|
||||||
func RenderGoTemplate(templateContent string) (ret string, err error) {
|
func RenderGoTemplate(templateContent string) (ret string, err error) {
|
||||||
tmpl := template.New("")
|
tmpl := template.New("")
|
||||||
tmpl = tmpl.Funcs(sprig.TxtFuncMap())
|
tmpl = tmpl.Funcs(sprig.TxtFuncMap())
|
||||||
tmpl = tmpl.Funcs(template.FuncMap{
|
tmpl = tmpl.Funcs(template.FuncMap{
|
||||||
"Weekday": Weekday,
|
"Weekday": util.Weekday,
|
||||||
"WeekdayCN": WeekdayCN,
|
"WeekdayCN": util.WeekdayCN,
|
||||||
"ISOWeek": ISOWeek,
|
"ISOWeek": util.ISOWeek,
|
||||||
})
|
})
|
||||||
tpl, err := tmpl.Parse(templateContent)
|
tpl, err := tmpl.Parse(templateContent)
|
||||||
if nil != err {
|
if nil != err {
|
||||||
|
|
@ -266,9 +247,9 @@ func renderTemplate(p, id string, preview bool) (string, error) {
|
||||||
}
|
}
|
||||||
return ret
|
return ret
|
||||||
}
|
}
|
||||||
funcMap["Weekday"] = Weekday
|
funcMap["Weekday"] = util.Weekday
|
||||||
funcMap["WeekdayCN"] = WeekdayCN
|
funcMap["WeekdayCN"] = util.WeekdayCN
|
||||||
funcMap["ISOWeek"] = ISOWeek
|
funcMap["ISOWeek"] = util.ISOWeek
|
||||||
|
|
||||||
goTpl := template.New("").Delims(".action{", "}")
|
goTpl := template.New("").Delims(".action{", "}")
|
||||||
tpl, err := goTpl.Funcs(funcMap).Parse(gulu.Str.FromBytes(md))
|
tpl, err := goTpl.Funcs(funcMap).Parse(gulu.Str.FromBytes(md))
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,28 @@ import (
|
||||||
"github.com/dustin/go-humanize"
|
"github.com/dustin/go-humanize"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Weekday returns the day of the week specified by date.
|
||||||
|
// Sunday=0, Monday=1, ..., Saturday=6.
|
||||||
|
func Weekday(date time.Time) int {
|
||||||
|
return int(date.Weekday())
|
||||||
|
}
|
||||||
|
|
||||||
|
// WeekdayCN returns the day of the week specified by date.
|
||||||
|
// Sunday=日, Monday=一, ..., Saturday=六.
|
||||||
|
func WeekdayCN(date time.Time) string {
|
||||||
|
week := Weekday(date)
|
||||||
|
weekdayCN := []string{"日", "一", "二", "三", "四", "五", "六"}
|
||||||
|
return weekdayCN[week]
|
||||||
|
}
|
||||||
|
|
||||||
|
// ISOWeek returns the ISO 8601 year and week number in which date occurs.
|
||||||
|
// Week ranges from 1 to 53. Jan 01 to Jan 03 of year n might belong to week 52 or 53 of year n-1,
|
||||||
|
// and Dec 29 to Dec 31 might belong to week 1 of year n+1.
|
||||||
|
func ISOWeek(date time.Time) int {
|
||||||
|
_, week := date.ISOWeek()
|
||||||
|
return week
|
||||||
|
}
|
||||||
|
|
||||||
func Millisecond2Time(t int64) time.Time {
|
func Millisecond2Time(t int64) time.Time {
|
||||||
sec := t / 1000
|
sec := t / 1000
|
||||||
msec := t % 1000
|
msec := t % 1000
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue