Blog/models/common.go

51 lines
925 B
Go
Raw Normal View History

2024-03-21 07:25:12 +00:00
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
}