diff options
Diffstat (limited to 'modules/markup/markdown')
-rw-r--r-- | modules/markup/markdown/goldmark.go | 19 | ||||
-rw-r--r-- | modules/markup/markdown/markdown_test.go | 6 |
2 files changed, 13 insertions, 12 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 { diff --git a/modules/markup/markdown/markdown_test.go b/modules/markup/markdown/markdown_test.go index 46a380aa6c..76c6d28d07 100644 --- a/modules/markup/markdown/markdown_test.go +++ b/modules/markup/markdown/markdown_test.go @@ -166,9 +166,9 @@ func testAnswers(baseURLContent, baseURLImages string) []string { <p>(from <a href="https://www.markdownguide.org/extended-syntax/" rel="nofollow">https://www.markdownguide.org/extended-syntax/</a>)</p> <h3 id="user-content-checkboxes">Checkboxes</h3> <ul> -<li class="task-list-item"><input type="checkbox" disabled=""/>unchecked</li> -<li class="task-list-item"><input type="checkbox" disabled="" checked=""/>checked</li> -<li class="task-list-item"><input type="checkbox" disabled=""/>still unchecked</li> +<li class="task-list-item"><input type="checkbox" disabled="" data-source-position="434"/>unchecked</li> +<li class="task-list-item"><input type="checkbox" disabled="" data-source-position="450" checked=""/>checked</li> +<li class="task-list-item"><input type="checkbox" disabled="" data-source-position="464"/>still unchecked</li> </ul> <h3 id="user-content-definition-list">Definition list</h3> <dl> |