mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	Remove RenderEmojiPlain from template helper (#29375)
RenderEmojiPlain(emoji.ReplaceAliases) should be called explicitly for some contents, but not for everything. Actually in modern days, in most cases it doesn't need such "ReplaceAliases". So only keep it for issue/PR titles. If anyone really needs to do ReplaceAliases for some contents, I will propose a following fix.
This commit is contained in:
		| @@ -14,7 +14,6 @@ import ( | ||||
|  | ||||
| 	user_model "code.gitea.io/gitea/models/user" | ||||
| 	"code.gitea.io/gitea/modules/base" | ||||
| 	"code.gitea.io/gitea/modules/emoji" | ||||
| 	"code.gitea.io/gitea/modules/markup" | ||||
| 	"code.gitea.io/gitea/modules/setting" | ||||
| 	"code.gitea.io/gitea/modules/svg" | ||||
| @@ -159,7 +158,6 @@ func NewFuncMap() template.FuncMap { | ||||
| 		"RenderCodeBlock":  RenderCodeBlock, | ||||
| 		"RenderIssueTitle": RenderIssueTitle, | ||||
| 		"RenderEmoji":      RenderEmoji, | ||||
| 		"RenderEmojiPlain": RenderEmojiPlain, | ||||
| 		"ReactionToEmoji":  ReactionToEmoji, | ||||
|  | ||||
| 		"RenderMarkdownToHtml": RenderMarkdownToHtml, | ||||
| @@ -215,16 +213,6 @@ func JSEscapeSafe(s string) template.HTML { | ||||
| 	return template.HTML(template.JSEscapeString(s)) | ||||
| } | ||||
|  | ||||
| func RenderEmojiPlain(s any) any { | ||||
| 	switch v := s.(type) { | ||||
| 	case string: | ||||
| 		return emoji.ReplaceAliases(v) | ||||
| 	case template.HTML: | ||||
| 		return template.HTML(emoji.ReplaceAliases(string(v))) | ||||
| 	} | ||||
| 	panic(fmt.Sprintf("unexpected type %T", s)) | ||||
| } | ||||
|  | ||||
| // DotEscape wraps a dots in names with ZWJ [U+200D] in order to prevent autolinkers from detecting these as urls | ||||
| func DotEscape(raw string) string { | ||||
| 	return strings.ReplaceAll(raw, ".", "\u200d.\u200d") | ||||
|   | ||||
| @@ -32,6 +32,7 @@ import ( | ||||
| 	"code.gitea.io/gitea/modules/base" | ||||
| 	"code.gitea.io/gitea/modules/container" | ||||
| 	"code.gitea.io/gitea/modules/context" | ||||
| 	"code.gitea.io/gitea/modules/emoji" | ||||
| 	"code.gitea.io/gitea/modules/git" | ||||
| 	issue_indexer "code.gitea.io/gitea/modules/indexer/issues" | ||||
| 	issue_template "code.gitea.io/gitea/modules/issue/template" | ||||
| @@ -1435,7 +1436,7 @@ func ViewIssue(ctx *context.Context) { | ||||
| 		return | ||||
| 	} | ||||
|  | ||||
| 	ctx.Data["Title"] = fmt.Sprintf("#%d - %s", issue.Index, issue.Title) | ||||
| 	ctx.Data["Title"] = fmt.Sprintf("#%d - %s", issue.Index, emoji.ReplaceAliases(issue.Title)) | ||||
|  | ||||
| 	iw := new(issues_model.IssueWatch) | ||||
| 	if ctx.Doer != nil { | ||||
|   | ||||
| @@ -28,6 +28,7 @@ import ( | ||||
| 	user_model "code.gitea.io/gitea/models/user" | ||||
| 	"code.gitea.io/gitea/modules/base" | ||||
| 	"code.gitea.io/gitea/modules/context" | ||||
| 	"code.gitea.io/gitea/modules/emoji" | ||||
| 	"code.gitea.io/gitea/modules/git" | ||||
| 	"code.gitea.io/gitea/modules/gitrepo" | ||||
| 	issue_template "code.gitea.io/gitea/modules/issue/template" | ||||
| @@ -335,7 +336,7 @@ func getPullInfo(ctx *context.Context) (issue *issues_model.Issue, ok bool) { | ||||
| 		ctx.ServerError("LoadRepo", err) | ||||
| 		return nil, false | ||||
| 	} | ||||
| 	ctx.Data["Title"] = fmt.Sprintf("#%d - %s", issue.Index, issue.Title) | ||||
| 	ctx.Data["Title"] = fmt.Sprintf("#%d - %s", issue.Index, emoji.ReplaceAliases(issue.Title)) | ||||
| 	ctx.Data["Issue"] = issue | ||||
|  | ||||
| 	if !issue.IsPull { | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| <html lang="{{ctx.Locale.Lang}}" data-theme="{{ThemeName .SignedUser}}"> | ||||
| <head> | ||||
| 	<meta name="viewport" content="width=device-width, initial-scale=1"> | ||||
| 	<title>{{if .Title}}{{.Title | RenderEmojiPlain}} - {{end}}{{if .Repository.Name}}{{.Repository.Name}} - {{end}}{{AppName}}</title> | ||||
| 	<title>{{if .Title}}{{.Title}} - {{end}}{{if .Repository.Name}}{{.Repository.Name}} - {{end}}{{AppName}}</title> | ||||
| 	{{if .ManifestData}}<link rel="manifest" href="data:{{.ManifestData}}">{{end}} | ||||
| 	<meta name="author" content="{{if .Repository}}{{.Owner.Name}}{{else}}{{MetaAuthor}}{{end}}"> | ||||
| 	<meta name="description" content="{{if .Repository}}{{.Repository.Name}}{{if .Repository.Description}} - {{.Repository.Description}}{{end}}{{else}}{{MetaDescription}}{{end}}"> | ||||
|   | ||||
| @@ -11,8 +11,8 @@ | ||||
| 			<div class="ui attached segment"> | ||||
| 				<div class="ui two column grid"> | ||||
| 					<div class="column left aligned"> | ||||
| 						<strong>{{.Name | RenderEmojiPlain}}</strong> | ||||
| 						<br>{{.About | RenderEmojiPlain}} | ||||
| 						<strong>{{.Name}}</strong> | ||||
| 						<br>{{.About}} | ||||
| 					</div> | ||||
| 					<div class="column right aligned"> | ||||
| 						<a href="{{$.RepoLink}}/issues/new?template={{.FileName}}{{if $.milestone}}&milestone={{$.milestone}}{{end}}{{if $.project}}&project={{$.project}}{{end}}" class="ui primary button">{{ctx.Locale.Tr "repo.issues.choose.get_started"}}</a> | ||||
| @@ -24,8 +24,8 @@ | ||||
| 			<div class="ui attached segment"> | ||||
| 				<div class="ui two column grid"> | ||||
| 					<div class="column left aligned"> | ||||
| 						<strong>{{.Name | RenderEmojiPlain}}</strong> | ||||
| 						<br>{{.About | RenderEmojiPlain}} | ||||
| 						<strong>{{.Name}}</strong> | ||||
| 						<br>{{.About}} | ||||
| 					</div> | ||||
| 					<div class="column right aligned"> | ||||
| 						<a href="{{.URL}}" class="ui primary button">{{svg "octicon-link-external"}} {{ctx.Locale.Tr "repo.issues.choose.open_external_link"}}</a> | ||||
|   | ||||
| @@ -14,7 +14,7 @@ | ||||
| 							</td> | ||||
| 							<td class="message"> | ||||
| 								<span class="truncate"> | ||||
| 									<a href="{{$.RepoLink}}/commit/{{.SHA}}" title="{{.Summary | RenderEmojiPlain}}"> | ||||
| 									<a href="{{$.RepoLink}}/commit/{{.SHA}}" title="{{.Summary}}"> | ||||
| 										{{.Summary | RenderEmoji $.Context}} | ||||
| 									</a> | ||||
| 								</span> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user