2024-03-21 07:25:12 +00:00
|
|
|
package models
|
|
|
|
|
|
|
|
import (
|
|
|
|
"sort"
|
|
|
|
"strings"
|
|
|
|
)
|
|
|
|
|
|
|
|
type Nav struct {
|
|
|
|
Title string
|
|
|
|
Path string
|
|
|
|
}
|
|
|
|
type Navs []Nav
|
|
|
|
|
2024-05-03 14:14:21 +00:00
|
|
|
// initExtraNav 初始化额外导航栏
|
2024-03-21 07:25:12 +00:00
|
|
|
func initExtraNav(dir string) (Navs, error) {
|
|
|
|
|
|
|
|
var navigation Navs
|
|
|
|
var extraNav Articles
|
|
|
|
|
2024-05-03 14:14:21 +00:00
|
|
|
// 递归读取文章
|
2024-03-21 07:25:12 +00:00
|
|
|
extraNav, err := RecursiveReadArticles(dir)
|
|
|
|
if err != nil {
|
|
|
|
return navigation, err
|
|
|
|
}
|
|
|
|
sort.Sort(extraNav)
|
|
|
|
|
2024-05-03 14:14:21 +00:00
|
|
|
// 将文章标题格式化为大写开头的标题,并添加到导航栏中
|
2024-03-21 07:25:12 +00:00
|
|
|
for _, article := range extraNav {
|
|
|
|
title := strings.Title(strings.ToLower(article.Title))
|
|
|
|
navigation = append(navigation, Nav{Title: title, Path: article.Path})
|
|
|
|
}
|
|
|
|
|
|
|
|
return navigation, nil
|
|
|
|
}
|