diff options
Diffstat (limited to 'modules/markup/markdown/goldmark.go')
-rw-r--r-- | modules/markup/markdown/goldmark.go | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/modules/markup/markdown/goldmark.go b/modules/markup/markdown/goldmark.go index ad77177db4..f1c259f824 100644 --- a/modules/markup/markdown/goldmark.go +++ b/modules/markup/markdown/goldmark.go @@ -384,18 +384,19 @@ func (r *HTMLRenderer) renderTaskCheckBoxListItem(w util.BufWriter, source []byt } else { _, _ = w.WriteString("<li>") } - end := ">" - if r.XHTML { - end = " />" + _, _ = w.WriteString(`<input type="checkbox" disabled=""`) + segments := node.FirstChild().Lines() + if segments.Len() > 0 { + segment := segments.At(0) + _, _ = w.WriteString(fmt.Sprintf(` data-source-position="%d"`, segment.Start)) } - var err error if n.IsChecked { - _, err = w.WriteString(`<input type="checkbox" disabled="" checked=""` + end) - } else { - _, err = w.WriteString(`<input type="checkbox" disabled=""` + end) + _, _ = w.WriteString(` checked=""`) } - if err != nil { - return ast.WalkStop, err + if r.XHTML { + _, _ = w.WriteString(` />`) + } else { + _ = w.WriteByte('>') } fc := n.FirstChild() if fc != nil { |