Browse Source
Fix task-list checkbox styling (#10668 )
* Fix task-list checkbox styling
The pandoc renderer will append the class "task-list" to the ul element
wrapping a li with one or more check-boxes. This allows us to select for
them, removing their list-style-type property. However, goldmark and the
gfm spec doesn't specify the "task-list" class name, so we can't use
that to fix the issue there.
Signed-off-by: Alexander Scheel <alexander.m.scheel@gmail.com>
* Update to goldmark v1.1.25
This version adds the missing space after a checkbox.
Resolves : #9656
Signed-off-by: Alexander Scheel <alexander.m.scheel@gmail.com>
Co-authored-by: zeripath <art27@cantab.net>
mj
Alexander Scheel
3 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with
28 additions and
18 deletions
go.mod
go.sum
modules/markup/sanitizer.go
vendor/github.com/yuin/goldmark/extension/tasklist.go
vendor/github.com/yuin/goldmark/parser/list.go
vendor/modules.txt
web_src/less/_markdown.less
@ -96,7 +96,7 @@ require (
github . com / unknwon / paginater v0 . 0.0 - 20151104151617 - 7748 a72e0141
github . com / urfave / cli v1 . 20.0
github . com / yohcop / openid - go v0 . 0.0 - 20160914080427 - 2 c050d2dae53
github . com / yuin / goldmark v1 . 1.24
github . com / yuin / goldmark v1 . 1.25
go . etcd . io / bbolt v1 . 3.3 / / indirect
golang . org / x / crypto v0 . 0.0 - 20200221231518 - 2 aa609cf4a9d
golang . org / x / net v0 . 0.0 - 20200114155413 - 6 afb5195e5aa
@ -576,6 +576,7 @@ github.com/yohcop/openid-go v0.0.0-20160914080427-2c050d2dae53 h1:HsIQ6yAjfjQ3Ix
github.com/yohcop/openid-go v0.0.0-20160914080427-2c050d2dae53/go.mod h1:f6elajwZV+xceiaqgRL090YzLEDGSbqr3poGL3ZgXYo=
github.com/yuin/goldmark v1.1.24 h1:K4FemPDr4x/ZcqldoXWnexTLfdMIy2eEfXxsLnotTRI=
github.com/yuin/goldmark v1.1.24/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/ziutek/mymysql v1.5.4 h1:GB0qdRGsTwQSBVYuVShFBKaXSnSnYYC2d9knnE1LHFs=
github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0=
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
@ -53,6 +53,9 @@ func ReplaceSanitizer() {
// Allow classes for anchors
sanitizer . policy . AllowAttrs ( "class" ) . Matching ( regexp . MustCompile ( ` ref-issue ` ) ) . OnElements ( "a" )
// Allow classes for task lists
sanitizer . policy . AllowAttrs ( "class" ) . Matching ( regexp . MustCompile ( ` task-list ` ) ) . OnElements ( "ul" )
// Allow generally safe attributes
generalSafeAttrs := [ ] string { "abbr" , "accept" , "accept-charset" ,
"accesskey" , "action" , "align" , "alt" ,
@ -92,9 +92,9 @@ func (r *TaskCheckBoxHTMLRenderer) renderTaskCheckBox(w util.BufWriter, source [
w . WriteString ( ` <input disabled="" type="checkbox" ` )
}
if r . XHTML {
w . WriteString ( " />" )
w . WriteString ( " /> " )
} else {
w . WriteString ( ">" )
w . WriteString ( "> " )
}
return gast . WalkContinue , nil
}
@ -166,20 +166,6 @@ func (b *listParser) Continue(node ast.Node, reader text.Reader, pc Context) Sta
}
return Continue | HasChildren
}
// Thematic Breaks take precedence over lists
if isThematicBreak ( line , reader . LineOffset ( ) ) {
isHeading := false
last := pc . LastOpenedBlock ( ) . Node
if ast . IsParagraph ( last ) {
c , ok := matchesSetextHeadingBar ( line )
if ok && c == '-' {
isHeading = true
}
}
if ! isHeading {
return Close
}
}
// "offset" means a width that bar indicates.
// - aaaaaaaa
@ -200,6 +186,21 @@ func (b *listParser) Continue(node ast.Node, reader text.Reader, pc Context) Sta
if ! list . CanContinue ( marker , typ == orderedList ) {
return Close
}
// Thematic Breaks take precedence over lists
if isThematicBreak ( line [ match [ 3 ] - 1 : ] , 0 ) {
isHeading := false
last := pc . LastOpenedBlock ( ) . Node
if ast . IsParagraph ( last ) {
c , ok := matchesSetextHeadingBar ( line )
if ok && c == '-' {
isHeading = true
}
}
if ! isHeading {
return Close
}
}
return Continue | HasChildren
}
}
@ -452,7 +452,7 @@ github.com/willf/bitset
github.com/xanzy/ssh-agent
# github.com/yohcop/openid-go v0.0.0-20160914080427-2c050d2dae53
github.com/yohcop/openid-go
# github.com/yuin/goldmark v1.1.24
# github.com/yuin/goldmark v1.1.25
github.com/yuin/goldmark
github.com/yuin/goldmark/ast
github.com/yuin/goldmark/extension
@ -192,6 +192,11 @@
list-style-type: none;
}
ul.task-list,
ol.task-list {
list-style-type: none;
}
ul ul,
ul ol,
ol ol,