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
|
|
|
|
}
|