code.gitea.io/gitea@v1.22.3/modules/templates/base.go (about) 1 // Copyright 2020 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package templates 5 6 import ( 7 "slices" 8 "strings" 9 10 "code.gitea.io/gitea/modules/assetfs" 11 "code.gitea.io/gitea/modules/setting" 12 ) 13 14 func AssetFS() *assetfs.LayeredFS { 15 return assetfs.Layered(CustomAssets(), BuiltinAssets()) 16 } 17 18 func CustomAssets() *assetfs.Layer { 19 return assetfs.Local("custom", setting.CustomPath, "templates") 20 } 21 22 func ListWebTemplateAssetNames(assets *assetfs.LayeredFS) ([]string, error) { 23 files, err := assets.ListAllFiles(".", true) 24 if err != nil { 25 return nil, err 26 } 27 return slices.DeleteFunc(files, func(file string) bool { 28 return strings.HasPrefix(file, "mail/") || !strings.HasSuffix(file, ".tmpl") 29 }), nil 30 } 31 32 func ListMailTemplateAssetNames(assets *assetfs.LayeredFS) ([]string, error) { 33 files, err := assets.ListAllFiles(".", true) 34 if err != nil { 35 return nil, err 36 } 37 return slices.DeleteFunc(files, func(file string) bool { 38 return !strings.HasPrefix(file, "mail/") || !strings.HasSuffix(file, ".tmpl") 39 }), nil 40 }