mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 20:21:47 +01:00 
			
		
		
		
	Rework blame template and styling (#11885)
* Rework blame template and styling * cleanup template and add missing NumLines Co-authored-by: techknowlogick <techknowlogick@gitea.io>
This commit is contained in:
		
							parent
							
								
									a7f7d1399f
								
							
						
					
					
						commit
						c8780984f8
					
				| @ -118,29 +118,15 @@ func RefBlame(ctx *context.Context) { | ||||
| 
 | ||||
| 	ctx.Data["IsBlame"] = true | ||||
| 
 | ||||
| 	if ctx.Repo.CanEnableEditor() { | ||||
| 		// Check LFS Lock | ||||
| 		lfsLock, err := ctx.Repo.Repository.GetTreePathLock(ctx.Repo.TreePath) | ||||
| 		if err != nil { | ||||
| 			ctx.ServerError("GetTreePathLock", err) | ||||
| 			return | ||||
| 		} | ||||
| 		if lfsLock != nil && lfsLock.OwnerID != ctx.User.ID { | ||||
| 			ctx.Data["CanDeleteFile"] = false | ||||
| 			ctx.Data["DeleteFileTooltip"] = ctx.Tr("repo.editor.this_file_locked") | ||||
| 		} else { | ||||
| 			ctx.Data["CanDeleteFile"] = true | ||||
| 			ctx.Data["DeleteFileTooltip"] = ctx.Tr("repo.editor.delete_this_file") | ||||
| 		} | ||||
| 	} else if !ctx.Repo.IsViewBranch { | ||||
| 		ctx.Data["DeleteFileTooltip"] = ctx.Tr("repo.editor.must_be_on_a_branch") | ||||
| 	} else if !ctx.Repo.CanWrite(models.UnitTypeCode) { | ||||
| 		ctx.Data["DeleteFileTooltip"] = ctx.Tr("repo.editor.must_have_write_access") | ||||
| 	} | ||||
| 
 | ||||
| 	ctx.Data["FileSize"] = blob.Size() | ||||
| 	ctx.Data["FileName"] = blob.Name() | ||||
| 
 | ||||
| 	ctx.Data["NumLines"], err = blob.GetBlobLineCount() | ||||
| 	if err != nil { | ||||
| 		ctx.NotFound("GetBlobLineCount", err) | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	blameReader, err := git.CreateBlameReader(models.RepoPath(userName, repoName), commitID, fileName) | ||||
| 	if err != nil { | ||||
| 		ctx.NotFound("CreateBlameReader", err) | ||||
| @ -245,9 +231,9 @@ func renderBlame(ctx *context.Context, blameParts []git.BlamePart, commitNames m | ||||
| 
 | ||||
| 			//Line number | ||||
| 			if len(part.Lines)-1 == index && len(blameParts)-1 != pi { | ||||
| 				lineNumbers.WriteString(fmt.Sprintf(`<span id="L%d" class="bottom-line">%d</span>`, i, i)) | ||||
| 				lineNumbers.WriteString(fmt.Sprintf(`<span id="L%d" data-line-number="%d" class="bottom-line"></span>`, i, i)) | ||||
| 			} else { | ||||
| 				lineNumbers.WriteString(fmt.Sprintf(`<span id="L%d">%d</span>`, i, i)) | ||||
| 				lineNumbers.WriteString(fmt.Sprintf(`<span id="L%d" data-line-number="%d"></span>`, i, i)) | ||||
| 			} | ||||
| 
 | ||||
| 			//Code line | ||||
|  | ||||
| @ -1,51 +1,37 @@ | ||||
| <div class="tab-size-8 non-diff-file-content"> | ||||
| 
 | ||||
| 	<h4 class="ui top attached header" id="repo-read-file"> | ||||
| 		<div class="ui stackable grid"> | ||||
| 			<div class="eight wide column"> | ||||
|                 <i class="file text outline icon ui left"></i> | ||||
|                 <strong>{{.FileName}}</strong> <span class="text grey normal">{{FileSize .FileSize}}{{if .IsLFSFile}} ({{.i18n.Tr "repo.stored_lfs"}}){{end}}</span> | ||||
| <div class="{{TabSizeClass .Editorconfig .FileName}} non-diff-file-content"> | ||||
| 	<h4 class="file-header ui top attached header"> | ||||
| 		<div class="file-header-left"> | ||||
| 			<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 class="eight wide right aligned column"> | ||||
|                 <div class="ui right file-actions"> | ||||
|                     <div class="ui buttons"> | ||||
|                         <a class="ui button" href="{{EscapePound $.RawFileLink}}">{{.i18n.Tr "repo.file_raw"}}</a> | ||||
|                         {{if not .IsViewCommit}} | ||||
|                             <a class="ui button" href="{{.RepoLink}}/src/commit/{{.CommitID}}/{{EscapePound .TreePath}}">{{.i18n.Tr "repo.file_permalink"}}</a> | ||||
|                         {{end}} | ||||
|                         <a class="ui button" href="{{.RepoLink}}/src/{{EscapePound .BranchNameSubURL}}/{{EscapePound .TreePath}}">{{.i18n.Tr "repo.normal_view"}}</a> | ||||
|                         <a class="ui button" href="{{.RepoLink}}/commits/{{EscapePound .BranchNameSubURL}}/{{EscapePound .TreePath}}">{{.i18n.Tr "repo.file_history"}}</a> | ||||
|                     </div> | ||||
|                     {{if .Repository.CanEnableEditor}} | ||||
|                         {{if .CanEditFile}} | ||||
|                             <a href="{{.RepoLink}}/_edit/{{EscapePound .BranchName}}/{{EscapePound .TreePath}}"><span class="btn-octicon poping up"  data-content="{{.EditFileTooltip}}" data-position="bottom center" data-variation="tiny inverted">{{svg "octicon-pencil" 16}}</span></a> | ||||
|                         {{else}} | ||||
|                             <span class="btn-octicon poping up disabled" data-content="{{.EditFileTooltip}}" data-position="bottom center" data-variation="tiny inverted">{{svg "octicon-pencil" 16}}</span> | ||||
|                         {{end}} | ||||
|                         {{if .CanDeleteFile}} | ||||
|                             <a href="{{.RepoLink}}/_delete/{{EscapePound .BranchName}}/{{EscapePound .TreePath}}"><span class="btn-octicon btn-octicon-danger poping up"  data-content="{{.DeleteFileTooltip}}" data-position="bottom center" data-variation="tiny inverted">{{svg "octicon-trashcan" 16}}</span></a> | ||||
|                         {{else}} | ||||
|                             <span class="btn-octicon poping up disabled" data-content="{{.DeleteFileTooltip}}" data-position="bottom center" data-variation="tiny inverted">{{svg "octicon-trashcan" 16}}</span> | ||||
|                         {{end}} | ||||
|                     {{end}} | ||||
|                 </div> | ||||
| 		</div> | ||||
| 		<div class="file-header-right"> | ||||
| 			<div class="ui right file-actions"> | ||||
| 				<div class="ui buttons"> | ||||
| 					<a class="ui button" href="{{EscapePound $.RawFileLink}}">{{.i18n.Tr "repo.file_raw"}}</a> | ||||
| 					{{if not .IsViewCommit}} | ||||
| 						<a class="ui button" href="{{.RepoLink}}/src/commit/{{.CommitID}}/{{EscapePound .TreePath}}">{{.i18n.Tr "repo.file_permalink"}}</a> | ||||
| 					{{end}} | ||||
| 					<a class="ui button" href="{{.RepoLink}}/src/{{EscapePound .BranchNameSubURL}}/{{EscapePound .TreePath}}">{{.i18n.Tr "repo.normal_view"}}</a> | ||||
| 					<a class="ui button" href="{{.RepoLink}}/commits/{{EscapePound .BranchNameSubURL}}/{{EscapePound .TreePath}}">{{.i18n.Tr "repo.file_history"}}</a> | ||||
| 				</div> | ||||
| 			</div> | ||||
| 		</div> | ||||
| 	</h4> | ||||
| 
 | ||||
|     <div class="ui attached table unstackable segment"> | ||||
|         <div class="file-view code-view"> | ||||
|             <table> | ||||
|                 <tbody> | ||||
|                     <tr> | ||||
|                         <td class="lines-commit">{{.BlameCommitInfo}}</td> | ||||
|                         <td class="lines-num">{{.BlameLineNums}}</td> | ||||
|                         <td class="lines-code"><pre><code class="{{.HighlightClass}}"><ol class="linenums">{{.BlameContent}}</ol></code></pre></td> | ||||
|                     </tr> | ||||
|                 </tbody> | ||||
|             </table> | ||||
|         </div> | ||||
| 		<div class="file-view code-view"> | ||||
| 			<table> | ||||
| 				<tbody> | ||||
| 					<tr> | ||||
| 						<td class="lines-commit">{{.BlameCommitInfo}}</td> | ||||
| 						<td class="lines-num">{{.BlameLineNums}}</td> | ||||
| 						<td class="lines-code"><pre><code class="{{.HighlightClass}}"><ol class="linenums">{{.BlameContent}}</ol></code></pre></td> | ||||
| 					</tr> | ||||
| 				</tbody> | ||||
| 			</table> | ||||
| 		</div> | ||||
|     </div> | ||||
| 
 | ||||
| 
 | ||||
| </div> | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| {{template "base/head" .}} | ||||
| <div class="repository file list"> | ||||
| <div class="repository file list {{if .IsBlame}}blame{{end}}"> | ||||
| 	{{template "repo/header" .}} | ||||
| 	<div class="ui container"> | ||||
| 		{{template "base/alert" .}} | ||||
|  | ||||
| @ -1069,7 +1069,6 @@ i.icons { | ||||
| } | ||||
| 
 | ||||
| .lines-num { | ||||
|     vertical-align: top; | ||||
|     text-align: right !important; | ||||
|     color: #999999; | ||||
|     background: #f5f5f5; | ||||
| @ -1077,7 +1076,13 @@ i.icons { | ||||
|     user-select: none; | ||||
| 
 | ||||
|     span { | ||||
|         &:before { | ||||
|         &.bottom-line { | ||||
|             &:after { | ||||
|                 border-bottom: 1px solid #eaecef; | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         &:after { | ||||
|             content: attr(data-line-number); | ||||
|             line-height: 20px !important; | ||||
|             padding: 0 10px; | ||||
| @ -1090,6 +1095,7 @@ i.icons { | ||||
| .lines-num, | ||||
| .lines-code { | ||||
|     padding: 0 !important; | ||||
|     vertical-align: top; | ||||
| 
 | ||||
|     pre, | ||||
|     ol, | ||||
| @ -1101,7 +1107,7 @@ i.icons { | ||||
|         li { | ||||
|             display: block; | ||||
|             width: calc(100% - 1ch); | ||||
|             margin-left: 1ch; | ||||
|             padding-left: 1ch; | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -1149,7 +1155,6 @@ i.icons { | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| .lines-num, | ||||
| .lines-code, | ||||
| .lines-commit { | ||||
|     .bottom-line { | ||||
|  | ||||
| @ -1,5 +1,4 @@ | ||||
| .repository { | ||||
| 
 | ||||
|     padding-top: 15px; | ||||
| 
 | ||||
|     .repo-header { | ||||
| @ -246,6 +245,12 @@ | ||||
|     } | ||||
| 
 | ||||
|     &.file.list { | ||||
|         &.blame { | ||||
|             .ui.container:not(.flex) { | ||||
|                 width: 98%; | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         .repo-description { | ||||
|             display: flex; | ||||
|             justify-content: space-between; | ||||
| @ -1646,7 +1651,6 @@ | ||||
|                 width: 1%; | ||||
|                 min-width: 50px; | ||||
|                 user-select: none; | ||||
|                 vertical-align: top; | ||||
| 
 | ||||
|                 span.fold { | ||||
|                     display: block; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user