Add raw, history file button, and other mirror fixes
This commit is contained in:
		
							parent
							
								
									17c1bc7383
								
							
						
					
					
						commit
						963354c5d7
					
				| @ -38,6 +38,7 @@ The goal of this project is to make the easiest, fastest and most painless way t | |||||||
| - Create/migrate/mirror/delete/watch/rename/transfer public/private repository | - Create/migrate/mirror/delete/watch/rename/transfer public/private repository | ||||||
| - Repository viewer/release/issue tracker | - Repository viewer/release/issue tracker | ||||||
| - Repository and Organization level webhooks | - Repository and Organization level webhooks | ||||||
|  | - Repository Git hooks | ||||||
| - Add/remove repository collaborators | - Add/remove repository collaborators | ||||||
| - Gravatar and cache support | - Gravatar and cache support | ||||||
| - Mail service(register, issue) | - Mail service(register, issue) | ||||||
|  | |||||||
							
								
								
									
										17
									
								
								README_ZH.md
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								README_ZH.md
									
									
									
									
									
								
							| @ -24,14 +24,15 @@ Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自 | |||||||
| - 支持 SSH/HTTP(S) 协议 | - 支持 SSH/HTTP(S) 协议 | ||||||
| - 支持 SMTP/LDAP/反向代理 用户认证 | - 支持 SMTP/LDAP/反向代理 用户认证 | ||||||
| - 支持反向代理子路径 | - 支持反向代理子路径 | ||||||
| - 注册/删除/重命名 用户 | - 支持 注册/删除/重命名 用户 | ||||||
| - 创建/管理/删除 组织以及团队管理功能 | - 支持 创建/管理/删除 组织以及团队管理功能 | ||||||
| - 创建/迁移/镜像/删除/关注/重命名/转移 公开/私有 仓库 | - 支持 创建/迁移/镜像/删除/关注/重命名/转移 公开/私有 仓库 | ||||||
| - 仓库 浏览/发布/工单管理 | - 支持仓库 浏览/发布/工单管理 | ||||||
| - 仓库和组织级别 Web 钩子 | - 支持仓库和组织级别 Web 钩子 | ||||||
| - 添加/删除 仓库协作者 | - 支持仓库 Git 钩子 | ||||||
| - Gravatar 以及缓存支持 | - 支持 添加/删除 仓库协作者 | ||||||
| - 邮件服务(注册、Issue) | - 支持 Gravatar 以及本地缓存 | ||||||
|  | - 支持邮件服务(注册、Issue) | ||||||
| - 管理员面板 | - 管理员面板 | ||||||
| - Slack Web 钩子集成 | - Slack Web 钩子集成 | ||||||
| - 支持 MySQL、PostgreSQL 以及 SQLite3 数据库 | - 支持 MySQL、PostgreSQL 以及 SQLite3 数据库 | ||||||
|  | |||||||
| @ -273,6 +273,9 @@ tags = Tags | |||||||
| issues = Issues | issues = Issues | ||||||
| commits = Commits | commits = Commits | ||||||
| releases = Releases | releases = Releases | ||||||
|  | file_raw = Raw | ||||||
|  | file_history = History | ||||||
|  | file_view_raw = View Raw | ||||||
| 
 | 
 | ||||||
| commits.commits = Commits | commits.commits = Commits | ||||||
| commits.search = Search commits | commits.search = Search commits | ||||||
|  | |||||||
| @ -273,6 +273,9 @@ tags = 标签列表 | |||||||
| issues = 工单管理 | issues = 工单管理 | ||||||
| commits = 提交历史 | commits = 提交历史 | ||||||
| releases = 版本发布 | releases = 版本发布 | ||||||
|  | file_raw = 原始文件 | ||||||
|  | file_history = 文件历史 | ||||||
|  | file_view_raw = 查看原始文件 | ||||||
| 
 | 
 | ||||||
