cityuni-webserver/pageHandler/pages/index/entry.go
Captain ALM f280becd89
All checks were successful
continuous-integration/drone/push Build is passing
Add initial index page code.
Fix Makefile stuff.
2022-07-16 22:20:56 +01:00

49 lines
1.1 KiB
Go

package index
import (
"html/template"
"time"
)
const dateFormat = "2006-01-02"
type EntryYaml struct {
Name string `yaml:"name"`
Content string `yaml:"content"`
StartDate time.Time `yaml:"startDate"`
EndDate time.Time `yaml:"endDate"`
VideoLocation string `yaml:"videoLocation"`
VideoContentType string `yaml:"videoContentType"`
ThumbnailLocations []string `yaml:"thumbnailLocations"`
ImageLocations []string `yaml:"imageLocations"`
Links []string `yaml:"links"`
}
func (ey EntryYaml) GetStartDate() string {
return ey.StartDate.Format(dateFormat)
}
func (ey EntryYaml) GetEndDate() string {
if ey.EndDate.IsZero() {
return ""
} else {
return ey.EndDate.Format(dateFormat)
}
}
func (ey EntryYaml) GetEndTime() time.Time {
if ey.EndDate.IsZero() {
return time.Now()
} else {
return ey.EndDate
}
}
func (ey EntryYaml) GetContent() template.HTML {
return template.HTML(ey.Content)
}
func (ey EntryYaml) GetDuration() time.Duration {
return ey.GetEndTime().Sub(ey.StartDate).Truncate(time.Second)
}