package sitebuilder import ( "html/template" "net/url" "path/filepath" "time" "lmika.dev/lmika/weiro/models" ) func templateFns(site models.Site, opts Options) template.FuncMap { return template.FuncMap{ "url_abs": func(basePath string) (string, error) { if site.Meta.BaseURL == "" { return basePath, nil } pu, err := url.Parse(site.Meta.BaseURL) if err != nil { return "", err } pu.Path = filepath.Join(pu.Path, basePath) return pu.String(), nil }, "format_date": func(date time.Time) string { loc := opts.RenderTZ if loc == nil { loc = time.Local } return date.In(loc).Format("02 Jan 2006") }, } }