{{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>