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