package models import ( "blog/config" "sync" ) var Navigation Navs var ArticleList Articles var ArticleShortUrlMap map[string]string //用来保证文章 shortUrl 唯一和快速定位文章 var Template HtmlTemplate func CompiledContent() { config.Initial() //克隆或者更新文档库 //下面是对内容的生成 wg := sync.WaitGroup{} var err error //导航 wg.Add(1) go func() { Navigation, err = initExtraNav(config.Cfg.DocumentExtraNavDir) if err != nil { panic(err) } wg.Done() }() //加载html模板 wg.Add(1) go func() { Template, err = initHtmlTemplate(config.Cfg.ThemesDir) if err != nil { panic(err) } wg.Done() }() //文章 wg.Add(1) go func() { ArticleList, ArticleShortUrlMap, err = initArticlesAndImages(config.Cfg.DocumentContentDir) if err != nil { panic(err) } wg.Done() }() wg.Wait() //启用并发比之前节约4倍左右的时间 return }