Newer
Older
gitbucket_jkp / src / main / twirl / repo / files.scala.html
@(branch: String,
  repository: service.RepositoryService.RepositoryInfo,
  pathList: List[String],
  latestCommit: util.JGitUtil.CommitInfo,
  files: List[util.JGitUtil.FileInfo],
  readme: Option[(util.JGitUtil.FileInfo, String)],
  settings: service.SystemSettingsService.SystemSettings)(implicit context: app.Context)
@import context._
@import view.helpers._
@html.main(s"${repository.owner}/${repository.name}", Some(repository)) {
  @html.header("code", repository)
  @tab(branch, repository, "files", settings)
  <div class="head">
    <div class="pull-right">
      @defining(repository.commitCount){ commitCount =>
        <a href="@url(repository)/commits/@encodeRefName(branch)">@if(commitCount > 10000){ @commitCount+ } else { @commitCount } @plural(commitCount, "commit")</a>&nbsp;
      }
    </div>
    <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> /
    }
  </div>
  <div class="box">
    <table class="table table-file-list" style="border: 1px solid silver;">
      <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>
            @avatar(latestCommit, 20)
            @user(latestCommit.committer, latestCommit.mailAddress, "username strong")
            <span class="muted">@datetime(latestCommit.time)</span>
            <div class="pull-right align-right monospace">
              <a href="@url(repository)/commit/@latestCommit.id" class="commit-id"><span class="muted">latest commit</span> @latestCommit.id.substring(0, 10)</a>
            </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">@file.name</a>
          } else {
            <a href="@url(repository)/tree@{(encodeRefName(branch) :: pathList).mkString("/", "/", "/")}@file.name">@file.name</a>
          }
        } else {
          <a href="@url(repository)/blob@{(encodeRefName(branch) :: pathList).mkString("/", "/", "/")}@file.name">@file.name</a>
        }
        </td>
        <td>@datetime(file.time)</td>
        <td>
          <a href="@url(repository)/commit/@file.commitId" class="commit-message">@link(file.message, repository)</a>
          [@user(file.committer, file.mailAddress)]
        </td>
      </tr>
      }
    </table>
  </div>
  
  @readme.map { case(file, content) =>
  <div id="readme" class="box">
    <div class="box-header">@file.name</div>
    <div class="box-content markdown-body">@markdown(content, repository, false, false)</div>
  </div>
  }
}