mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 03:18:24 +00:00 
			
		
		
		
	Fix task list checkbox toggle to work with YAML front matter (#25184)
Fixes #25160. `data-source-position` of checkboxes in a task list was incorrect whenever there was YAML front matter. This would result in issue content or PR descriptions getting corrupted with random `x` or space characters when a user checked or unchecked a task.
This commit is contained in:
		| @@ -178,6 +178,9 @@ func actualRender(ctx *markup.RenderContext, input io.Reader, output io.Writer) | ||||
| 	} | ||||
| 	buf = giteautil.NormalizeEOL(buf) | ||||
|  | ||||
| 	// Preserve original length. | ||||
| 	bufWithMetadataLength := len(buf) | ||||
|  | ||||
| 	rc := &RenderConfig{ | ||||
| 		Meta: renderMetaModeFromString(string(ctx.RenderMetaAs)), | ||||
| 		Icon: "table", | ||||
| @@ -185,6 +188,12 @@ func actualRender(ctx *markup.RenderContext, input io.Reader, output io.Writer) | ||||
| 	} | ||||
| 	buf, _ = ExtractMetadataBytes(buf, rc) | ||||
|  | ||||
| 	metaLength := bufWithMetadataLength - len(buf) | ||||
| 	if metaLength < 0 { | ||||
| 		metaLength = 0 | ||||
| 	} | ||||
| 	rc.metaLength = metaLength | ||||
|  | ||||
| 	pc.Set(renderConfigKey, rc) | ||||
|  | ||||
| 	if err := converter.Convert(buf, lw, parser.WithContext(pc)); err != nil { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user