mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-03 20:15:59 +01:00
124 lines
5.1 KiB
HTML
124 lines
5.1 KiB
HTML
@(branch: String,
|
|
repository: service.RepositoryService.RepositoryInfo,
|
|
pathList: List[String],
|
|
groupNames: List[String],
|
|
latestCommit: util.JGitUtil.CommitInfo,
|
|
files: List[util.JGitUtil.FileInfo],
|
|
readme: Option[(List[String], String)],
|
|
hasWritePermission: Boolean,
|
|
info: Option[Any] = None,
|
|
error: Option[Any] = None)(implicit context: app.Context)
|
|
@import context._
|
|
@import view.helpers._
|
|
@html.main(s"${repository.owner}/${repository.name}", Some(repository)) {
|
|
@html.menu("code", repository, Some(branch), pathList.isEmpty, groupNames.isEmpty, info, error){
|
|
<div class="head">
|
|
@helper.html.branchcontrol(
|
|
branch,
|
|
repository,
|
|
hasWritePermission
|
|
){
|
|
@repository.branchList.map { x =>
|
|
<li><a href="@url(repository)/tree/@encodeRefName(x)">@helper.html.checkicon(x == branch) @x</a></li>
|
|
}
|
|
}
|
|
<a href="@url(repository)/tree/@encodeRefName(branch)">@repository.name</a> /
|
|
@pathList.zipWithIndex.map { case (section, i) =>
|
|
<a href="@url(repository)/tree/@encodeRefName(branch)/@pathList.take(i + 1).mkString("/")">@section</a> /
|
|
}
|
|
@if(hasWritePermission){
|
|
<a href="@url(repository)/new/@encodeRefName(branch)/@pathList.mkString("/")"><img src="@assets/common/images/newfile.png"/></a>
|
|
}
|
|
</div>
|
|
<table class="table table-file-list">
|
|
<tr>
|
|
<th colspan="4" style="font-weight: normal;">
|
|
<a href="@url(repository)/commit/@latestCommit.id" class="commit-message">@link(latestCommit.summary, repository)</a>
|
|
@if(latestCommit.description.isDefined){
|
|
<a href="javascript:void(0)" onclick="$('#description-@latestCommit.id').toggle();" class="omit">...</a>
|
|
<pre id="description-@latestCommit.id" class="commit-description" style="display: none;">@link(latestCommit.description.get, repository)</pre>
|
|
}
|
|
</th>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="4" class="latest-commit">
|
|
<div>
|
|
<div class="pull-right align-right monospace" style="line-height: 18px;">
|
|
<a href="@url(repository)/commit/@latestCommit.id" class="commit-id"><span class="muted">latest commit</span> @latestCommit.id.substring(0, 10)</a>
|
|
</div>
|
|
<div class="author-info">
|
|
<div class="author">
|
|
@avatar(latestCommit, 20)
|
|
<span>@user(latestCommit.authorName, latestCommit.authorEmailAddress, "username strong")</span>
|
|
<span class="muted"> authored @helper.html.datetimeago(latestCommit.authorTime)</span>
|
|
</div>
|
|
@if(latestCommit.isDifferentFromAuthor) {
|
|
<div class="committer">
|
|
<span class="icon-arrow-right"></span>
|
|
<span>@user(latestCommit.committerName, latestCommit.committerEmailAddress, "username strong")</span>
|
|
<span class="muted"> committed @helper.html.datetimeago(latestCommit.commitTime)</span>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
@if(pathList.size > 0){
|
|
<tr>
|
|
<td width="16"></td>
|
|
<td><a href="@url(repository)@if(pathList.size > 1){/tree/@encodeRefName(branch)/@pathList.init.mkString("/")}">..</a></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
}
|
|
@files.map { file =>
|
|
<tr>
|
|
<td width="16">
|
|
@if(file.isDirectory){
|
|
@if(file.linkUrl.isDefined){
|
|
<img src="@assets/common/images/folder_link.png"/>
|
|
} else {
|
|
<img src="@assets/common/images/folder.png"/>
|
|
}
|
|
} else {
|
|
<img src="@assets/common/images/file.png"/>
|
|
}
|
|
</td>
|
|
<td>
|
|
@if(file.isDirectory){
|
|
@if(file.linkUrl.isDefined){
|
|
<a href="@file.linkUrl">
|
|
<span class="simplified-path">@file.name.split("/").toList.init match {
|
|
case Nil => {}
|
|
case list => {@list.mkString("", "/", "/")}
|
|
}</span>@file.name.split("/").toList.last
|
|
</a>
|
|
} else {
|
|
<a href="@url(repository)/tree@{(encodeRefName(branch) :: pathList).mkString("/", "/", "/")}@file.name">
|
|
<span class="simplified-path">@file.name.split("/").toList.init match {
|
|
case Nil => {}
|
|
case list => {@list.mkString("", "/", "/")}
|
|
}</span>@file.name.split("/").toList.last
|
|
</a>
|
|
}
|
|
} else {
|
|
<a href="@url(repository)/blob@{(encodeRefName(branch) :: pathList).mkString("/", "/", "/")}@file.name">@file.name</a>
|
|
}
|
|
</td>
|
|
<td class="mute">
|
|
<a href="@url(repository)/commit/@file.commitId" class="commit-message">@link(file.message, repository)</a>
|
|
[@user(file.author, file.mailAddress)]
|
|
</td>
|
|
<td style="text-align: right;">@helper.html.datetimeago(file.time, false)</td>
|
|
</tr>
|
|
}
|
|
</table>
|
|
@readme.map { case(filePath, content) =>
|
|
<div id="readme">
|
|
<div class="box-header">@filePath.reverse.head</div>
|
|
<div class="box-content markdown-body">@renderMarkup(filePath, content, branch, repository, false, false)</div>
|
|
</div>
|
|
}
|
|
}
|
|
}
|