diff --git a/internal/schema/user_schema.go b/internal/schema/user_schema.go index 308568c8a..dcc8ad895 100644 --- a/internal/schema/user_schema.go +++ b/internal/schema/user_schema.go @@ -309,7 +309,7 @@ func (req *UpdateInfoRequest) Check() (errFields []*validator.FormErrorField, er return errFields, errors.BadRequest(reason.UsernameInvalid) } } - req.BioHTML = converter.Markdown2HTML(req.Bio) + req.BioHTML = converter.Markdown2BasicHTML(req.Bio) return nil, nil } diff --git a/pkg/converter/markdown.go b/pkg/converter/markdown.go index d61d79f94..b1e2a4185 100644 --- a/pkg/converter/markdown.go +++ b/pkg/converter/markdown.go @@ -35,6 +35,17 @@ func Markdown2HTML(source string) string { return buf.String() } +// Markdown2BasicHTML convert markdown to html ,Only basic syntax can be used +func Markdown2BasicHTML(source string) string { + content := Markdown2HTML(source) + filter := bluemonday.NewPolicy() + filter.AllowElements("p", "b", "br") + filter.AllowAttrs("src").OnElements("img") + filter.AddSpaceWhenStrippingTag(true) + content = filter.Sanitize(content) + return content +} + type DangerousHTMLFilterExtension struct { }