Merge pull request #2396 from bkcsoft/feature/markdown-checklist
[Feature] Markdown Checklist-rendering
This commit is contained in:
commit
71b9537393
@ -142,6 +142,16 @@ func (r *CustomRender) AutoLink(out *bytes.Buffer, link []byte, kind int) {
|
|||||||
r.Renderer.AutoLink(out, link, kind)
|
r.Renderer.AutoLink(out, link, kind)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (options *CustomRender) ListItem(out *bytes.Buffer, text []byte, flags int) {
|
||||||
|
switch {
|
||||||
|
case bytes.HasPrefix(text, []byte("[ ] ")):
|
||||||
|
text = append([]byte(`<input type="checkbox" disabled="" />`), text[3:]...)
|
||||||
|
case bytes.HasPrefix(text, []byte("[x] ")):
|
||||||
|
text = append([]byte(`<input type="checkbox" disabled="" checked="" />`), text[3:]...)
|
||||||
|
}
|
||||||
|
options.Renderer.ListItem(out, text, flags)
|
||||||
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
svgSuffix = []byte(".svg")
|
svgSuffix = []byte(".svg")
|
||||||
svgSuffixWithMark = []byte(".svg?")
|
svgSuffixWithMark = []byte(".svg?")
|
||||||
|
@ -31,7 +31,16 @@ import (
|
|||||||
"github.com/gogits/gogs/modules/setting"
|
"github.com/gogits/gogs/modules/setting"
|
||||||
)
|
)
|
||||||
|
|
||||||
var Sanitizer = bluemonday.UGCPolicy().AllowAttrs("class").Matching(regexp.MustCompile(`[\p{L}\p{N}\s\-_',:\[\]!\./\\\(\)&]*`)).OnElements("code")
|
func BuildSanitizer() (p *bluemonday.Policy) {
|
||||||
|
p = bluemonday.UGCPolicy()
|
||||||
|
p.AllowAttrs("class").Matching(regexp.MustCompile(`[\p{L}\p{N}\s\-_',:\[\]!\./\\\(\)&]*`)).OnElements("code")
|
||||||
|
|
||||||
|
p.AllowAttrs("type").Matching(regexp.MustCompile(`^checkbox$`)).OnElements("input")
|
||||||
|
p.AllowAttrs("checked", "disabled").OnElements("input")
|
||||||
|
return p
|
||||||
|
}
|
||||||
|
|
||||||
|
var Sanitizer = BuildSanitizer()
|
||||||
|
|
||||||
// EncodeMD5 encodes string to md5 hex value.
|
// EncodeMD5 encodes string to md5 hex value.
|
||||||
func EncodeMD5(str string) string {
|
func EncodeMD5(str string) string {
|
||||||
|
Loading…
Reference in New Issue
Block a user