issue-keyword class is being incorrectly stripped off spans (#16163)
Bluemonday sanitizer regexp rules are not additive, so the addition of the icons, emojis and chroma syntax policy has led to this being stripped. Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
		
							parent
							
								
									3bf7a83d7f
								
							
						
					
					
						commit
						f4d3bf7867
					
				
					 1 changed files with 2 additions and 5 deletions
				
			
		|  | @ -50,9 +50,6 @@ func ReplaceSanitizer() { | ||||||
| 		sanitizer.policy.AllowURLSchemes(setting.Markdown.CustomURLSchemes...) | 		sanitizer.policy.AllowURLSchemes(setting.Markdown.CustomURLSchemes...) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// Allow keyword markup
 |  | ||||||
| 	sanitizer.policy.AllowAttrs("class").Matching(regexp.MustCompile(`^` + keywordClass + `$`)).OnElements("span") |  | ||||||
| 
 |  | ||||||
| 	// Allow classes for anchors
 | 	// Allow classes for anchors
 | ||||||
| 	sanitizer.policy.AllowAttrs("class").Matching(regexp.MustCompile(`ref-issue`)).OnElements("a") | 	sanitizer.policy.AllowAttrs("class").Matching(regexp.MustCompile(`ref-issue`)).OnElements("a") | ||||||
| 
 | 
 | ||||||
|  | @ -68,8 +65,8 @@ func ReplaceSanitizer() { | ||||||
| 	// Allow classes for emojis
 | 	// Allow classes for emojis
 | ||||||
| 	sanitizer.policy.AllowAttrs("class").Matching(regexp.MustCompile(`emoji`)).OnElements("img") | 	sanitizer.policy.AllowAttrs("class").Matching(regexp.MustCompile(`emoji`)).OnElements("img") | ||||||
| 
 | 
 | ||||||
| 	// Allow icons, emojis, and chroma syntax on span
 | 	// Allow icons, emojis, chroma syntax and keyword markup on span
 | ||||||
| 	sanitizer.policy.AllowAttrs("class").Matching(regexp.MustCompile(`^((icon(\s+[\p{L}\p{N}_-]+)+)|(emoji))$|^([a-z][a-z0-9]{0,2})$`)).OnElements("span") | 	sanitizer.policy.AllowAttrs("class").Matching(regexp.MustCompile(`^((icon(\s+[\p{L}\p{N}_-]+)+)|(emoji))$|^([a-z][a-z0-9]{0,2})$|^` + keywordClass + `$`)).OnElements("span") | ||||||
| 
 | 
 | ||||||
| 	// Allow data tables
 | 	// Allow data tables
 | ||||||
| 	sanitizer.policy.AllowAttrs("class").Matching(regexp.MustCompile(`data-table`)).OnElements("table") | 	sanitizer.policy.AllowAttrs("class").Matching(regexp.MustCompile(`data-table`)).OnElements("table") | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue