package handler import ( "os" "path/filepath" "strings" "github.com/gin-gonic/gin" ) func Index(c *gin.Context) { articleBasePath := "./article" list := make([]string, 0) err := filepath.Walk(articleBasePath, func(path string, info os.FileInfo, err error) error { // 如果是目录,直接返回 if info.IsDir() { return nil } // 如果文件扩展名不是 .md,直接返回 if filepath.Ext(path) != ".md" { return nil } filePath := path uri := filePath[:len(filePath)-len(filepath.Ext(filePath))] uri = strings.Replace(uri, "article\\", "", -1) uri = strings.Replace(uri, "\\", "-", -1) list = append(list, uri) return nil }) if err != nil { panic(err) } c.HTML(200, "index.html", gin.H{ "list": list, }) }