| commits.commits = 次代码提交 | commits.commits = 次代码提交 | ||||||
| commits.search = 搜索提交历史 | commits.search = 搜索提交历史 | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							| @ -17,7 +17,7 @@ import ( | |||||||
| 	"github.com/gogits/gogs/modules/setting" | 	"github.com/gogits/gogs/modules/setting" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| const APP_VER = "0.5.5.1010 Beta" | const APP_VER = "0.5.5.1011 Beta" | ||||||
| 
 | 
 | ||||||
| func init() { | func init() { | ||||||
| 	runtime.GOMAXPROCS(runtime.NumCPU()) | 	runtime.GOMAXPROCS(runtime.NumCPU()) | ||||||
|  | |||||||
| @ -663,7 +663,7 @@ func RepoPath(userName, repoName string) string { | |||||||
| func TransferOwnership(u *User, newOwner string, repo *Repository) error { | func TransferOwnership(u *User, newOwner string, repo *Repository) error { | ||||||
| 	newUser, err := GetUserByName(newOwner) | 	newUser, err := GetUserByName(newOwner) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return fmt.Errorf("fail to get new owner(%s): %v", newOwner, err) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// Check if new owner has repository with same name.
 | 	// Check if new owner has repository with same name.
 | ||||||
|  | |||||||
| @ -488,7 +488,7 @@ func GetUserByName(name string) (*User, error) { | |||||||
| 	return user, nil | 	return user, nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // GetUserEmailsByNames returns a slice of e-mails corresponds to names.
 | // GetUserEmailsByNames returns a list of e-mails corresponds to names.
 | ||||||
| func GetUserEmailsByNames(names []string) []string { | func GetUserEmailsByNames(names []string) []string { | ||||||
| 	mails := make([]string, 0, len(names)) | 	mails := make([]string, 0, len(names)) | ||||||
| 	for _, name := range names { | 	for _, name := range names { | ||||||
|  | |||||||
| @ -75,12 +75,6 @@ type Context struct { | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Query querys form parameter.
 |  | ||||||
| func (ctx *Context) Query(name string) string { |  | ||||||
| 	ctx.Req.ParseForm() |  | ||||||
| 	return ctx.Req.Form.Get(name) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // HasError returns true if error occurs in form validation.
 | // HasError returns true if error occurs in form validation.
 | ||||||
| func (ctx *Context) HasApiError() bool { | func (ctx *Context) HasApiError() bool { | ||||||
| 	hasErr, ok := ctx.Data["HasError"] | 	hasErr, ok := ctx.Data["HasError"] | ||||||
|  | |||||||
| @ -457,6 +457,9 @@ dt { | |||||||
|   box-sizing: content-box; |   box-sizing: content-box; | ||||||
|   text-align: center; |   text-align: center; | ||||||
| } | } | ||||||
|  | .btn-comb { | ||||||
|  |   margin-left: -1px; | ||||||
|  | } | ||||||
| .btn-disabled { | .btn-disabled { | ||||||
|   opacity: .6; |   opacity: .6; | ||||||
|   cursor: not-allowed; |   cursor: not-allowed; | ||||||
|  | |||||||
| @ -102,6 +102,9 @@ | |||||||
|     box-sizing: content-box; |     box-sizing: content-box; | ||||||
|     text-align: center; |     text-align: center; | ||||||
| } | } | ||||||
|  | .btn-comb { | ||||||
|  |     margin-left: -1px; | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| .btn-disabled { | .btn-disabled { | ||||||
|   opacity: .6; |   opacity: .6; | ||||||
|  | |||||||
| @ -276,13 +276,15 @@ func FileHistory(ctx *middleware.Context) { | |||||||
| 		nextPage = 0 | 		nextPage = 0 | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	ctx.Data["Commits"], err = ctx.Repo.GitRepo.CommitsByFileAndRange( | 	commits, err := ctx.Repo.GitRepo.CommitsByFileAndRange( | ||||||
| 		branchName, fileName, page) | 		branchName, fileName, page) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		ctx.Handle(500, "repo.FileHistory(CommitsByRange)", err) | 		ctx.Handle(500, "repo.FileHistory(CommitsByRange)", err) | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
|  | 	commits = models.ValidateCommitsWithEmails(commits) | ||||||
| 
 | 
 | ||||||
|  | 	ctx.Data["Commits"] = commits | ||||||
| 	ctx.Data["Username"] = userName | 	ctx.Data["Username"] = userName | ||||||
| 	ctx.Data["Reponame"] = repoName | 	ctx.Data["Reponame"] = repoName | ||||||
| 	ctx.Data["FileName"] = fileName | 	ctx.Data["FileName"] = fileName | ||||||
|  | |||||||
| @ -166,7 +166,7 @@ func Home(ctx *middleware.Context) { | |||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if readmeFile != nil { | 		if readmeFile != nil { | ||||||
| 			ctx.Data["ReadmeInHome"] = true | 			ctx.Data["ReadmeInList"] = true | ||||||
| 			ctx.Data["ReadmeExist"] = true | 			ctx.Data["ReadmeExist"] = true | ||||||
| 			if dataRc, err := readmeFile.Data(); err != nil { | 			if dataRc, err := readmeFile.Data(); err != nil { | ||||||
| 				ctx.Handle(404, "repo.SinglereadmeFile.LookupBlob", err) | 				ctx.Handle(404, "repo.SinglereadmeFile.LookupBlob", err) | ||||||
|  | |||||||
| @ -1 +1 @@ | |||||||
| 0.5.5.1010 Beta | 0.5.5.1011 Beta | ||||||
| @ -58,7 +58,7 @@ | |||||||
|                                             <td>{{.Pid}}</td> |                                             <td>{{.Pid}}</td> | ||||||
|                                             <td>{{.Description}}</td> |                                             <td>{{.Description}}</td> | ||||||
|                                             <td>{{.Start}}</td> |                                             <td>{{.Start}}</td> | ||||||
|                                             <td>{{TimeSince .Start .i18n.Lang}}</td> |                                             <td>{{TimeSince .Start $.Lang}}</td> | ||||||
|                                         </tr> |                                         </tr> | ||||||
|                                         {{end}} |                                         {{end}} | ||||||
|                                     </tbody> |                                     </tbody> | ||||||
|  | |||||||
| @ -54,16 +54,16 @@ | |||||||
|                         {{end}} |                         {{end}} | ||||||
|                     {{end}} |                     {{end}} | ||||||
|                 </li> |                 </li> | ||||||
|                 <!-- <li id="repo-commits-jump" class="repo-jump right"> |                 <li id="repo-commits-jump" class="repo-jump right"> | ||||||
|                     <a href="#"> |                     <a href="#"> | ||||||
|                         <button class="btn btn-small btn-gray btn-right-radius"><i class="octicon octicon-git-commit"></i></button> |                         <button class="btn btn-small btn-gray btn-right-radius"><i class="octicon octicon-git-commit"></i></button> | ||||||
|                     </a> |                     </a> | ||||||
|                 </li> |                 </li> | ||||||
|                 <li id="repo-find-jump" class="repo-jump right"> |                 <li id="repo-find-jump" class="repo-jump right"> | ||||||
|                     <a href="#"> |                     <a href="#"> | ||||||
|                         <button class="btn btn-small btn-gray btn-left-radius"><i class="octicon octicon-list-unordered"></i></button> |                         <button class="btn btn-small btn btn-small btn-gray btn-left-radius"><i class="octicon octicon-list-unordered"></i></button> | ||||||
|                     </a> |                     </a> | ||||||
|                 </li> --> |                 </li> | ||||||
|             </ul> |             </ul> | ||||||
|             {{if .IsFile}} |             {{if .IsFile}} | ||||||
|                 {{template "repo/view_file" .}} |                 {{template "repo/view_file" .}} | ||||||
|  | |||||||
| @ -1,40 +0,0 @@ | |||||||
| {{template "base/head" .}} |  | ||||||
| {{template "base/navbar" .}} |  | ||||||
| {{template "repo/nav" .}} |  | ||||||
| {{template "repo/toolbar" .}} |  | ||||||
| <div id="body" class="container"> |  | ||||||
|     <div id="source"> |  | ||||||
|         <div class="source-toolbar"> |  | ||||||
|             {{ $n := len .Treenames}} |  | ||||||
|             {{if not .IsFile}}<button class="btn btn-default pull-right hidden"><i class="fa fa-plus-square"></i>Add File</button>{{end}} |  | ||||||
|             <div class="dropdown branch-switch"> |  | ||||||
|                 <a href="#" class="btn btn-success dropdown-toggle" data-toggle="dropdown"><i class="fa fa-chain"></i>{{if .IsBranch}}{{.BranchName}}{{else}}{{ShortSha .CommitId}}{{end}}   |  | ||||||
|                     <b class="caret"></b></a> |  | ||||||
|                 <ul class="dropdown-menu"> |  | ||||||
|                     {{range .Branches}} |  | ||||||
|                     <li><a {{if eq . $.BranchName}}class="current" {{end}}href="{{AppSubUrl}}/{{$.Username}}/{{$.Reponame}}/src/{{.}}">{{.}}</a></li> |  | ||||||
|                     {{end}} |  | ||||||
|                 </ul> |  | ||||||
|             </div> |  | ||||||
|             {{ $l := Subtract $n 1}} |  | ||||||
|             <ol class="breadcrumb"> |  | ||||||
|                 <li class="root dir"> |  | ||||||
|                     <a href="{{.BranchLink}}">{{.Repository.Name}}</a></li> |  | ||||||
|                 {{range $i, $v := .Treenames}} |  | ||||||
|                 <li class="dir"> |  | ||||||
|                     {{if eq $i $l}}{{$v}} |  | ||||||
|                     {{else}} |  | ||||||
|                     <a href="{{$.BranchLink}}/{{index $.Paths $i}}">{{$v}}</a>  |  | ||||||
|                     {{end}} |  | ||||||
|                 </li> |  | ||||||
|                 {{end}} |  | ||||||
|             </ol> |  | ||||||
|         </div> |  | ||||||
|         {{if .IsFile}} |  | ||||||
|             {{template "repo/single_file" .}} |  | ||||||
|         {{else}} |  | ||||||
|             {{template "repo/single_list" .}} |  | ||||||
|         {{end}} |  | ||||||
|     </div> |  | ||||||
| </div> |  | ||||||
| {{template "base/footer" .}} |  | ||||||
| @ -1,40 +0,0 @@ | |||||||
| {{template "base/head" .}} |  | ||||||
| {{template "base/navbar" .}} |  | ||||||
| {{template "repo/nav" .}} |  | ||||||
| {{template "repo/toolbar" .}} |  | ||||||
| <div id="body" class="container"> |  | ||||||
|     <div id="source"> |  | ||||||
|         <div class="panel panel-default guide-box clone-group-btn"> |  | ||||||
|             <div class="panel-heading guide-head"> |  | ||||||
|                 <h4>Quick Guide</h4> |  | ||||||
|             </div> |  | ||||||
|             <div class="panel-body guide-content text-center"> |  | ||||||
|                 <h3>Clone this repository</h3> |  | ||||||
|                 <div class="input-group col-md-8 col-md-offset-2 guide-buttons"> |  | ||||||
|                     <span class="input-group-btn"> |  | ||||||
|                         <button class="btn btn-default" data-link="{{.CloneLink.SSH}}" type="button">SSH</button> |  | ||||||
|                         <button class="btn btn-default" data-link="{{.CloneLink.HTTPS}}" type="button">HTTPS</button> |  | ||||||
|                     </span> |  | ||||||
|                     <input type="text" class="form-control clone-group-url" id="guide-clone-url" value="" readonly/> |  | ||||||
|                     <span class="input-group-btn" style="position: relative"> |  | ||||||
|                         <button class="btn btn-default" type="button" data-toggle="tooltip" title="copy to clipboard" data-placement="top" data-init="copy" data-copy-val="val" data-copy-from="#guide-clone-url"><i class="fa fa-copy"></i></button> |  | ||||||
|                     </span> |  | ||||||
|                 </div> |  | ||||||
|                 <p>We recommend every repository include a <strong>README</strong>, <strong>LICENSE</strong>, and <strong>.gitignore</strong>.</p> |  | ||||||
|                 <hr/> |  | ||||||
|                 <h3>Create a new repository on the command line</h3> |  | ||||||
|                     <pre class="text-left"><code>touch README.md |  | ||||||
| git init |  | ||||||
| git add README.md |  | ||||||
| git commit -m "first commit" |  | ||||||
| git remote add origin <span class="clone-url"></span> |  | ||||||
| git push -u origin master</code></pre> |  | ||||||
|                 <hr/> |  | ||||||
|                 <h3>Push an existing repository from the command line</h3> |  | ||||||
|                 <pre class="text-left"><code>git remote add origin <span class="clone-url"></span> |  | ||||||
| git push -u origin master</code></pre> |  | ||||||
|             </div> |  | ||||||
|         </div> |  | ||||||
|     </div> |  | ||||||
| </div> |  | ||||||
| {{template "base/footer" .}} |  | ||||||
| @ -1,51 +0,0 @@ | |||||||
| <div class="panel panel-default file-content"> |  | ||||||
|     <div class="panel-heading file-head"> |  | ||||||
|         {{if .ReadmeExist}} |  | ||||||
|             <i class="icon fa fa-book"></i> |  | ||||||
|             {{if .ReadmeInSingle}} |  | ||||||
|             {{.FileName}} |  | ||||||
|             {{else}} |  | ||||||
|             {{.FileName}} <span class="file-size">{{FileSize .FileSize}}</span> |  | ||||||
|             {{end}} |  | ||||||
|         {{else}} |  | ||||||
|             <i class="icon fa fa-file-text-o"></i> |  | ||||||
|             {{.FileName}} <span class="file-size">{{FileSize .FileSize}}</span> |  | ||||||
|         {{end}} |  | ||||||
|         {{if not .ReadmeInSingle}} |  | ||||||
|         <div class="btn-group pull-right"> |  | ||||||
|             <a class="btn btn-default hidden" href="#">Edit</a> |  | ||||||
|             <a class="btn btn-default" href="{{.FileLink}}" rel="nofollow">Raw</a> |  | ||||||
|             <a class="btn btn-default hidden" href="#">Blame</a> |  | ||||||
|             <a class="btn btn-default" href="{{.RepoLink}}/commits/{{.BranchName}}/{{.TreeName}}">History</a> |  | ||||||
|             <a class="btn btn-danger hidden" href="#">Delete</a> |  | ||||||
|         </div> |  | ||||||
|         {{end}} |  | ||||||
|     </div> |  | ||||||
| 
 |  | ||||||
|     {{if not .FileIsText}} |  | ||||||
|     <div class="panel-body file-body file-code code-view"> |  | ||||||
|         {{if .IsImageFile}} |  | ||||||
|             <img src="{{.FileLink}}"> |  | ||||||
|         {{else}} |  | ||||||
|             <a href="{{.FileLink}}" rel="nofollow" class="btn btn-default">View Raw</a> |  | ||||||
|         {{end}} |  | ||||||
|     </div> |  | ||||||
|     {{else}} |  | ||||||
|     {{if .ReadmeExist}} |  | ||||||
|     <div class="panel-body file-body markdown"> |  | ||||||
|         {{.FileContent|str2html}} |  | ||||||
|     </div> |  | ||||||
|     {{else}} |  | ||||||
|     <div class="panel-body file-body file-code code-view"> |  | ||||||
|         <table> |  | ||||||
|             <tbody> |  | ||||||
|                 <tr> |  | ||||||
|                     <td class="lines-num"></td> |  | ||||||
|                     <td class="lines-code markdown"><pre class="prettyprint linenums{{if .FileExt}} lang-{{.FileExt}}{{end}}">{{.FileContent}}</pre></td> |  | ||||||
|                 </tr> |  | ||||||
|             </tbody> |  | ||||||
|         </table> |  | ||||||
|     </div> |  | ||||||
|     {{end}} |  | ||||||
|     {{end}} |  | ||||||
| </div> |  | ||||||
| @ -1,51 +0,0 @@ | |||||||
| <div class="panel panel-default info-box"> |  | ||||||
|     <div class="panel-heading info-head"> |  | ||||||
|         <a href="{{AppSubUrl}}/{{.Username}}/{{.Reponame}}/commit/{{.LastCommit.Id}}" rel="nofollow">{{.LastCommit.Summary}}</a> |  | ||||||
|     </div> |  | ||||||
|     <div class="panel-body info-content"> |  | ||||||
|         <a href="{{AppSubUrl}}/user/{{.LastCommit.Author.Name}}">{{.LastCommit.Author.Name}}</a> <span class="text-muted">{{TimeSince .LastCommit.Author.When}}</span> |  | ||||||
|     </div> |  | ||||||
|     <table class="panel-footer table file-list"> |  | ||||||
|         <thead class="hidden"> |  | ||||||
|         <tr> |  | ||||||
|             <th class="icon"></th> |  | ||||||
|             <th class="name">Filename</th> |  | ||||||
|             <th class="text">Message</th> |  | ||||||
|             <th class="date">Date modified</th> |  | ||||||
|         </tr> |  | ||||||
|         </thead> |  | ||||||
|         <tbody> |  | ||||||
|             {{if .HasParentPath}} |  | ||||||
|                 <tr class="has-parent"> |  | ||||||
|                     <td class="icon"><a href="{{.BranchLink}}{{.ParentPath}}"><i class="fa fa-reply"></i></a></td> |  | ||||||
|                     <td class="name"><a href="{{.BranchLink}}{{.ParentPath}}">..</a></td> |  | ||||||
|                     <td class="text"></td> |  | ||||||
|                     <td class="date"></td> |  | ||||||
|                 </tr> |  | ||||||
|             {{end}} |  | ||||||
|             {{range $item := .Files}} |  | ||||||
|                 {{$entry := index $item 0}} |  | ||||||
|                 {{$commit := index $item 1}} |  | ||||||
|                 <tr {{if $entry.IsDir}}class="is-dir"{{end}}> |  | ||||||
|                     <td class="icon"> |  | ||||||
|                         <i class="fa {{if $entry.IsDir}}fa-folder{{else}}fa-file-text-o{{end}}"></i> |  | ||||||
|                     </td> |  | ||||||
|                     <td class="name"> |  | ||||||
|                         <span class="wrap"> |  | ||||||
|                             <a href="{{$.BranchLink}}/{{$.TreePath}}{{$entry.Name}}">{{$entry.Name}}</a> |  | ||||||
|                         </span> |  | ||||||
|                     </td> |  | ||||||
|                     <td class="text"> |  | ||||||
|                         <span class="wrap"><a rel="nofollow" href="{{AppSubUrl}}/{{$.Username}}/{{$.Reponame}}/commit/{{$commit.Id}}">{{$commit.Summary}}</a></span> |  | ||||||
|                     </td> |  | ||||||
|                     <td class="date"> |  | ||||||
|                         <span class="wrap">{{TimeSince $commit.Committer.When}}</span> |  | ||||||
|                     </td> |  | ||||||
|                 </tr> |  | ||||||
|             {{end}} |  | ||||||
|         </tbody> |  | ||||||
|     </table> |  | ||||||
| </div> |  | ||||||
| {{if .ReadmeExist}} |  | ||||||
|     {{template "repo/single_file" .}} |  | ||||||
| {{end}} |  | ||||||
| @ -2,7 +2,7 @@ | |||||||
|     <p class="panel-header"> |     <p class="panel-header"> | ||||||
|         {{if .ReadmeExist}} |         {{if .ReadmeExist}} | ||||||
|             <i class="icon fa fa-book fa-lg"></i> |             <i class="icon fa fa-book fa-lg"></i> | ||||||
| 	        {{if .ReadmeInHome}} | 	        {{if .ReadmeInList}} | ||||||
| 	        <strong class="file-name">{{.FileName}}</strong> | 	        <strong class="file-name">{{.FileName}}</strong> | ||||||
| 	        {{else}} | 	        {{else}} | ||||||
| 	        <strong>{{.FileName}}</strong><span class="file-size">{{FileSize .FileSize}}</span> | 	        <strong>{{.FileName}}</strong><span class="file-size">{{FileSize .FileSize}}</span> | ||||||
| @ -11,6 +11,14 @@ | |||||||
|             <i class="icon fa fa-file-text-o"></i> |             <i class="icon fa fa-file-text-o"></i> | ||||||
|             <strong class="file-name">{{.FileName}}</strong><span class="file-size">{{FileSize .FileSize}}</span> |             <strong class="file-name">{{.FileName}}</strong><span class="file-size">{{FileSize .FileSize}}</span> | ||||||
| 	    {{end}} | 	    {{end}} | ||||||
|  |         {{if not .ReadmeInList}} | ||||||
|  |             <a class="right" href="{{.RepoLink}}/commits/{{.BranchName}}/{{.TreeName}}"> | ||||||
|  |                 <button class="btn btn-medium btn-gray btn-right-radius btn-comb">{{.i18n.Tr "repo.file_history"}}</button> | ||||||
|  |             </a> | ||||||
|  |             <a class="right" href="{{.FileLink}}"> | ||||||
|  |                 <button class="btn btn-medium btn-gray btn-left-radius btn-comb">{{.i18n.Tr "repo.file_raw"}}</button> | ||||||
|  |             </a> | ||||||
|  |         {{end}} | ||||||
|     </p> |     </p> | ||||||
|     <div class="{{if .ReadmeExist}}panel-content markdown{{end}} code-view" id="repo-code-view"> |     <div class="{{if .ReadmeExist}}panel-content markdown{{end}} code-view" id="repo-code-view"> | ||||||
|     	{{if .ReadmeExist}} |     	{{if .ReadmeExist}} | ||||||
| @ -20,7 +28,7 @@ | |||||||
|             {{if .IsImageFile}} |             {{if .IsImageFile}} | ||||||
|             <img src="{{.FileLink}}"> |             <img src="{{.FileLink}}"> | ||||||
|             {{else}} |             {{else}} | ||||||
|             <a href="{{.FileLink}}" rel="nofollow" class="btn btn-gray btn-radius">View Raw</a> |             <a href="{{.FileLink}}" rel="nofollow" class="btn btn-gray btn-radius">{{.i18n.Tr "repo.file_view_raw"}}</a> | ||||||
|             {{end}} |             {{end}} | ||||||
|         </div> |         </div> | ||||||
|     	{{else if .FileSize}} |     	{{else if .FileSize}} | ||||||
|  | |||||||
| @ -10,7 +10,7 @@ | |||||||
|                 <strong>{{ShortSha .LastCommit.Id.String}}</strong></a> |                 <strong>{{ShortSha .LastCommit.Id.String}}</strong></a> | ||||||
|                 <span class="text-truncate">{{.LastCommit.Summary}}</span> |                 <span class="text-truncate">{{.LastCommit.Summary}}</span> | ||||||
|             </span> |             </span> | ||||||
|             <span class="age right">{{TimeSince .LastCommit.Author.When .i18n.Lang}}</span> |             <span class="age right">{{TimeSince .LastCommit.Author.When $.Lang}}</span> | ||||||
|         </th> |         </th> | ||||||
|     </tr> |     </tr> | ||||||
|     </thead> |     </thead> | ||||||
| @ -45,7 +45,7 @@ | |||||||
|                 <td class="msg"> |                 <td class="msg"> | ||||||
|                     <a class="text-truncate" href="{{AppSubUrl}}/{{$.Username}}/{{$.Reponame}}/commit/{{$commit.Id}}" rel="nofollow">{{$commit.Summary}}</a> |                     <a class="text-truncate" href="{{AppSubUrl}}/{{$.Username}}/{{$.Reponame}}/commit/{{$commit.Id}}" rel="nofollow">{{$commit.Summary}}</a> | ||||||
|                 </td> |                 </td> | ||||||
|                 <td class="age">{{TimeSince $commit.Committer.When $.i18n.Lang}}</td> |                 <td class="age">{{TimeSince $commit.Committer.When $.Lang}}</td> | ||||||
|             </tr> |             </tr> | ||||||
|         {{end}} |         {{end}} | ||||||
|     </tbody> |     </tbody> | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user