mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-08-22 04:28:06 +02:00
Partially for #24457 Major changes: 1. The old `signedUserNameStringPointerKey` is quite hacky, use `ctx.Data[SignedUser]` instead 2. Move duplicate code from `Contexter` to `CommonTemplateContextData` 3. Remove incorrect copying&pasting code `ctx.Data["Err_Password"] = true` in API handlers 4. Use one unique `RenderPanicErrorPage` for panic error page rendering 5. Move `stripSlashesMiddleware` to be the first middleware 6. Install global panic recovery handler, it works for both `install` and `web` 7. Make `500.tmpl` only depend minimal template functions/variables, avoid triggering new panics Screenshot: <details> ![image](https://user-images.githubusercontent.com/2114189/235444895-cecbabb8-e7dc-4360-a31c-b982d11946a7.png) </details>
40 lines
1.1 KiB
Go
40 lines
1.1 KiB
Go
// Copyright 2020 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package templates
|
|
|
|
import (
|
|
"strings"
|
|
|
|
"code.gitea.io/gitea/modules/assetfs"
|
|
"code.gitea.io/gitea/modules/setting"
|
|
"code.gitea.io/gitea/modules/util"
|
|
)
|
|
|
|
func AssetFS() *assetfs.LayeredFS {
|
|
return assetfs.Layered(CustomAssets(), BuiltinAssets())
|
|
}
|
|
|
|
func CustomAssets() *assetfs.Layer {
|
|
return assetfs.Local("custom", setting.CustomPath, "templates")
|
|
}
|
|
|
|
func ListWebTemplateAssetNames(assets *assetfs.LayeredFS) ([]string, error) {
|
|
files, err := assets.ListAllFiles(".", true)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return util.SliceRemoveAllFunc(files, func(file string) bool {
|
|
return strings.HasPrefix(file, "mail/") || !strings.HasSuffix(file, ".tmpl")
|
|
}), nil
|
|
}
|
|
|
|
func ListMailTemplateAssetNames(assets *assetfs.LayeredFS) ([]string, error) {
|
|
files, err := assets.ListAllFiles(".", true)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return util.SliceRemoveAllFunc(files, func(file string) bool {
|
|
return !strings.HasPrefix(file, "mail/") || !strings.HasSuffix(file, ".tmpl")
|
|
}), nil
|
|
}
|