Blog/models/extra_nav.go

35 lines
656 B
Go

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