summaryrefslogtreecommitdiffstats
path: root/templates/repo/blame.tmpl
blob: 58be0b17e151f6eb29391e2736802cf3c20e598e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
{{if or .UsesIgnoreRevs .FaultyIgnoreRevsFile}}
	{{$revsFileLink := URLJoin .RepoLink "src" .BranchNameSubURL "/.git-blame-ignore-revs"}}
	{{if .UsesIgnoreRevs}}
		<div class="ui info message">
			<p>{{ctx.Locale.Tr "repo.blame.ignore_revs" $revsFileLink "?bypass-blame-ignore=true"}}</p>
		</div>
	{{else}}
		<div class="ui error message">
			<p>{{ctx.Locale.Tr "repo.blame.ignore_revs.failed" $revsFileLink}}</p>
		</div>
	{{end}}
{{end}}
<div class="{{TabSizeClass .Editorconfig .FileName}} non-diff-file-content">
	<h4 class="file-header ui top attached header tw-flex tw-items-center tw-justify-between tw-flex-wrap">
		<div class="file-header-left tw-flex tw-items-center tw-py-2 tw-pr-4">
			{{template "repo/file_info" .}}
		</div>
		<div class="file-header-right file-actions tw-flex tw-items-center tw-flex-wrap">
			<div class="ui buttons">
				<a class="ui tiny button" href="{{$.RawFileLink}}">{{ctx.Locale.Tr "repo.file_raw"}}</a>
				{{if not .IsViewCommit}}
					<a class="ui tiny button" href="{{.RepoLink}}/src/commit/{{.CommitID | PathEscape}}/{{.TreePath | PathEscapeSegments}}">{{ctx.Locale.Tr "repo.file_permalink"}}</a>
				{{end}}
				<a class="ui tiny button" href="{{.RepoLink}}/src/{{.BranchNameSubURL}}/{{.TreePath | PathEscapeSegments}}">{{ctx.Locale.Tr "repo.normal_view"}}</a>
				<a class="ui tiny button" href="{{.RepoLink}}/commits/{{.BranchNameSubURL}}/{{.TreePath | PathEscapeSegments}}">{{ctx.Locale.Tr "repo.file_history"}}</a>
				<button class="ui tiny button unescape-button">{{ctx.Locale.Tr "repo.unescape_control_characters"}}</button>
				<button class="ui tiny button escape-button tw-hidden">{{ctx.Locale.Tr "repo.escape_control_characters"}}</button>
			</div>
		</div>
	</h4>
	<div class="ui bottom attached table unstackable segment">
		<div class="file-view code-view unicode-escaped">
			{{if .IsFileTooLarge}}
				<table>
					<tbody>
						<tr>
							<td class="gt-text-center tw-p-0.5"><strong>{{ctx.Locale.Tr "repo.file_too_large"}}</strong></td>
						</tr>
					</tbody>
				</table>
			{{else}}
			<table>
				<tbody>
					{{range $row := .BlameRows}}
						<tr class="{{if and (gt $.CommitCnt 1) ($row.CommitMessage)}}top-line-blame{{end}}">
							<td class="lines-commit">
								<div class="blame-info">
									<div class="blame-data">
										<div class="blame-avatar">
											{{$row.Avatar}}
										</div>
										<div class="blame-message">
											<a class="suppressed tw-text-text" href="{{$row.CommitURL}}" title="{{$row.CommitMessage}}">
												{{$row.CommitMessage}}
											</a>
										</div>
										<div class="blame-time not-mobile">
											{{$row.CommitSince}}
										</div>
									</div>
								</div>
							</td>
							<td class="lines-blame-btn">
								{{if $row.PreviousSha}}
									<a role="button" class="muted" href="{{$row.PreviousShaURL}}" data-tooltip-content='{{ctx.Locale.Tr "repo.blame_prior"}}'>
										{{svg "octicon-versions"}}
									</a>
								{{end}}
							</td>
							<td class="lines-num">
								<span id="L{{$row.RowNumber}}" data-line-number="{{$row.RowNumber}}"></span>
							</td>
							{{if $.EscapeStatus.Escaped}}
								<td class="lines-escape">
									{{if $row.EscapeStatus.Escaped}}
										<button class="toggle-escape-button btn interact-bg" title="{{template "repo/diff/escape_title" dict "diff" $row}}"></button>
									{{end}}
								</td>
							{{end}}
							<td rel="L{{$row.RowNumber}}" class="lines-code blame-code chroma">
								<code class="code-inner">{{$row.Code}}</code>
							</td>
						</tr>
					{{end}}
				</tbody>
			</table>
			<div class="code-line-menu tippy-target">
				{{if $.Permission.CanRead $.UnitTypeIssues}}
					<a class="item ref-in-new-issue" role="menuitem" data-url-issue-new="{{.RepoLink}}/issues/new" data-url-param-body-link="{{.Repository.Link}}/src/commit/{{PathEscape .CommitID}}/{{PathEscapeSegments .TreePath}}{{if $.HasSourceRenderedToggle}}?display=source{{end}}" rel="nofollow noindex">{{ctx.Locale.Tr "repo.issues.context.reference_issue"}}</a>
				{{end}}
				<a class="item copy-line-permalink" role="menuitem" data-url="{{.Repository.Link}}/src/commit/{{PathEscape .CommitID}}/{{PathEscapeSegments .TreePath}}{{if $.HasSourceRenderedToggle}}?display=source{{end}}">{{ctx.Locale.Tr "repo.file_copy_permalink"}}</a>
			</div>
			{{end}}
		</div>
	</div>
</div>