Blog/models/common.go

62 lines
1.1 KiB
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
2024-06-03 08:15:23 +00:00
var Api ApiTemplate
2024-03-21 07:25:12 +00:00
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()
}()
2024-06-03 08:15:23 +00:00
//加载Api信息模板
wg.Add(1)
go func() {
Api, err = initApiTemplate(config.Cfg.ThemesDir)
if err != nil {
panic(err)
}
wg.Done()
}()
2024-03-21 07:25:12 +00:00
//文章
wg.Add(1)
go func() {
ArticleList, ArticleShortUrlMap, err = initArticlesAndImages(config.Cfg.DocumentContentDir)
if err != nil {
panic(err)
}
wg.Done()
}()
wg.Wait()
//启用并发比之前节约4倍左右的时间
return
}