mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-04 10:30:19 -05:00
74a6add4d9
* Start work on templates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Continue work Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix IsTemplate vs IsGenerated Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tabs vs spaces * Tabs vs Spaces * Add templates to API & start adding tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix integration tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Remove unused User Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move template tests to existing repos Signed-off-by: jolheiser <john.olheiser@gmail.com> * Minor re-check updates and cleanup Signed-off-by: jolheiser <john.olheiser@gmail.com> * make fmt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Test cleanup Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix optionalbool Signed-off-by: jolheiser <john.olheiser@gmail.com> * make fmt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Test fixes and icon change Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add new user and repo for tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tests (finally) Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update meta repo with env variables Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move generation to create page Combine with repo create template Modify API search to prioritize owner for repo Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tests and coverage Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix swagger and JS lint Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix API searching for own private repos Signed-off-by: jolheiser <john.olheiser@gmail.com> * Change wording Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix repo search test. User had a private repo that didn't show up Signed-off-by: jolheiser <john.olheiser@gmail.com> * Another search test fix Signed-off-by: jolheiser <john.olheiser@gmail.com> * Clarify git content Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com> * Feedback updates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add topics WIP Signed-off-by: jolheiser <john.olheiser@gmail.com> * Finish adding topics Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update locale Signed-off-by: jolheiser <john.olheiser@gmail.com>
153 lines
7.1 KiB
Cheetah
153 lines
7.1 KiB
Cheetah
{{template "base/head" .}}
|
|
<div class="repository file list">
|
|
{{template "repo/header" .}}
|
|
<div class="ui container">
|
|
{{template "base/alert" .}}
|
|
<div class="ui repo-description">
|
|
<div id="repo-desc">
|
|
{{if .Repository.DescriptionHTML}}<span class="description has-emoji">{{.Repository.DescriptionHTML}}</span>{{else if .IsRepositoryAdmin}}<span class="no-description text-italic">{{.i18n.Tr "repo.no_desc"}}</span>{{end}}
|
|
<a class="link" href="{{.Repository.Website}}">{{.Repository.Website}}</a>
|
|
</div>
|
|
{{if .RepoSearchEnabled}}
|
|
<div class="ui repo-search">
|
|
<form class="ui form ignore-dirty" action="{{.RepoLink}}/search" method="get">
|
|
<div class="field">
|
|
<div class="ui action input">
|
|
<input name="q" value="{{.Keyword}}" placeholder="{{.i18n.Tr "repo.search.search_repo"}}">
|
|
<button class="ui icon button" type="submit">
|
|
<i class="search icon"></i>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
<div class="ui" id="repo-topics">
|
|
{{range .Topics}}<a class="ui repo-topic small label topic" href="{{AppSubUrl}}/explore/repos?q={{.Name}}&topic=1">{{.Name}}</a>{{end}}
|
|
{{if and .Permission.IsAdmin (not .Repository.IsArchived)}}<a id="manage_topic">{{.i18n.Tr "repo.topic.manage_topics"}}</a>{{end}}
|
|
</div>
|
|
{{if and .Permission.IsAdmin (not .Repository.IsArchived)}}
|
|
<div class="ui repo-topic-edit grid form segment error" id="topic_edit" style="display:none">
|
|
<div class="fourteen wide column">
|
|
<div class="field">
|
|
<div class="ui fluid multiple search selection dropdown">
|
|
<input type="hidden" name="topics" value="{{range $i, $v := .Topics}}{{.Name}}{{if lt (Add $i 1) (len $.Topics)}},{{end}}{{end}}">
|
|
{{range .Topics}}
|
|
<div class="ui small label topic transition visible" data-value="{{.Name}}" style="display: inline-block !important; cursor: default;">{{.Name}}<i class="delete icon"></i></div>
|
|
{{end}}
|
|
<div class="text"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="two wide column">
|
|
<a class="ui button primary" href="javascript:;" id="save_topic"
|
|
data-link="{{.RepoLink}}/topics">{{.i18n.Tr "repo.topic.done"}}</a>
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
<div class="hide" id="validate_prompt">
|
|
<span id="count_prompt">{{.i18n.Tr "repo.topic.count_prompt"}}</span>
|
|
<span id="format_prompt">{{.i18n.Tr "repo.topic.format_prompt"}}</span>
|
|
</div>
|
|
{{if .Repository.IsArchived}}
|
|
<div class="ui warning message">
|
|
{{.i18n.Tr "repo.archive.title"}}
|
|
</div>
|
|
{{end}}
|
|
{{template "repo/sub_menu" .}}
|
|
<div class="ui stackable secondary menu mobile--margin-between-items mobile--no-negative-margins">
|
|
{{template "repo/branch_dropdown" .}}
|
|
{{ $n := len .TreeNames}}
|
|
{{ $l := Subtract $n 1}}
|
|
<!-- If home page, show new PR. If not, show breadcrumb -->
|
|
{{if eq $n 0}}
|
|
{{if and .PullRequestCtx.Allowed .IsViewBranch (not .Repository.IsArchived)}}
|
|
<div class="fitted item">
|
|
<a href="{{.BaseRepo.Link}}/compare/{{.BaseRepo.DefaultBranch | EscapePound}}...{{if ne .Repository.Owner.Name .BaseRepo.Owner.Name}}{{.Repository.Owner.Name}}:{{end}}{{.BranchName | EscapePound}}">
|
|
<button id="new-pull-request" class="ui compact basic button">{{.i18n.Tr "repo.pulls.compare_changes"}}</button>
|
|
</a>
|
|
</div>
|
|
{{end}}
|
|
{{else}}
|
|
<div class="fitted item"><span class="ui breadcrumb repo-path"><a class="section" href="{{.RepoLink}}/src/{{EscapePound .BranchNameSubURL}}" title="{{.Repository.Name}}">{{EllipsisString .Repository.Name 30}}</a>{{range $i, $v := .TreeNames}}<span class="divider">/</span>{{if eq $i $l}}<span class="active section" title="{{$v}}">{{EllipsisString $v 30}}</span>{{else}}{{ $p := index $.Paths $i}}<span class="section"><a href="{{EscapePound $.BranchLink}}/{{EscapePound $p}}" title="{{$v}}">{{EllipsisString $v 30}}</a></span>{{end}}{{end}}</span></div>
|
|
{{end}}
|
|
<div class="right fitted item" id="file-buttons">
|
|
<div class="ui tiny blue buttons">
|
|
{{if .Repository.CanEnableEditor}}
|
|
{{if .CanAddFile}}
|
|
<a href="{{.RepoLink}}/_new/{{EscapePound .BranchName}}/{{EscapePound .TreePath}}" class="ui button">
|
|
{{.i18n.Tr "repo.editor.new_file"}}
|
|
</a>
|
|
{{end}}
|
|
{{if .CanUploadFile}}
|
|
<a href="{{.RepoLink}}/_upload/{{EscapePound .BranchName}}/{{EscapePound .TreePath}}" class="ui button">
|
|
{{.i18n.Tr "repo.editor.upload_file"}}
|
|
</a>
|
|
{{end}}
|
|
{{end}}
|
|
{{if and (ne $n 0) (not .IsViewFile) (not .IsBlame) }}
|
|
<a href="{{.RepoLink}}/commits/{{EscapePound .BranchNameSubURL}}/{{EscapePound .TreePath}}" class="ui button">
|
|
{{.i18n.Tr "repo.file_history"}}
|
|
</a>
|
|
{{end}}
|
|
</div>
|
|
|
|
</div>
|
|
<div class="fitted item">
|
|
{{if eq $n 0}}
|
|
{{if .Repository.IsTemplate}}
|
|
<div class="ui tiny blue buttons">
|
|
<a href="{{AppSubUrl}}/repo/create?template_id={{.Repository.ID}}" class="ui button">
|
|
{{.i18n.Tr "repo.use_template"}}
|
|
</a>
|
|
</div>
|
|
{{end}}
|
|
{{end}}
|
|
</div>
|
|
<div class="fitted item">
|
|
|
|
<!-- Only show clone panel in repository home page -->
|
|
{{if eq $n 0}}
|
|
<div class="ui action tiny input" id="clone-panel">
|
|
{{if not $.DisableHTTP}}
|
|
<button class="ui basic clone button" id="repo-clone-https" data-link="{{.CloneLink.HTTPS}}">
|
|
{{if UseHTTPS}}HTTPS{{else}}HTTP{{end}}
|
|
</button>
|
|
{{end}}
|
|
{{if and (not $.DisableSSH) (or $.IsSigned $.ExposeAnonSSH)}}
|
|
<button class="ui basic clone button" id="repo-clone-ssh" data-link="{{.CloneLink.SSH}}">
|
|
SSH
|
|
</button>
|
|
{{end}}
|
|
{{if not $.DisableHTTP}}
|
|
<input id="repo-clone-url" value="{{$.CloneLink.HTTPS}}" readonly>
|
|
{{else if and (not $.DisableSSH) (or $.IsSigned $.ExposeAnonSSH)}}
|
|
<input id="repo-clone-url" value="{{$.CloneLink.SSH}}" readonly>
|
|
{{end}}
|
|
{{if or (not $.DisableHTTP) (and (not $.DisableSSH) (or $.IsSigned $.ExposeAnonSSH))}}
|
|
<button class="ui basic icon button poping up clipboard" id="clipboard-btn" data-original="{{.i18n.Tr "repo.copy_link"}}" data-success="{{.i18n.Tr "repo.copy_link_success"}}" data-error="{{.i18n.Tr "repo.copy_link_error"}}" data-content="{{.i18n.Tr "repo.copy_link"}}" data-variation="inverted tiny" data-clipboard-target="#repo-clone-url">
|
|
<i class="octicon octicon-clippy"></i>
|
|
</button>
|
|
{{end}}
|
|
<div class="ui basic jump dropdown icon button poping up" data-content="{{.i18n.Tr "repo.download_archive"}}" data-variation="tiny inverted" data-position="top right">
|
|
<i class="download icon"></i>
|
|
<div class="menu">
|
|
<a class="item" href="{{$.RepoLink}}/archive/{{EscapePound $.BranchName}}.zip"><i class="octicon octicon-file-zip"></i> ZIP</a>
|
|
<a class="item" href="{{$.RepoLink}}/archive/{{EscapePound $.BranchName}}.tar.gz"><i class="octicon octicon-file-zip"></i> TAR.GZ</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
{{if .IsViewFile}}
|
|
{{template "repo/view_file" .}}
|
|
{{else if .IsBlame}}
|
|
{{template "repo/blame" .}}
|
|
{{else}}
|
|
{{template "repo/view_list" .}}
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
{{template "base/footer" .}}
|