mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 01:34:27 +00:00 
			
		
		
		
	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>
This commit is contained in:
		
							
								
								
									
										2
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.mod
									
									
									
									
									
								
							@@ -96,7 +96,7 @@ require (
 | 
			
		||||
	github.com/unknwon/paginater v0.0.0-20151104151617-7748a72e0141
 | 
			
		||||
	github.com/urfave/cli v1.20.0
 | 
			
		||||
	github.com/yohcop/openid-go v0.0.0-20160914080427-2c050d2dae53
 | 
			
		||||
	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-2aa609cf4a9d
 | 
			
		||||
	golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								go.sum
									
									
									
									
									
								
							@@ -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",
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/github.com/yuin/goldmark/extension/tasklist.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/yuin/goldmark/extension/tasklist.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -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
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										29
									
								
								vendor/github.com/yuin/goldmark/parser/list.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										29
									
								
								vendor/github.com/yuin/goldmark/parser/list.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -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
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							@@ -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,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user