|
|
@ -31,17 +31,19 @@ import ( |
|
|
|
"github.com/gogits/gogs/modules/setting" |
|
|
|
"github.com/gogits/gogs/modules/setting" |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
func BuildSanitizer() (p *bluemonday.Policy) { |
|
|
|
var Sanitizer = bluemonday.UGCPolicy() |
|
|
|
p = bluemonday.UGCPolicy() |
|
|
|
|
|
|
|
p.AllowAttrs("class").Matching(regexp.MustCompile(`[\p{L}\p{N}\s\-_',:\[\]!\./\\\(\)&]*`)).OnElements("code") |
|
|
|
func BuildSanitizer() { |
|
|
|
|
|
|
|
// Normal markdown-stuff
|
|
|
|
p.AllowAttrs("type").Matching(regexp.MustCompile(`^checkbox$`)).OnElements("input") |
|
|
|
Sanitizer.AllowAttrs("class").Matching(regexp.MustCompile(`[\p{L}\p{N}\s\-_',:\[\]!\./\\\(\)&]*`)).OnElements("code") |
|
|
|
p.AllowAttrs("checked", "disabled").OnElements("input") |
|
|
|
|
|
|
|
p.AllowURLSchemes(setting.Markdown.CustomURLSchemes...) |
|
|
|
|
|
|
|
return p |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Sanitizer = BuildSanitizer() |
|
|
|
// Checkboxes
|
|
|
|
|
|
|
|
Sanitizer.AllowAttrs("type").Matching(regexp.MustCompile(`^checkbox$`)).OnElements("input") |
|
|
|
|
|
|
|
Sanitizer.AllowAttrs("checked", "disabled").OnElements("input") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Custom URL-Schemes
|
|
|
|
|
|
|
|
Sanitizer.AllowURLSchemes(setting.Markdown.CustomURLSchemes...) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// EncodeMD5 encodes string to md5 hex value.
|
|
|
|
// EncodeMD5 encodes string to md5 hex value.
|
|
|
|
func EncodeMD5(str string) string { |
|
|
|
func EncodeMD5(str string) string { |
|
|
|