summaryrefslogtreecommitdiffstats
path: root/modules/markup/markdown
diff options
context:
space:
mode:
Diffstat (limited to 'modules/markup/markdown')
-rw-r--r--modules/markup/markdown/goldmark.go19
-rw-r--r--modules/markup/markdown/markdown_test.go6
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>