diff --git a/sui/core/build.go b/sui/core/build.go index 0f865738..3e6cf189 100644 --- a/sui/core/build.go +++ b/sui/core/build.go @@ -208,7 +208,7 @@ func (page *Page) parse(doc *goquery.Document, option *BuildOption, warnings []s } p := ipage.Get() - namespace := fmt.Sprintf("__page_%s_%d", strings.ReplaceAll(name, "/", "_"), idx) + namespace := Namespace(name, idx) html, style, script, warns, err := p.BuildForImport(&BuildOption{ SSR: option.SSR, AssetRoot: option.AssetRoot, diff --git a/sui/core/utils.go b/sui/core/utils.go index 13d2be39..32fe9a69 100644 --- a/sui/core/utils.go +++ b/sui/core/utils.go @@ -2,6 +2,7 @@ package core import ( "bytes" + "fmt" "strings" "github.com/PuerkitoBio/goquery" @@ -25,3 +26,12 @@ func NewDocumentString(htmlContent string) (*goquery.Document, error) { } return goquery.NewDocumentFromNode(docNode), nil } + +// Namespace convert the name to namespace +func Namespace(name string, idx int) string { + name = strings.ReplaceAll(name, "/", "_") + name = strings.ReplaceAll(name, "[", "_") + name = strings.ReplaceAll(name, "]", "_") + namespace := fmt.Sprintf("__page_%s_%d", name, idx) + return namespace +}