🐛 Breadcrumbs are escaped multiple times Fix https://github.com/siyuan-note/siyuan/issues/8580

This commit is contained in:
Daniel 2023-06-22 16:58:24 +08:00
parent ed5700ebd6
commit 7475d79ba5
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
3 changed files with 3 additions and 19 deletions

View file

@ -27,7 +27,6 @@ import (
"github.com/88250/gulu"
"github.com/88250/lute/ast"
"github.com/88250/lute/editor"
"github.com/88250/lute/html"
"github.com/88250/lute/parse"
"github.com/siyuan-note/logging"
"github.com/siyuan-note/siyuan/kernel/sql"
@ -310,7 +309,7 @@ func buildBlockBreadcrumb(node *ast.Node, excludeTypes []string) (ret []*BlockPa
if add {
ret = append([]*BlockPath{{
ID: id,
Name: html.EscapeString(name),
Name: util.EscapeHTML(name),
Type: parent.Type.String(),
SubType: treenode.SubTypeAbbr(parent),
}}, ret...)
@ -331,7 +330,7 @@ func buildBlockBreadcrumb(node *ast.Node, excludeTypes []string) (ret []*BlockPa
name = gulu.Str.SubStr(renderBlockText(b, excludeTypes), maxNameLen)
ret = append([]*BlockPath{{
ID: b.ID,
Name: html.EscapeString(name),
Name: util.EscapeHTML(name),
Type: b.Type.String(),
SubType: treenode.SubTypeAbbr(b),
}}, ret...)

View file

@ -522,20 +522,6 @@ func nodeContentByBlock(block *Block) (ret string) {
return
}
func nodeContentByNode(node *ast.Node, text string) (ret string) {
if ret = node.IALAttr("name"); "" != ret {
return
}
if ret = node.IALAttr("memo"); "" != ret {
return
}
if maxLen := 48; maxLen < utf8.RuneCountInString(text) {
text = gulu.Str.SubStr(text, maxLen) + "..."
}
ret = html.EscapeString(text)
return
}
func graphTypeFilter(local bool) string {
var inList []string

View file

@ -33,7 +33,6 @@ import (
"github.com/88250/gulu"
"github.com/88250/lute"
"github.com/88250/lute/ast"
"github.com/88250/lute/html"
"github.com/88250/lute/lex"
"github.com/88250/lute/parse"
"github.com/88250/vitess-sqlparser/sqlparser"
@ -887,7 +886,7 @@ func fromSQLBlock(sqlBlock *sql.Block, terms string, beforeLen int) (block *Bloc
}
id := sqlBlock.ID
content := html.EscapeString(sqlBlock.Content) // Search dialog XSS https://github.com/siyuan-note/siyuan/issues/8525
content := util.EscapeHTML(sqlBlock.Content) // Search dialog XSS https://github.com/siyuan-note/siyuan/issues/8525
content, _ = markSearch(content, terms, beforeLen)
content = maxContent(content, 5120)
markdown := maxContent(sqlBlock.Markdown, 5120)