mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-22 08:42:32 -05:00
d8a267d3ab
- Currently there exists a restriction to not render and show files that are larger than what's configured in `[UI].MAX_DISPLAY_FILE_SIZE`. - Apply the same restriction to the blame operation as well, as the blame operation can be seen as displaying a file. - Add integration test. - Ref: #2394
90 lines
3.5 KiB
Go HTML Template
90 lines
3.5 KiB
Go HTML Template
{{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 (print $revsFileLink "?bypass-blame-ignore=true") | Str2html}}</p>
|
|
</div>
|
|
{{else}}
|
|
<div class="ui error message">
|
|
<p>{{ctx.Locale.Tr "repo.blame.ignore_revs.failed" $revsFileLink | Str2html}}</p>
|
|
</div>
|
|
{{end}}
|
|
{{end}}
|
|
<div class="{{TabSizeClass .Editorconfig .FileName}} non-diff-file-content">
|
|
<h4 class="file-header ui top attached header gt-df gt-ac gt-sb gt-fw">
|
|
<div class="file-header-left gt-df gt-ac gt-py-3 gt-pr-4">
|
|
{{template "repo/file_info" .}}
|
|
</div>
|
|
<div class="file-header-right file-actions gt-df gt-ac gt-fw">
|
|
<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 gt-hidden">{{ctx.Locale.Tr "repo.escape_control_characters"}}</button>
|
|
</div>
|
|
</div>
|
|
</h4>
|
|
<div class="ui attached table unstackable segment">
|
|
<div class="file-view code-view unicode-escaped">
|
|
{{if .IsFileTooLarge}}
|
|
<table>
|
|
<tbody>
|
|
<tr>
|
|
<td class="gt-text-center gt-p-1"><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 href="{{$row.CommitURL}}" title="{{$row.CommitMessage}}">
|
|
{{$row.CommitMessage}}
|
|
</a>
|
|
</div>
|
|
<div class="blame-time">
|
|
{{$row.CommitSince}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="lines-blame-btn">
|
|
{{if $row.PreviousSha}}
|
|
<a 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 gt-pl-3">{{$row.Code}}</code>
|
|
</td>
|
|
</tr>
|
|
{{end}}
|
|
</tbody>
|
|
</table>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
</div>
|