mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-27 00:23:41 +09: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