This is an automated email from the ASF dual-hosted git repository. shuai pushed a commit to branch feat/1.3.0/ui in repository https://gitbox.apache.org/repos/asf/incubator-answer.git
commit 6c9868dcb31068a2021d2de80468898f8aa20471 Author: shuai <[email protected]> AuthorDate: Wed Mar 6 18:43:43 2024 +0800 fix: template supports multiple script tags --- internal/controller/template_controller.go | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/internal/controller/template_controller.go b/internal/controller/template_controller.go index 6b4c4bbe..b128b91a 100644 --- a/internal/controller/template_controller.go +++ b/internal/controller/template_controller.go @@ -22,7 +22,6 @@ package controller import ( "encoding/json" "fmt" - "github.com/apache/incubator-answer/internal/entity" "html/template" "net/http" "regexp" @@ -32,6 +31,7 @@ import ( "github.com/apache/incubator-answer/internal/base/constant" "github.com/apache/incubator-answer/internal/base/handler" templaterender "github.com/apache/incubator-answer/internal/controller/template_render" + "github.com/apache/incubator-answer/internal/entity" "github.com/apache/incubator-answer/internal/schema" "github.com/apache/incubator-answer/internal/service/siteinfo_common" "github.com/apache/incubator-answer/pkg/checker" @@ -47,7 +47,7 @@ import ( var SiteUrl = "" type TemplateController struct { - scriptPath string + scriptPath []string cssPath string templateRenderController *templaterender.TemplateRenderController siteInfoService siteinfo_common.SiteInfoCommonService @@ -66,18 +66,21 @@ func NewTemplateController( siteInfoService: siteInfoService, } } -func GetStyle() (script, css string) { +func GetStyle() (script []string, css string) { file, err := ui.Build.ReadFile("build/index.html") if err != nil { return } - scriptRegexp := regexp.MustCompile(`<script defer="defer" src="(.*)"></script>`) - scriptData := scriptRegexp.FindStringSubmatch(string(file)) + scriptRegexp := regexp.MustCompile(`<script defer="defer" src="([^"]*)"></script>`) + scriptData := scriptRegexp.FindAllStringSubmatch(string(file), -1) + for _, s := range scriptData { + if len(s) == 2 { + script = append(script, s[1]) + } + } + cssRegexp := regexp.MustCompile(`<link href="(.*)" rel="stylesheet">`) cssListData := cssRegexp.FindStringSubmatch(string(file)) - if len(scriptData) == 2 { - script = scriptData[1] - } if len(cssListData) == 2 { css = cssListData[1] }
