package models import ( "html/template" "os" "path/filepath" "strings" "time" ) // App хранит шаблоны и время запуска type app struct { Templates *template.Template // Шаблоны страниц Version int64 // Время запуска } var ( App = &app{} ) // Инициализирует приложение func InitApp() error { App.Version = time.Now().Unix() // Загрузка шаблонов if err := App.loadTemplates(Cfg.TemplatesDir, Cfg.TemplatesExt); err != nil { return err } return nil } // Загрузка шаблонов func (a *app) loadTemplates(templatesPath string, ext string) error { tmpls := template.New("") err := filepath.Walk(templatesPath, func(path string, f os.FileInfo, err error) error { if err != nil { return err } if !f.IsDir() && strings.HasSuffix(f.Name(), ext) { _, err = tmpls.ParseFiles(path) if err != nil { return err } } return nil }) if err != nil { return err } a.Templates = tmpls return nil }