package models import ( "html/template" "main/mvc/models/models_pages" "time" ) type App struct { Cfg *Config // Сонфиг Posts models_pages.Posts // Посты Templates *template.Template // Шаблоны страниц PagesCache *Cache // Кэш (отрендеренные странички) Version int64 // Время запуска } // Инициализирует приложение func InitApp() (*App, error) { var err error app := &App{} // Версия чтобы статика не кэшировалась app.Version = time.Now().Unix() // Загрузка конфига if app.Cfg, err = loadConfig(ConfigPath); err != nil { return nil, err } // Загрузка постов if app.Posts, err = models_pages.LoadPosts(app.Cfg.PostsDir); err != nil { return nil, err } // Загрузка шаблонов if app.Templates, err = loadTemplates(app.Cfg.TemplatesDir, app.Cfg.TemplatesExt); err != nil { return nil, err } // Инициализация кэша app.PagesCache = initCache() return app, nil }