mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 19:45:25 +01:00 
			
		
		
		
	Remove incorrect and unnecessary Escape from templates (#29394)
Follow #29165 * some of them are incorrect, which would lead to double escaping (eg: `(print (Escape $.RepoLink)`) * other of them are not necessary, because `Tr` handles strings&HTML automatically Suggest to review by "unified view": https://github.com/go-gitea/gitea/pull/29394/files?diff=unified&w=0
This commit is contained in:
		
							parent
							
								
									ea164aba4b
								
							
						
					
					
						commit
						d2f6588b66
					
				| @ -37,7 +37,7 @@ func NewFuncMap() template.FuncMap { | ||||
| 		"Eval":        Eval, | ||||
| 		"SafeHTML":    SafeHTML, | ||||
| 		"HTMLFormat":  HTMLFormat, | ||||
| 		"Escape":      Escape, | ||||
| 		"HTMLEscape":  HTMLEscape, | ||||
| 		"QueryEscape": url.QueryEscape, | ||||
| 		"JSEscape":    JSEscapeSafe, | ||||
| 		"Str2html":    Str2html, // TODO: rename it to SanitizeHTML | ||||
| @ -218,7 +218,7 @@ func Str2html(s any) template.HTML { | ||||
| 	panic(fmt.Sprintf("unexpected type %T", s)) | ||||
| } | ||||
| 
 | ||||
| func Escape(s any) template.HTML { | ||||
| func HTMLEscape(s any) template.HTML { | ||||
| 	switch v := s.(type) { | ||||
| 	case string: | ||||
| 		return template.HTML(html.EscapeString(v)) | ||||
|  | ||||
| @ -7,7 +7,7 @@ | ||||
| 		</div> | ||||
| 	{{else if .SearchResults}} | ||||
| 		<h3> | ||||
| 			{{ctx.Locale.Tr "explore.code_search_results" (.Keyword|Escape)}} | ||||
| 			{{ctx.Locale.Tr "explore.code_search_results" .Keyword}} | ||||
| 		</h3> | ||||
| 		{{template "code/searchresults" .}} | ||||
| 	{{else if .Keyword}} | ||||
|  | ||||
| @ -36,7 +36,7 @@ | ||||
| </div> | ||||
| {{if and .PageIsExploreRepositories .OnlyShowRelevant}} | ||||
| 	<div class="ui message explore-relevancy-note"> | ||||
| 		<span data-tooltip-content="{{ctx.Locale.Tr "explore.relevant_repositories_tooltip"}}">{{ctx.Locale.Tr "explore.relevant_repositories" ((printf "?only_show_relevant=0&sort=%s&q=%s&language=%s" $.SortType (QueryEscape $.Keyword) (QueryEscape $.Language))|Escape)}}</span> | ||||
| 		<span data-tooltip-content="{{ctx.Locale.Tr "explore.relevant_repositories_tooltip"}}">{{ctx.Locale.Tr "explore.relevant_repositories" (printf "?only_show_relevant=0&sort=%s&q=%s&language=%s" $.SortType (QueryEscape $.Keyword) (QueryEscape $.Language))}}</span> | ||||
| 	</div> | ||||
| {{end}} | ||||
| <div class="divider"></div> | ||||
|  | ||||
| @ -11,7 +11,7 @@ | ||||
| 	<p>{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}</p><br> | ||||
| 	<p>{{.locale.Tr "mail.register_notify.text_1" AppName}}</p><br> | ||||
| 	<p>{{.locale.Tr "mail.register_notify.text_2" .Username}}</p><p><a href="{{AppUrl}}user/login">{{AppUrl}}user/login</a></p><br> | ||||
| 	<p>{{.locale.Tr "mail.register_notify.text_3" ($set_pwd_url | Escape)}}</p><br> | ||||
| 	<p>{{.locale.Tr "mail.register_notify.text_3" $set_pwd_url}}</p><br> | ||||
| 
 | ||||
| 	<p>© <a target="_blank" rel="noopener noreferrer" href="{{AppUrl}}">{{AppName}}</a></p> | ||||
| </body> | ||||
|  | ||||
| @ -36,26 +36,26 @@ | ||||
| 	{{end}} | ||||
| 	<p> | ||||
| 		{{if eq .ActionName "close"}} | ||||
| 			{{.locale.Tr "mail.issue.action.close" (Escape .Doer.Name) .Issue.Index}} | ||||
| 			{{.locale.Tr "mail.issue.action.close" .Doer.Name .Issue.Index}} | ||||
| 		{{else if eq .ActionName "reopen"}} | ||||
| 			{{.locale.Tr "mail.issue.action.reopen" (Escape .Doer.Name) .Issue.Index}} | ||||
| 			{{.locale.Tr "mail.issue.action.reopen" .Doer.Name .Issue.Index}} | ||||
| 		{{else if eq .ActionName "merge"}} | ||||
| 			{{.locale.Tr "mail.issue.action.merge" (Escape .Doer.Name) .Issue.Index (Escape .Issue.PullRequest.BaseBranch)}} | ||||
| 			{{.locale.Tr "mail.issue.action.merge" .Doer.Name .Issue.Index .Issue.PullRequest.BaseBranch}} | ||||
| 		{{else if eq .ActionName "approve"}} | ||||
| 			{{.locale.Tr "mail.issue.action.approve" (Escape .Doer.Name)}} | ||||
| 			{{.locale.Tr "mail.issue.action.approve" .Doer.Name}} | ||||
| 		{{else if eq .ActionName "reject"}} | ||||
| 			{{.locale.Tr "mail.issue.action.reject" (Escape .Doer.Name)}} | ||||
| 			{{.locale.Tr "mail.issue.action.reject" .Doer.Name}} | ||||
| 		{{else if eq .ActionName "review"}} | ||||
| 			{{.locale.Tr "mail.issue.action.review" (Escape .Doer.Name)}} | ||||
| 			{{.locale.Tr "mail.issue.action.review" .Doer.Name}} | ||||
| 		{{else if eq .ActionName "review_dismissed"}} | ||||
| 			{{.locale.Tr "mail.issue.action.review_dismissed" (Escape .Doer.Name) (Escape .Comment.Review.Reviewer.Name)}} | ||||
| 			{{.locale.Tr "mail.issue.action.review_dismissed" .Doer.Name .Comment.Review.Reviewer.Name}} | ||||
| 		{{else if eq .ActionName "ready_for_review"}} | ||||
| 			{{.locale.Tr "mail.issue.action.ready_for_review" (Escape .Doer.Name)}} | ||||
| 			{{.locale.Tr "mail.issue.action.ready_for_review" .Doer.Name}} | ||||
| 		{{end}} | ||||
| 
 | ||||
| 		{{- if eq .Body ""}} | ||||
| 			{{if eq .ActionName "new"}} | ||||
| 				{{.locale.Tr "mail.issue.action.new" (Escape .Doer.Name) .Issue.Index}} | ||||
| 				{{.locale.Tr "mail.issue.action.new" .Doer.Name .Issue.Index}} | ||||
| 			{{end}} | ||||
| 		{{else}} | ||||
| 			{{.Body | Str2html}} | ||||
|  | ||||
| @ -30,9 +30,9 @@ | ||||
| 						{{$hasRepositoryAccess = index $.RepositoryAccessMap .Repository.ID}} | ||||
| 					{{end}} | ||||
| 					{{if $hasRepositoryAccess}} | ||||
| 						{{ctx.Locale.Tr "packages.published_by_in" $timeStr .Creator.HomeLink (.Creator.GetDisplayName | Escape) .Repository.Link (.Repository.FullName | Escape)}} | ||||
| 						{{ctx.Locale.Tr "packages.published_by_in" $timeStr .Creator.HomeLink .Creator.GetDisplayName .Repository.Link .Repository.FullName}} | ||||
| 					{{else}} | ||||
| 						{{ctx.Locale.Tr "packages.published_by" $timeStr .Creator.HomeLink (.Creator.GetDisplayName | Escape)}} | ||||
| 						{{ctx.Locale.Tr "packages.published_by" $timeStr .Creator.HomeLink .Creator.GetDisplayName}} | ||||
| 					{{end}} | ||||
| 				</div> | ||||
| 			</div> | ||||
|  | ||||
| @ -25,7 +25,7 @@ | ||||
| 			<div class="flex-item-main"> | ||||
| 				<a class="flex-item-title" href="{{.FullWebLink}}">{{.Version.LowerVersion}}</a> | ||||
| 				<div class="flex-item-body"> | ||||
| 					{{ctx.Locale.Tr "packages.published_by" (TimeSinceUnix .Version.CreatedUnix ctx.Locale) .Creator.HomeLink (.Creator.GetDisplayName | Escape)}} | ||||
| 					{{ctx.Locale.Tr "packages.published_by" (TimeSinceUnix .Version.CreatedUnix ctx.Locale) .Creator.HomeLink .Creator.GetDisplayName}} | ||||
| 				</div> | ||||
| 			</div> | ||||
| 		</div> | ||||
|  | ||||
| @ -10,9 +10,9 @@ | ||||
| 			<div> | ||||
| 				{{$timeStr := TimeSinceUnix .PackageDescriptor.Version.CreatedUnix ctx.Locale}} | ||||
| 				{{if .HasRepositoryAccess}} | ||||
| 					{{ctx.Locale.Tr "packages.published_by_in" $timeStr .PackageDescriptor.Creator.HomeLink (.PackageDescriptor.Creator.GetDisplayName | Escape) .PackageDescriptor.Repository.Link (.PackageDescriptor.Repository.FullName | Escape)}} | ||||
| 					{{ctx.Locale.Tr "packages.published_by_in" $timeStr .PackageDescriptor.Creator.HomeLink .PackageDescriptor.Creator.GetDisplayName .PackageDescriptor.Repository.Link .PackageDescriptor.Repository.FullName}} | ||||
| 				{{else}} | ||||
| 					{{ctx.Locale.Tr "packages.published_by" $timeStr .PackageDescriptor.Creator.HomeLink (.PackageDescriptor.Creator.GetDisplayName | Escape)}} | ||||
| 					{{ctx.Locale.Tr "packages.published_by" $timeStr .PackageDescriptor.Creator.HomeLink .PackageDescriptor.Creator.GetDisplayName}} | ||||
| 				{{end}} | ||||
| 			</div> | ||||
| 		</div> | ||||
|  | ||||
| @ -2,7 +2,7 @@ | ||||
| 	<div class="ui positive message gt-df gt-ac"> | ||||
| 		<div class="gt-f1"> | ||||
| 			{{$timeSince := TimeSince .CommitTime.AsTime ctx.Locale}} | ||||
| 			{{ctx.Locale.Tr "repo.pulls.recently_pushed_new_branches" (Escape .Name) $timeSince}} | ||||
| 			{{ctx.Locale.Tr "repo.pulls.recently_pushed_new_branches" .Name $timeSince}} | ||||
| 		</div> | ||||
| 		<a role="button" class="ui compact positive button gt-m-0" href="{{$.Repository.ComposeBranchCompareURL $.Repository.BaseRepo .Name}}"> | ||||
| 			{{ctx.Locale.Tr "repo.pulls.compare_changes"}} | ||||
|  | ||||
| @ -1,3 +1,3 @@ | ||||
| {{if not $.DisableMigrations}} | ||||
| 	<p class="ui center">{{ctx.Locale.Tr "repo.new_repo_helper" ((print AppSubUrl "/repo/migrate")|Escape)}}</p> | ||||
| 	<p class="ui center">{{ctx.Locale.Tr "repo.new_repo_helper" (print AppSubUrl "/repo/migrate")}}</p> | ||||
| {{end}} | ||||
|  | ||||
| @ -16,17 +16,17 @@ | ||||
| 						{{.OriginalAuthor}} | ||||
| 					</span> | ||||
| 					<span class="text grey muted-links"> | ||||
| 						{{ctx.Locale.Tr "repo.issues.commented_at" (.HashTag|Escape) $createdStr}} | ||||
| 						{{ctx.Locale.Tr "repo.issues.commented_at" .HashTag $createdStr}} | ||||
| 					</span> | ||||
| 					<span class="text migrate"> | ||||
| 						{{if $.root.Repository.OriginalURL}} | ||||
| 							({{ctx.Locale.Tr "repo.migrated_from" ($.root.Repository.OriginalURL | Escape) ($.root.Repository.GetOriginalURLHostname | Escape)}}) | ||||
| 							({{ctx.Locale.Tr "repo.migrated_from" $.root.Repository.OriginalURL $.root.Repository.GetOriginalURLHostname}}) | ||||
| 						{{end}} | ||||
| 					</span> | ||||
| 				{{else}} | ||||
| 					<span class="text grey muted-links"> | ||||
| 						{{template "shared/user/namelink" .Poster}} | ||||
| 						{{ctx.Locale.Tr "repo.issues.commented_at" (.HashTag|Escape) $createdStr}} | ||||
| 						{{ctx.Locale.Tr "repo.issues.commented_at" .HashTag $createdStr}} | ||||
| 					</span> | ||||
| 				{{end}} | ||||
| 			</div> | ||||
|  | ||||
| @ -194,7 +194,7 @@ | ||||
| 		{{if .HasPullRequest}} | ||||
| 			<div class="ui segment grid title"> | ||||
| 				<div class="twelve wide column issue-title"> | ||||
| 					{{ctx.Locale.Tr "repo.pulls.has_pull_request" (print (Escape $.RepoLink) "/pulls/" .PullRequest.Issue.Index) (Escape $.RepoRelPath) .PullRequest.Index}} | ||||
| 					{{ctx.Locale.Tr "repo.pulls.has_pull_request" (print $.RepoLink "/pulls/" .PullRequest.Issue.Index) $.RepoRelPath .PullRequest.Index}} | ||||
| 					<h1> | ||||
| 						<span id="issue-title">{{RenderIssueTitle $.Context .PullRequest.Issue.Title ($.Repository.ComposeMetas ctx)}}</span> | ||||
| 						<span class="index">#{{.PullRequest.Issue.Index}}</span> | ||||
| @ -202,11 +202,11 @@ | ||||
| 				</div> | ||||
| 				<div class="four wide column middle aligned text right"> | ||||
| 				{{- if .PullRequest.HasMerged -}} | ||||
| 				<a href="{{Escape $.RepoLink}}/pulls/{{.PullRequest.Issue.Index}}" class="ui button purple show-form">{{svg "octicon-git-merge" 16}} {{ctx.Locale.Tr "repo.pulls.view"}}</a> | ||||
| 				<a href="{{$.RepoLink}}/pulls/{{.PullRequest.Issue.Index}}" class="ui button purple show-form">{{svg "octicon-git-merge" 16}} {{ctx.Locale.Tr "repo.pulls.view"}}</a> | ||||
| 				{{else if .Issue.IsClosed}} | ||||
| 				<a href="{{Escape $.RepoLink}}/pulls/{{.PullRequest.Issue.Index}}" class="ui button red show-form">{{svg "octicon-issue-closed" 16}} {{ctx.Locale.Tr "repo.pulls.view"}}</a> | ||||
| 				<a href="{{$.RepoLink}}/pulls/{{.PullRequest.Issue.Index}}" class="ui button red show-form">{{svg "octicon-issue-closed" 16}} {{ctx.Locale.Tr "repo.pulls.view"}}</a> | ||||
| 				{{else}} | ||||
| 				<a href="{{Escape $.RepoLink}}/pulls/{{.PullRequest.Issue.Index}}" class="ui button primary show-form">{{svg "octicon-git-pull-request" 16}} {{ctx.Locale.Tr "repo.pulls.view"}}</a> | ||||
| 				<a href="{{$.RepoLink}}/pulls/{{.PullRequest.Issue.Index}}" class="ui button primary show-form">{{svg "octicon-git-pull-request" 16}} {{ctx.Locale.Tr "repo.pulls.view"}}</a> | ||||
| 				{{end}} | ||||
| 				</div> | ||||
| 			</div> | ||||
|  | ||||
| @ -26,7 +26,7 @@ | ||||
| 					<input type="radio" class="js-quick-pull-choice-option" name="commit_choice" value="direct" button_text="{{ctx.Locale.Tr "repo.editor.commit_changes"}}" {{if eq .commit_choice "direct"}}checked{{end}}> | ||||
| 					<label> | ||||
| 						{{svg "octicon-git-commit"}} | ||||
| 						{{ctx.Locale.Tr "repo.editor.commit_directly_to_this_branch" (.BranchName|Escape)}} | ||||
| 						{{ctx.Locale.Tr "repo.editor.commit_directly_to_this_branch" .BranchName}} | ||||
| 						{{if not .CanCommitToBranch.CanCommitToBranch}} | ||||
| 						<div class="ui visible small warning message"> | ||||
| 							{{ctx.Locale.Tr "repo.editor.no_commit_to_branch"}} | ||||
|  | ||||
| @ -23,11 +23,11 @@ | ||||
| 				{{if not $.Page.Repository}}{{.Repo.FullName}}{{end}}#{{.Index}} | ||||
| 				{{$timeStr := TimeSinceUnix .GetLastEventTimestamp ctx.Locale}} | ||||
| 				{{if .OriginalAuthor}} | ||||
| 					{{ctx.Locale.Tr .GetLastEventLabelFake $timeStr (.OriginalAuthor|Escape)}} | ||||
| 					{{ctx.Locale.Tr .GetLastEventLabelFake $timeStr .OriginalAuthor}} | ||||
| 				{{else if gt .Poster.ID 0}} | ||||
| 					{{ctx.Locale.Tr .GetLastEventLabel $timeStr (.Poster.HomeLink|Escape) (.Poster.GetDisplayName | Escape)}} | ||||
| 					{{ctx.Locale.Tr .GetLastEventLabel $timeStr .Poster.HomeLink .Poster.GetDisplayName}} | ||||
| 				{{else}} | ||||
| 					{{ctx.Locale.Tr .GetLastEventLabelFake $timeStr (.Poster.GetDisplayName | Escape)}} | ||||
| 					{{ctx.Locale.Tr .GetLastEventLabelFake $timeStr .Poster.GetDisplayName}} | ||||
| 				{{end}} | ||||
| 			</span> | ||||
| 		</div> | ||||
|  | ||||
| @ -13,7 +13,7 @@ | ||||
| 					<div class="field"> | ||||
| 						<input name="title" id="issue_title" placeholder="{{ctx.Locale.Tr "repo.milestones.title"}}" value="{{if .TitleQuery}}{{.TitleQuery}}{{else if .IssueTemplateTitle}}{{.IssueTemplateTitle}}{{else}}{{.title}}{{end}}" autofocus required maxlength="255" autocomplete="off"> | ||||
| 						{{if .PageIsComparePull}} | ||||
| 							<div class="title_wip_desc" data-wip-prefixes="{{JsonUtils.EncodeToString .PullRequestWorkInProgressPrefixes}}">{{ctx.Locale.Tr "repo.pulls.title_wip_desc" (index .PullRequestWorkInProgressPrefixes 0| Escape)}}</div> | ||||
| 							<div class="title_wip_desc" data-wip-prefixes="{{JsonUtils.EncodeToString .PullRequestWorkInProgressPrefixes}}">{{ctx.Locale.Tr "repo.pulls.title_wip_desc" (index .PullRequestWorkInProgressPrefixes 0)}}</div> | ||||
| 						{{end}} | ||||
| 					</div> | ||||
| 					{{if .Fields}} | ||||
|  | ||||
| @ -28,10 +28,10 @@ | ||||
| 									{{.Issue.OriginalAuthor}} | ||||
| 								</span> | ||||
| 								<span class="text grey muted-links"> | ||||
| 									{{ctx.Locale.Tr "repo.issues.commented_at" (.Issue.HashTag|Escape) $createdStr}} | ||||
| 									{{ctx.Locale.Tr "repo.issues.commented_at" .Issue.HashTag $createdStr}} | ||||
| 								</span> | ||||
| 								<span class="text migrate"> | ||||
| 									{{if .Repository.OriginalURL}} ({{ctx.Locale.Tr "repo.migrated_from" (.Repository.OriginalURL|Escape) (.Repository.GetOriginalURLHostname|Escape)}}){{end}} | ||||
| 									{{if .Repository.OriginalURL}} ({{ctx.Locale.Tr "repo.migrated_from" .Repository.OriginalURL .Repository.GetOriginalURLHostname}}){{end}} | ||||
| 								</span> | ||||
| 							{{else}} | ||||
| 								<a class="inline-timeline-avatar" href="{{.Issue.Poster.HomeLink}}"> | ||||
| @ -39,7 +39,7 @@ | ||||
| 								</a> | ||||
| 								<span class="text grey muted-links"> | ||||
| 									{{template "shared/user/authorlink" .Issue.Poster}} | ||||
| 									{{ctx.Locale.Tr "repo.issues.commented_at" (.Issue.HashTag|Escape) $createdStr}} | ||||
| 									{{ctx.Locale.Tr "repo.issues.commented_at" .Issue.HashTag $createdStr}} | ||||
| 								</span> | ||||
| 							{{end}} | ||||
| 						</div> | ||||
| @ -133,7 +133,7 @@ | ||||
| 					</div> | ||||
| 				{{else}} | ||||
| 					<div class="ui warning message"> | ||||
| 						{{ctx.Locale.Tr "repo.issues.sign_in_require_desc" (.SignInLink|Escape)}} | ||||
| 						{{ctx.Locale.Tr "repo.issues.sign_in_require_desc" .SignInLink}} | ||||
| 					</div> | ||||
| 				{{end}} | ||||
| 			{{end}}{{/* end if: .IsSigned */}} | ||||
|  | ||||
| @ -33,10 +33,10 @@ | ||||
| 									{{.OriginalAuthor}} | ||||
| 								</span> | ||||
| 								<span class="text grey muted-links"> | ||||
| 									{{ctx.Locale.Tr "repo.issues.commented_at" (.HashTag|Escape) $createdStr}} {{if $.Repository.OriginalURL}} | ||||
| 									{{ctx.Locale.Tr "repo.issues.commented_at" .HashTag $createdStr}} {{if $.Repository.OriginalURL}} | ||||
| 								</span> | ||||
| 								<span class="text migrate"> | ||||
| 									({{ctx.Locale.Tr "repo.migrated_from" ($.Repository.OriginalURL|Escape) ($.Repository.GetOriginalURLHostname|Escape)}}){{end}} | ||||
| 									({{ctx.Locale.Tr "repo.migrated_from" $.Repository.OriginalURL $.Repository.GetOriginalURLHostname}}){{end}} | ||||
| 								</span> | ||||
| 							{{else}} | ||||
| 								{{if gt .Poster.ID 0}} | ||||
| @ -46,7 +46,7 @@ | ||||
| 								{{end}} | ||||
| 								<span class="text grey muted-links"> | ||||
| 									{{template "shared/user/authorlink" .Poster}} | ||||
| 									{{ctx.Locale.Tr "repo.issues.commented_at" (.HashTag|Escape) $createdStr}} | ||||
| 									{{ctx.Locale.Tr "repo.issues.commented_at" .HashTag $createdStr}} | ||||
| 								</span> | ||||
| 							{{end}} | ||||
| 						</div> | ||||
| @ -121,7 +121,7 @@ | ||||
| 		{{else if eq .Type 3 5 6}} | ||||
| 			{{$refFrom:= ""}} | ||||
| 			{{if ne .RefRepoID .Issue.RepoID}} | ||||
| 				{{$refFrom = ctx.Locale.Tr "repo.issues.ref_from" (.RefRepo.FullName|Escape)}} | ||||
| 				{{$refFrom = ctx.Locale.Tr "repo.issues.ref_from" .RefRepo.FullName}} | ||||
| 			{{end}} | ||||
| 			{{$refTr := "repo.issues.ref_issue_from"}} | ||||
| 			{{if .Issue.IsPull}} | ||||
| @ -138,7 +138,7 @@ | ||||
| 				{{if eq .RefAction 3}}<del>{{end}} | ||||
| 				<span class="text grey muted-links"> | ||||
| 					{{template "shared/user/authorlink" .Poster}} | ||||
| 					{{ctx.Locale.Tr $refTr (.EventTag|Escape) $createdStr ((.RefCommentLink ctx)|Escape) $refFrom}} | ||||
| 					{{ctx.Locale.Tr $refTr .EventTag $createdStr (.RefCommentLink ctx) $refFrom}} | ||||
| 				</span> | ||||
| 				{{if eq .RefAction 3}}</del>{{end}} | ||||
| 
 | ||||
| @ -182,7 +182,7 @@ | ||||
| 				{{template "shared/user/avatarlink" dict "user" .Poster}} | ||||
| 				<span class="text grey muted-links"> | ||||
| 					{{template "shared/user/authorlink" .Poster}} | ||||
| 					{{if gt .OldMilestoneID 0}}{{if gt .MilestoneID 0}}{{ctx.Locale.Tr "repo.issues.change_milestone_at" (.OldMilestone.Name|Escape) (.Milestone.Name|Escape) $createdStr}}{{else}}{{ctx.Locale.Tr "repo.issues.remove_milestone_at" (.OldMilestone.Name|Escape) $createdStr}}{{end}}{{else if gt .MilestoneID 0}}{{ctx.Locale.Tr "repo.issues.add_milestone_at" (.Milestone.Name|Escape) $createdStr}}{{end}} | ||||
| 					{{if gt .OldMilestoneID 0}}{{if gt .MilestoneID 0}}{{ctx.Locale.Tr "repo.issues.change_milestone_at" .OldMilestone.Name .Milestone.Name $createdStr}}{{else}}{{ctx.Locale.Tr "repo.issues.remove_milestone_at" .OldMilestone.Name $createdStr}}{{end}}{{else if gt .MilestoneID 0}}{{ctx.Locale.Tr "repo.issues.add_milestone_at" .Milestone.Name $createdStr}}{{end}} | ||||
| 				</span> | ||||
| 			</div> | ||||
| 		{{else if and (eq .Type 9) (gt .AssigneeID 0)}} | ||||
| @ -195,7 +195,7 @@ | ||||
| 						{{if eq .Poster.ID .Assignee.ID}} | ||||
| 							{{ctx.Locale.Tr "repo.issues.remove_self_assignment" $createdStr}} | ||||
| 						{{else}} | ||||
| 							{{ctx.Locale.Tr "repo.issues.remove_assignee_at" (.Poster.GetDisplayName|Escape) $createdStr}} | ||||
| 							{{ctx.Locale.Tr "repo.issues.remove_assignee_at" .Poster.GetDisplayName $createdStr}} | ||||
| 						{{end}} | ||||
| 					</span> | ||||
| 				{{else}} | ||||
| @ -205,7 +205,7 @@ | ||||
| 						{{if eq .Poster.ID .AssigneeID}} | ||||
| 							{{ctx.Locale.Tr "repo.issues.self_assign_at" $createdStr}} | ||||
| 						{{else}} | ||||
| 							{{ctx.Locale.Tr "repo.issues.add_assignee_at" (.Poster.GetDisplayName|Escape) $createdStr}} | ||||
| 							{{ctx.Locale.Tr "repo.issues.add_assignee_at" .Poster.GetDisplayName $createdStr}} | ||||
| 						{{end}} | ||||
| 					</span> | ||||
| 				{{end}} | ||||
| @ -225,7 +225,7 @@ | ||||
| 				{{template "shared/user/avatarlink" dict "user" .Poster}} | ||||
| 				<span class="text grey muted-links"> | ||||
| 					{{template "shared/user/authorlink" .Poster}} | ||||
| 					{{ctx.Locale.Tr "repo.issues.delete_branch_at" (.OldRef|Escape) $createdStr}} | ||||
| 					{{ctx.Locale.Tr "repo.issues.delete_branch_at" .OldRef $createdStr}} | ||||
| 				</span> | ||||
| 			</div> | ||||
| 		{{else if eq .Type 12}} | ||||
| @ -418,7 +418,7 @@ | ||||
| 											{{.OriginalAuthor}} | ||||
| 										</span> | ||||
| 										<span class="text grey muted-links"> {{if $.Repository.OriginalURL}}</span> | ||||
| 										<span class="text migrate">({{ctx.Locale.Tr "repo.migrated_from" ($.Repository.OriginalURL|Escape) ($.Repository.GetOriginalURLHostname|Escape)}}){{end}}</span> | ||||
| 										<span class="text migrate">({{ctx.Locale.Tr "repo.migrated_from" $.Repository.OriginalURL $.Repository.GetOriginalURLHostname}}){{end}}</span> | ||||
| 									{{else}} | ||||
| 										{{template "shared/user/authorlink" .Poster}} | ||||
| 									{{end}} | ||||
| @ -509,7 +509,7 @@ | ||||
| 					{{else}} | ||||
| 						{{template "shared/user/authorlink" .Poster}} | ||||
| 					{{end}} | ||||
| 					{{ctx.Locale.Tr "repo.pulls.change_target_branch_at" (.OldRef|Escape) (.NewRef|Escape) $createdStr}} | ||||
| 					{{ctx.Locale.Tr "repo.pulls.change_target_branch_at" .OldRef .NewRef $createdStr}} | ||||
| 				</span> | ||||
| 			</div> | ||||
| 		{{else if eq .Type 26}} | ||||
| @ -542,10 +542,10 @@ | ||||
| 							{{if eq .PosterID .AssigneeID}} | ||||
| 								{{ctx.Locale.Tr "repo.issues.review.remove_review_request_self" $createdStr}} | ||||
| 							{{else}} | ||||
| 								{{ctx.Locale.Tr "repo.issues.review.remove_review_request" (.Assignee.GetDisplayName|Escape) $createdStr}} | ||||
| 								{{ctx.Locale.Tr "repo.issues.review.remove_review_request" .Assignee.GetDisplayName $createdStr}} | ||||
| 							{{end}} | ||||
| 						{{else}} | ||||
| 							{{ctx.Locale.Tr "repo.issues.review.add_review_request" (.Assignee.GetDisplayName|Escape) $createdStr}} | ||||
| 							{{ctx.Locale.Tr "repo.issues.review.add_review_request" .Assignee.GetDisplayName $createdStr}} | ||||
| 						{{end}} | ||||
| 					{{else}} | ||||
| 						<!-- If the assigned team is deleted, just displaying "Ghost Team" in the comment --> | ||||
| @ -554,9 +554,9 @@ | ||||
| 							{{$teamName = .AssigneeTeam.Name}} | ||||
| 						{{end}} | ||||
| 						{{if .RemovedAssignee}} | ||||
| 							{{ctx.Locale.Tr "repo.issues.review.remove_review_request" ($teamName|Escape) $createdStr}} | ||||
| 							{{ctx.Locale.Tr "repo.issues.review.remove_review_request" $teamName $createdStr}} | ||||
| 						{{else}} | ||||
| 							{{ctx.Locale.Tr "repo.issues.review.add_review_request" ($teamName|Escape) $createdStr}} | ||||
| 							{{ctx.Locale.Tr "repo.issues.review.add_review_request" $teamName $createdStr}} | ||||
| 						{{end}} | ||||
| 					{{end}} | ||||
| 				</span> | ||||
| @ -571,7 +571,7 @@ | ||||
| 				<span class="text grey muted-links"> | ||||
| 					{{template "shared/user/authorlink" .Poster}} | ||||
| 					{{if .IsForcePush}} | ||||
| 						{{ctx.Locale.Tr "repo.issues.force_push_codes" ($.Issue.PullRequest.HeadBranch|Escape) (ShortSha .OldCommit) (($.Issue.Repo.CommitLink .OldCommit)|Escape) (ShortSha .NewCommit) (($.Issue.Repo.CommitLink .NewCommit)|Escape) $createdStr}} | ||||
| 						{{ctx.Locale.Tr "repo.issues.force_push_codes" $.Issue.PullRequest.HeadBranch (ShortSha .OldCommit) ($.Issue.Repo.CommitLink .OldCommit) (ShortSha .NewCommit) ($.Issue.Repo.CommitLink .NewCommit) $createdStr}} | ||||
| 					{{else}} | ||||
| 						{{ctx.Locale.TrN (len .Commits) "repo.issues.push_commit_1" "repo.issues.push_commits_n" (len .Commits) $createdStr}} | ||||
| 					{{end}} | ||||
| @ -663,11 +663,11 @@ | ||||
| 				<span class="text grey muted-links"> | ||||
| 					{{template "shared/user/authorlink" .Poster}} | ||||
| 					{{if and .OldRef .NewRef}} | ||||
| 						{{ctx.Locale.Tr "repo.issues.change_ref_at" (.OldRef|Escape) (.NewRef|Escape) $createdStr}} | ||||
| 						{{ctx.Locale.Tr "repo.issues.change_ref_at" .OldRef .NewRef $createdStr}} | ||||
| 					{{else if .OldRef}} | ||||
| 						{{ctx.Locale.Tr "repo.issues.remove_ref_at" (.OldRef|Escape) $createdStr}} | ||||
| 						{{ctx.Locale.Tr "repo.issues.remove_ref_at" .OldRef $createdStr}} | ||||
| 					{{else}} | ||||
| 						{{ctx.Locale.Tr "repo.issues.add_ref_at" (.NewRef|Escape) $createdStr}} | ||||
| 						{{ctx.Locale.Tr "repo.issues.add_ref_at" .NewRef $createdStr}} | ||||
| 					{{end}} | ||||
| 				</span> | ||||
| 			</div> | ||||
|  | ||||
| @ -73,7 +73,7 @@ | ||||
| 									{{else}} | ||||
| 										{{template "shared/user/authorlink" .Poster}} | ||||
| 									{{end}} | ||||
| 									{{ctx.Locale.Tr "repo.issues.commented_at" (.HashTag|Escape) $createdSubStr}} | ||||
| 									{{ctx.Locale.Tr "repo.issues.commented_at" .HashTag $createdSubStr}} | ||||
| 								</span> | ||||
| 							</div> | ||||
| 							<div class="comment-header-right actions gt-df gt-ac"> | ||||
|  | ||||
| @ -81,14 +81,14 @@ | ||||
| 					{{ctx.Locale.Tr "repo.pulls.data_broken"}} | ||||
| 				</div> | ||||
| 			{{else if .IsPullWorkInProgress}} | ||||
| 				<div class="item toggle-wip" data-title="{{.Issue.Title}}" data-wip-prefix="{{(.WorkInProgressPrefix|Escape)}}" data-update-url="{{.Issue.Link}}/title"> | ||||
| 				<div class="item toggle-wip" data-title="{{.Issue.Title}}" data-wip-prefix="{{.WorkInProgressPrefix}}" data-update-url="{{.Issue.Link}}/title"> | ||||
| 					<div class="item-section-left flex-text-inline gt-f1"> | ||||
| 						{{svg "octicon-x"}} | ||||
| 						{{ctx.Locale.Tr "repo.pulls.cannot_merge_work_in_progress"}} | ||||
| 					</div> | ||||
| 					{{if or .HasIssuesOrPullsWritePermission .IsIssuePoster}} | ||||
| 						<button class="ui compact button"> | ||||
| 							{{ctx.Locale.Tr "repo.pulls.remove_prefix" (.WorkInProgressPrefix|Escape)}} | ||||
| 							{{ctx.Locale.Tr "repo.pulls.remove_prefix" .WorkInProgressPrefix}} | ||||
| 						</button> | ||||
| 					{{end}} | ||||
| 				</div> | ||||
|  | ||||
| @ -101,7 +101,7 @@ | ||||
| 				{{range .OriginalReviews}} | ||||
| 					<div class="item gt-df gt-ac gt-py-3"> | ||||
| 						<div class="gt-df gt-ac gt-f1"> | ||||
| 							<a class="muted" href="{{$.Repository.OriginalURL}}" data-tooltip-content="{{ctx.Locale.Tr "repo.migrated_from_fake" ($.Repository.GetOriginalURLHostname|Escape)}}"> | ||||
| 							<a class="muted" href="{{$.Repository.OriginalURL}}" data-tooltip-content="{{ctx.Locale.Tr "repo.migrated_from_fake" $.Repository.GetOriginalURLHostname}}"> | ||||
| 								{{svg (MigrationIcon $.Repository.GetOriginalURLHostname) 20 "gt-mr-3"}} | ||||
| 								{{.OriginalAuthor}} | ||||
| 							</a> | ||||
| @ -114,9 +114,9 @@ | ||||
| 			</div> | ||||
| 		</div> | ||||
| 		{{if and (or .HasIssuesOrPullsWritePermission .IsIssuePoster) (not .HasMerged) (not .Issue.IsClosed) (not .IsPullWorkInProgress)}} | ||||
| 			<div class="toggle-wip" data-title="{{.Issue.Title}}" data-wip-prefix="{{(index .PullRequestWorkInProgressPrefixes 0| Escape)}}" data-update-url="{{.Issue.Link}}/title"> | ||||
| 			<div class="toggle-wip" data-title="{{.Issue.Title}}" data-wip-prefix="{{index .PullRequestWorkInProgressPrefixes 0}}" data-update-url="{{.Issue.Link}}/title"> | ||||
| 				<a class="muted"> | ||||
| 					{{ctx.Locale.Tr "repo.pulls.still_in_progress"}} {{ctx.Locale.Tr "repo.pulls.add_prefix" (index .PullRequestWorkInProgressPrefixes 0| Escape)}} | ||||
| 					{{ctx.Locale.Tr "repo.pulls.still_in_progress"}} {{ctx.Locale.Tr "repo.pulls.add_prefix" (index .PullRequestWorkInProgressPrefixes 0)}} | ||||
| 				</a> | ||||
| 			</div> | ||||
| 		{{end}} | ||||
| @ -300,7 +300,7 @@ | ||||
| 					{{else}} | ||||
| 						{{if .HasUserStopwatch}} | ||||
| 							<div class="ui warning message"> | ||||
| 								{{ctx.Locale.Tr "repo.issues.tracking_already_started" (.OtherStopwatchURL|Escape)}} | ||||
| 								{{ctx.Locale.Tr "repo.issues.tracking_already_started" .OtherStopwatchURL}} | ||||
| 							</div> | ||||
| 						{{end}} | ||||
| 						<button class="ui fluid button issue-start-time" data-tooltip-content='{{ctx.Locale.Tr "repo.issues.start_tracking"}}'> | ||||
|  | ||||
| @ -104,11 +104,11 @@ | ||||
| 				{{$createdStr:= TimeSinceUnix .Issue.CreatedUnix ctx.Locale}} | ||||
| 				<span class="time-desc"> | ||||
| 					{{if .Issue.OriginalAuthor}} | ||||
| 						{{ctx.Locale.Tr "repo.issues.opened_by_fake" $createdStr (.Issue.OriginalAuthor|Escape)}} | ||||
| 						{{ctx.Locale.Tr "repo.issues.opened_by_fake" $createdStr .Issue.OriginalAuthor}} | ||||
| 					{{else if gt .Issue.Poster.ID 0}} | ||||
| 						{{ctx.Locale.Tr "repo.issues.opened_by" $createdStr (.Issue.Poster.HomeLink|Escape) (.Issue.Poster.GetDisplayName|Escape)}} | ||||
| 						{{ctx.Locale.Tr "repo.issues.opened_by" $createdStr .Issue.Poster.HomeLink .Issue.Poster.GetDisplayName}} | ||||
| 					{{else}} | ||||
| 						{{ctx.Locale.Tr "repo.issues.opened_by_fake" $createdStr (.Issue.Poster.GetDisplayName|Escape)}} | ||||
| 						{{ctx.Locale.Tr "repo.issues.opened_by_fake" $createdStr .Issue.Poster.GetDisplayName}} | ||||
| 					{{end}} | ||||
| 					· | ||||
| 					{{ctx.Locale.TrN .Issue.NumComments "repo.issues.num_comments_1" "repo.issues.num_comments" .Issue.NumComments}} | ||||
|  | ||||
| @ -24,7 +24,7 @@ | ||||
| 			</div> | ||||
| 		{{else if .Keyword}} | ||||
| 			<h3> | ||||
| 				{{ctx.Locale.Tr "repo.search.results" (.Keyword|Escape) (.RepoLink|Escape) (.RepoName|Escape)}} | ||||
| 				{{ctx.Locale.Tr "repo.search.results" .Keyword .RepoLink .RepoName}} | ||||
| 			</h3> | ||||
| 			{{if .SearchResults}} | ||||
| 				<div class="flex-text-block gt-fw"> | ||||
|  | ||||
| @ -2,7 +2,7 @@ | ||||
| 	<div class="repo-setting-content"> | ||||
| 		<form class="ui form" action="{{.Link}}" method="post"> | ||||
| 			<h4 class="ui top attached header"> | ||||
| 				{{ctx.Locale.Tr "repo.settings.branch_protection" (.Rule.RuleName|Escape)}} | ||||
| 				{{ctx.Locale.Tr "repo.settings.branch_protection" .Rule.RuleName}} | ||||
| 			</h4> | ||||
| 			<div class="ui attached segment branch-protection"> | ||||
| 				<h5 class="ui dividing header">{{ctx.Locale.Tr "repo.settings.protect_patterns"}}</h5> | ||||
|  | ||||
| @ -107,7 +107,7 @@ | ||||
| 		{{ctx.Locale.Tr "repo.wiki.delete_page_button"}} | ||||
| 	</div> | ||||
| 	<div class="content"> | ||||
| 		<p>{{ctx.Locale.Tr "repo.wiki.delete_page_notice_1" ($title|Escape)}}</p> | ||||
| 		<p>{{ctx.Locale.Tr "repo.wiki.delete_page_notice_1" $title}}</p> | ||||
| 	</div> | ||||
| 	{{template "base/modal_actions_confirm" .}} | ||||
| </div> | ||||
|  | ||||
| @ -62,11 +62,11 @@ | ||||
| 					</a> | ||||
| 					{{$timeStr := TimeSinceUnix .GetLastEventTimestamp ctx.Locale}} | ||||
| 					{{if .OriginalAuthor}} | ||||
| 						{{ctx.Locale.Tr .GetLastEventLabelFake $timeStr (.OriginalAuthor|Escape)}} | ||||
| 						{{ctx.Locale.Tr .GetLastEventLabelFake $timeStr .OriginalAuthor}} | ||||
| 					{{else if gt .Poster.ID 0}} | ||||
| 						{{ctx.Locale.Tr .GetLastEventLabel $timeStr (.Poster.HomeLink|Escape) (.Poster.GetDisplayName | Escape)}} | ||||
| 						{{ctx.Locale.Tr .GetLastEventLabel $timeStr .Poster.HomeLink .Poster.GetDisplayName}} | ||||
| 					{{else}} | ||||
| 						{{ctx.Locale.Tr .GetLastEventLabelFake $timeStr (.Poster.GetDisplayName | Escape)}} | ||||
| 						{{ctx.Locale.Tr .GetLastEventLabelFake $timeStr .Poster.GetDisplayName}} | ||||
| 					{{end}} | ||||
| 					{{if .IsPull}} | ||||
| 						<div class="branches flex-text-inline"> | ||||
|  | ||||
| @ -15,7 +15,7 @@ | ||||
| 						{{else if .ResendLimited}} | ||||
| 							<p class="center">{{ctx.Locale.Tr "auth.resent_limit_prompt"}}</p> | ||||
| 						{{else}} | ||||
| 							<p>{{ctx.Locale.Tr "auth.confirmation_mail_sent_prompt" (.SignedUser.Email|Escape) .ActiveCodeLives}}</p> | ||||
| 							<p>{{ctx.Locale.Tr "auth.confirmation_mail_sent_prompt" .SignedUser.Email .ActiveCodeLives}}</p> | ||||
| 						{{end}} | ||||
| 					{{else}} | ||||
| 						{{if .NeedsPassword}} | ||||
| @ -29,7 +29,7 @@ | ||||
| 							</div> | ||||
| 							<input id="code" name="code" type="hidden" value="{{.Code}}"> | ||||
| 						{{else if .IsSendRegisterMail}} | ||||
| 							<p>{{ctx.Locale.Tr "auth.confirmation_mail_sent_prompt" (.Email|Escape) .ActiveCodeLives}}</p> | ||||
| 							<p>{{ctx.Locale.Tr "auth.confirmation_mail_sent_prompt" .Email .ActiveCodeLives}}</p> | ||||
| 						{{else if .IsCodeInvalid}} | ||||
| 							<p>{{ctx.Locale.Tr "auth.invalid_code"}}</p> | ||||
| 						{{else if .IsPasswordInvalid}} | ||||
| @ -37,7 +37,7 @@ | ||||
| 						{{else if .ManualActivationOnly}} | ||||
| 							<p class="center">{{ctx.Locale.Tr "auth.manual_activation_only"}}</p> | ||||
| 						{{else}} | ||||
| 							<p>{{ctx.Locale.Tr "auth.has_unconfirmed_mail" (.SignedUser.Name|Escape) (.SignedUser.Email|Escape)}}</p> | ||||
| 							<p>{{ctx.Locale.Tr "auth.has_unconfirmed_mail" .SignedUser.Name .SignedUser.Email}}</p> | ||||
| 							<div class="divider"></div> | ||||
| 							<div class="text right"> | ||||
| 								<button class="ui primary button">{{ctx.Locale.Tr "auth.resend_mail"}}</button> | ||||
|  | ||||
| @ -10,7 +10,7 @@ | ||||
| 				<div class="ui attached segment"> | ||||
| 					{{template "base/alert" .}} | ||||
| 					{{if .IsResetSent}} | ||||
| 						<p>{{ctx.Locale.Tr "auth.reset_password_mail_sent_prompt" (Escape .Email) .ResetPwdCodeLives}}</p> | ||||
| 						<p>{{ctx.Locale.Tr "auth.reset_password_mail_sent_prompt" .Email .ResetPwdCodeLives}}</p> | ||||
| 					{{else if .IsResetRequest}} | ||||
| 						<div class="required inline field {{if .Err_Email}}error{{end}}"> | ||||
| 							<label for="email">{{ctx.Locale.Tr "email"}}</label> | ||||
|  | ||||
| @ -12,71 +12,71 @@ | ||||
| 						{{.ShortActUserName ctx}} | ||||
| 					{{end}} | ||||
| 					{{if .GetOpType.InActions "create_repo"}} | ||||
| 						{{ctx.Locale.Tr "action.create_repo" ((.GetRepoLink ctx)|Escape) ((.ShortRepoPath ctx)|Escape)}} | ||||
| 						{{ctx.Locale.Tr "action.create_repo" (.GetRepoLink ctx) (.ShortRepoPath ctx)}} | ||||
| 					{{else if .GetOpType.InActions "rename_repo"}} | ||||
| 						{{ctx.Locale.Tr "action.rename_repo" (.GetContent|Escape) ((.GetRepoLink ctx)|Escape) ((.ShortRepoPath ctx)|Escape)}} | ||||
| 						{{ctx.Locale.Tr "action.rename_repo" .GetContent (.GetRepoLink ctx) (.ShortRepoPath ctx)}} | ||||
| 					{{else if .GetOpType.InActions "commit_repo"}} | ||||
| 						{{if .Content}} | ||||
| 							{{ctx.Locale.Tr "action.commit_repo" ((.GetRepoLink ctx)|Escape) ((.GetRefLink ctx)|Escape) (Escape .GetBranch) ((.ShortRepoPath ctx)|Escape)}} | ||||
| 							{{ctx.Locale.Tr "action.commit_repo" (.GetRepoLink ctx) (.GetRefLink ctx) .GetBranch (.ShortRepoPath ctx)}} | ||||
| 						{{else}} | ||||
| 							{{ctx.Locale.Tr "action.create_branch" ((.GetRepoLink ctx)|Escape) ((.GetRefLink ctx)|Escape) (Escape .GetBranch) ((.ShortRepoPath ctx)|Escape)}} | ||||
| 							{{ctx.Locale.Tr "action.create_branch" (.GetRepoLink ctx) (.GetRefLink ctx) .GetBranch (.ShortRepoPath ctx)}} | ||||
| 						{{end}} | ||||
| 					{{else if .GetOpType.InActions "create_issue"}} | ||||
| 						{{$index := index .GetIssueInfos 0}} | ||||
| 						{{ctx.Locale.Tr "action.create_issue" ((printf "%s/issues/%s" (.GetRepoLink ctx) $index) |Escape) $index ((.ShortRepoPath ctx)|Escape)}} | ||||
| 						{{ctx.Locale.Tr "action.create_issue" (printf "%s/issues/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx)}} | ||||
| 					{{else if .GetOpType.InActions "create_pull_request"}} | ||||
| 						{{$index := index .GetIssueInfos 0}} | ||||
| 						{{ctx.Locale.Tr "action.create_pull_request" ((printf "%s/pulls/%s" (.GetRepoLink ctx) $index) |Escape) $index ((.ShortRepoPath ctx)|Escape)}} | ||||
| 						{{ctx.Locale.Tr "action.create_pull_request" (printf "%s/pulls/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx)}} | ||||
| 					{{else if .GetOpType.InActions "transfer_repo"}} | ||||
| 						{{ctx.Locale.Tr "action.transfer_repo" .GetContent ((.GetRepoLink ctx)|Escape) ((.ShortRepoPath ctx)|Escape)}} | ||||
| 						{{ctx.Locale.Tr "action.transfer_repo" .GetContent (.GetRepoLink ctx) (.ShortRepoPath ctx)}} | ||||
| 					{{else if .GetOpType.InActions "push_tag"}} | ||||
| 						{{ctx.Locale.Tr "action.push_tag" ((.GetRepoLink ctx)|Escape) ((.GetRefLink ctx)|Escape) (.GetTag|Escape) ((.ShortRepoPath ctx)|Escape)}} | ||||
| 						{{ctx.Locale.Tr "action.push_tag" (.GetRepoLink ctx) (.GetRefLink ctx) .GetTag (.ShortRepoPath ctx)}} | ||||
| 					{{else if .GetOpType.InActions "comment_issue"}} | ||||
| 						{{$index := index .GetIssueInfos 0}} | ||||
| 						{{ctx.Locale.Tr "action.comment_issue" ((printf "%s/issues/%s" (.GetRepoLink ctx) $index) |Escape) $index ((.ShortRepoPath ctx)|Escape)}} | ||||
| 						{{ctx.Locale.Tr "action.comment_issue" (printf "%s/issues/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx)}} | ||||
| 					{{else if .GetOpType.InActions "merge_pull_request"}} | ||||
| 						{{$index := index .GetIssueInfos 0}} | ||||
| 						{{ctx.Locale.Tr "action.merge_pull_request" ((printf "%s/pulls/%s" (.GetRepoLink ctx) $index) |Escape) $index ((.ShortRepoPath ctx)|Escape)}} | ||||
| 						{{ctx.Locale.Tr "action.merge_pull_request" (printf "%s/pulls/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx)}} | ||||
| 					{{else if .GetOpType.InActions "close_issue"}} | ||||
| 						{{$index := index .GetIssueInfos 0}} | ||||
| 						{{ctx.Locale.Tr "action.close_issue" ((printf "%s/issues/%s" (.GetRepoLink ctx) $index) |Escape) $index ((.ShortRepoPath ctx)|Escape)}} | ||||
| 						{{ctx.Locale.Tr "action.close_issue" (printf "%s/issues/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx)}} | ||||
| 					{{else if .GetOpType.InActions "reopen_issue"}} | ||||
| 						{{$index := index .GetIssueInfos 0}} | ||||
| 						{{ctx.Locale.Tr "action.reopen_issue" ((printf "%s/issues/%s" (.GetRepoLink ctx) $index) |Escape) $index ((.ShortRepoPath ctx)|Escape)}} | ||||
| 						{{ctx.Locale.Tr "action.reopen_issue" (printf "%s/issues/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx)}} | ||||
| 					{{else if .GetOpType.InActions "close_pull_request"}} | ||||
| 						{{$index := index .GetIssueInfos 0}} | ||||
| 						{{ctx.Locale.Tr "action.close_pull_request" ((printf "%s/pulls/%s" (.GetRepoLink ctx) $index) |Escape) $index ((.ShortRepoPath ctx)|Escape)}} | ||||
| 						{{ctx.Locale.Tr "action.close_pull_request" (printf "%s/pulls/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx)}} | ||||
| 					{{else if .GetOpType.InActions "reopen_pull_request"}} | ||||
| 						{{$index := index .GetIssueInfos 0}} | ||||
| 						{{ctx.Locale.Tr "action.reopen_pull_request" ((printf "%s/pulls/%s" (.GetRepoLink ctx) $index) |Escape) $index ((.ShortRepoPath ctx)|Escape)}} | ||||
| 						{{ctx.Locale.Tr "action.reopen_pull_request" (printf "%s/pulls/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx)}} | ||||
| 					{{else if .GetOpType.InActions "delete_tag"}} | ||||
| 						{{$index := index .GetIssueInfos 0}} | ||||
| 						{{ctx.Locale.Tr "action.delete_tag" ((.GetRepoLink ctx)|Escape) (.GetTag|Escape) ((.ShortRepoPath ctx)|Escape)}} | ||||
| 						{{ctx.Locale.Tr "action.delete_tag" (.GetRepoLink ctx) .GetTag (.ShortRepoPath ctx)}} | ||||
| 					{{else if .GetOpType.InActions "delete_branch"}} | ||||
| 						{{$index := index .GetIssueInfos 0}} | ||||
| 						{{ctx.Locale.Tr "action.delete_branch" ((.GetRepoLink ctx)|Escape) (.GetBranch|Escape) ((.ShortRepoPath ctx)|Escape)}} | ||||
| 						{{ctx.Locale.Tr "action.delete_branch" (.GetRepoLink ctx) .GetBranch (.ShortRepoPath ctx)}} | ||||
| 					{{else if .GetOpType.InActions "mirror_sync_push"}} | ||||
| 						{{ctx.Locale.Tr "action.mirror_sync_push" ((.GetRepoLink ctx)|Escape) ((.GetRefLink ctx)|Escape) (.GetBranch|Escape) ((.ShortRepoPath ctx)|Escape)}} | ||||
| 						{{ctx.Locale.Tr "action.mirror_sync_push" (.GetRepoLink ctx) (.GetRefLink ctx) .GetBranch (.ShortRepoPath ctx)}} | ||||
| 					{{else if .GetOpType.InActions "mirror_sync_create"}} | ||||
| 						{{ctx.Locale.Tr "action.mirror_sync_create" ((.GetRepoLink ctx)|Escape) ((.GetRefLink ctx)|Escape) (.GetBranch|Escape) ((.ShortRepoPath ctx)|Escape)}} | ||||
| 						{{ctx.Locale.Tr "action.mirror_sync_create" (.GetRepoLink ctx) (.GetRefLink ctx) .GetBranch (.ShortRepoPath ctx)}} | ||||
| 					{{else if .GetOpType.InActions "mirror_sync_delete"}} | ||||
| 						{{ctx.Locale.Tr "action.mirror_sync_delete" ((.GetRepoLink ctx)|Escape) (.GetBranch|Escape) ((.ShortRepoPath ctx)|Escape)}} | ||||
| 						{{ctx.Locale.Tr "action.mirror_sync_delete" (.GetRepoLink ctx) .GetBranch (.ShortRepoPath ctx)}} | ||||
| 					{{else if .GetOpType.InActions "approve_pull_request"}} | ||||
| 						{{$index := index .GetIssueInfos 0}} | ||||
| 						{{ctx.Locale.Tr "action.approve_pull_request" ((printf "%s/pulls/%s" (.GetRepoLink ctx) $index) |Escape) $index ((.ShortRepoPath ctx)|Escape)}} | ||||
| 						{{ctx.Locale.Tr "action.approve_pull_request" (printf "%s/pulls/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx)}} | ||||
| 					{{else if .GetOpType.InActions "reject_pull_request"}} | ||||
| 						{{$index := index .GetIssueInfos 0}} | ||||
| 						{{ctx.Locale.Tr "action.reject_pull_request" ((printf "%s/pulls/%s" (.GetRepoLink ctx) $index) |Escape) $index ((.ShortRepoPath ctx)|Escape)}} | ||||
| 						{{ctx.Locale.Tr "action.reject_pull_request" (printf "%s/pulls/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx)}} | ||||
| 					{{else if .GetOpType.InActions "comment_pull"}} | ||||
| 						{{$index := index .GetIssueInfos 0}} | ||||
| 						{{ctx.Locale.Tr "action.comment_pull" ((printf "%s/pulls/%s" (.GetRepoLink ctx) $index) |Escape) $index ((.ShortRepoPath ctx)|Escape)}} | ||||
| 						{{ctx.Locale.Tr "action.comment_pull" (printf "%s/pulls/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx)}} | ||||
| 					{{else if .GetOpType.InActions "publish_release"}} | ||||
| 						{{$linkText := .Content | RenderEmoji $.Context}} | ||||
| 						{{ctx.Locale.Tr "action.publish_release" ((.GetRepoLink ctx)|Escape) ((printf "%s/releases/tag/%s" (.GetRepoLink ctx) .GetTag)|Escape) ((.ShortRepoPath ctx)|Escape) $linkText}} | ||||
| 						{{ctx.Locale.Tr "action.publish_release" (.GetRepoLink ctx) (printf "%s/releases/tag/%s" (.GetRepoLink ctx) .GetTag) (.ShortRepoPath ctx) $linkText}} | ||||
| 					{{else if .GetOpType.InActions "review_dismissed"}} | ||||
| 						{{$index := index .GetIssueInfos 0}} | ||||
| 						{{$reviewer := index .GetIssueInfos 1}} | ||||
| 						{{ctx.Locale.Tr "action.review_dismissed" ((printf "%s/pulls/%s" (.GetRepoLink ctx) $index) |Escape) $index ((.ShortRepoPath ctx)|Escape) $reviewer}} | ||||
| 						{{ctx.Locale.Tr "action.review_dismissed" (printf "%s/pulls/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx) $reviewer}} | ||||
| 					{{end}} | ||||
| 					{{TimeSince .GetCreate ctx.Locale}} | ||||
| 				</div> | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user