mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-23 12:59:11 -05:00
9c6aeb47f7
Adds a link to each blame hunk, to view the blame of an earlier version of the file, similar to GitHub. Also refactors the blame render from fmtstring based to template based. * Fix blame bottom line and add blame prior button * Jump to previous parent commit from the commit. * Fix previous commit link * Fix previous blame link * Fix the given file not exist in the previous commit. * Fix blameRow struct not export * fix theming issues, rename template var * remove unused LastCommit fetch * fix location of blame-hunk divider * rewrite previous commit checks * remove duplicate commit lookup its already resolved and stored in ctx.Repo.Commit! * split out blamePart processing into function Co-authored-by: rogerluo410 <rogerluo410@gmail.com>
64 lines
2.5 KiB
Handlebars
64 lines
2.5 KiB
Handlebars
<div class="{{TabSizeClass .Editorconfig .FileName}} non-diff-file-content">
|
|
<h4 class="file-header ui top attached header df ac sb">
|
|
<div class="file-header-left df ac">
|
|
<div class="file-info text grey normal mono">
|
|
<div class="file-info-entry">
|
|
{{.NumLines}} {{.i18n.Tr (TrN .i18n.Lang .NumLines "repo.line" "repo.lines") }}
|
|
</div>
|
|
<div class="file-info-entry">{{FileSize .FileSize}}</div>
|
|
</div>
|
|
</div>
|
|
<div class="file-header-right file-actions df ac">
|
|
<div class="ui buttons">
|
|
<a class="ui tiny button" href="{{EscapePound $.RawFileLink}}">{{.i18n.Tr "repo.file_raw"}}</a>
|
|
{{if not .IsViewCommit}}
|
|
<a class="ui tiny button" href="{{.RepoLink}}/src/commit/{{.CommitID}}/{{EscapePound .TreePath}}">{{.i18n.Tr "repo.file_permalink"}}</a>
|
|
{{end}}
|
|
<a class="ui tiny button" href="{{.RepoLink}}/src/{{EscapePound .BranchNameSubURL}}/{{EscapePound .TreePath}}">{{.i18n.Tr "repo.normal_view"}}</a>
|
|
<a class="ui tiny button" href="{{.RepoLink}}/commits/{{EscapePound .BranchNameSubURL}}/{{EscapePound .TreePath}}">{{.i18n.Tr "repo.file_history"}}</a>
|
|
</div>
|
|
</div>
|
|
</h4>
|
|
<div class="ui attached table unstackable segment">
|
|
<div class="file-view code-view">
|
|
<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}}" class="poping up" data-content='{{$.i18n.Tr "repo.blame_prior"}}' data-variation="tiny inverted">
|
|
{{svg "octicon-versions"}}
|
|
</a>
|
|
{{end}}
|
|
</td>
|
|
<td class="lines-num">
|
|
<span id="L{{$row.RowNumber}}" data-line-number="{{$row.RowNumber}}"></span>
|
|
</td>
|
|
<td rel="L{{$row.RowNumber}}" rel="L{{$row.RowNumber}}" class="lines-code blame-code chroma">
|
|
<code class="code-inner pl-3">{{$row.Code}}</code>
|
|
</td>
|
|
</tr>
|
|
{{end}}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|