mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Fix #22228 adding RSS feeds for branches and files. RSS feeds are accessed through: * [gitea]/src/branch/{branch}.rss * [gitea]/src/branch/{branch}/{file_name}.rss No changes have been made to the UI to expose the feed urls for branches and files.
		
			
				
	
	
		
			197 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Handlebars
		
	
	
	
	
	
			
		
		
	
	
			197 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Handlebars
		
	
	
	
	
	
{{template "base/head" .}}
 | 
						|
<div role="main" aria-label="{{.Title}}" class="page-content ui repository branches">
 | 
						|
	{{template "repo/header" .}}
 | 
						|
	<div class="ui container">
 | 
						|
		{{template "base/alert" .}}
 | 
						|
		{{template "repo/sub_menu" .}}
 | 
						|
		{{if .DefaultBranchBranch}}
 | 
						|
			<h4 class="ui top attached header gt-mt-4">
 | 
						|
				{{.locale.Tr "repo.default_branch"}}
 | 
						|
			</h4>
 | 
						|
 | 
						|
			<div class="ui attached table segment">
 | 
						|
				<table class="ui very basic striped fixed table single line">
 | 
						|
					<tbody>
 | 
						|
						<tr>
 | 
						|
							<td>
 | 
						|
								{{if .DefaultBranchBranch.IsProtected}}
 | 
						|
									{{svg "octicon-shield-lock"}}
 | 
						|
								{{end}}
 | 
						|
								<a href="{{.RepoLink}}/src/branch/{{PathEscapeSegments .DefaultBranch}}">{{.DefaultBranch}}</a>
 | 
						|
								<p class="info gt-df gt-ac gt-my-2">{{svg "octicon-git-commit" 16 "gt-mr-2"}}<a href="{{.RepoLink}}/commit/{{PathEscape .DefaultBranchBranch.Commit.ID.String}}">{{ShortSha .DefaultBranchBranch.Commit.ID.String}}</a> · <span class="commit-message">{{RenderCommitMessage $.Context .DefaultBranchBranch.Commit.CommitMessage .RepoLink .Repository.ComposeMetas}}</span> · {{.locale.Tr "org.repo_updated"}} {{TimeSince .DefaultBranchBranch.Commit.Committer.When .locale}}</p>
 | 
						|
							</td>
 | 
						|
							<td class="right aligned overflow-visible">
 | 
						|
								{{if and $.IsWriter (not $.Repository.IsArchived) (not .IsDeleted)}}
 | 
						|
									<button class="ui basic jump button icon show-create-branch-modal" data-tooltip-content="{{$.locale.Tr "repo.branch.new_branch_from" ($.DefaultBranch)}}" data-branch-from="{{$.DefaultBranch}}" data-branch-from-urlcomponent="{{PathEscapeSegments $.DefaultBranch}}" data-modal="#create-branch-modal">
 | 
						|
										{{svg "octicon-git-branch"}}
 | 
						|
									</button>
 | 
						|
								{{end}}
 | 
						|
								{{if .EnableFeed}}
 | 
						|
									<a role="button" class="ui basic button icon" href="{{$.FeedURL}}/rss/branch/{{PathEscapeSegments .DefaultBranch}}">
 | 
						|
										{{svg "octicon-rss"}}
 | 
						|
									</a>
 | 
						|
								{{end}}
 | 
						|
								{{if not $.DisableDownloadSourceArchives}}
 | 
						|
									<button class="ui basic jump dropdown icon button" data-tooltip-content="{{$.locale.Tr "repo.branch.download" ($.DefaultBranch)}}">
 | 
						|
										{{svg "octicon-download"}}
 | 
						|
										<div class="menu">
 | 
						|
											<a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments $.DefaultBranch}}.zip" rel="nofollow">{{svg "octicon-file-zip"}} ZIP</a>
 | 
						|
											<a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments $.DefaultBranch}}.tar.gz" rel="nofollow">{{svg "octicon-file-zip"}} TAR.GZ</a>
 | 
						|
										</div>
 | 
						|
									</button>
 | 
						|
								{{end}}
 | 
						|
							</td>
 | 
						|
						</tr>
 | 
						|
					</tbody>
 | 
						|
				</table>
 | 
						|
			</div>
 | 
						|
		{{end}}
 | 
						|
 | 
						|
		{{if gt (len .Branches) 1}}
 | 
						|
			<h4 class="ui top attached header">
 | 
						|
				{{.locale.Tr "repo.branches"}}
 | 
						|
			</h4>
 | 
						|
			<div class="ui attached table segment">
 | 
						|
				<table class="ui very basic striped fixed table single line">
 | 
						|
					<tbody>
 | 
						|
						{{range .Branches}}
 | 
						|
							{{if ne .Name $.DefaultBranch}}
 | 
						|
								<tr>
 | 
						|
									<td class="six wide">
 | 
						|
									{{if .IsDeleted}}
 | 
						|
										<s><a href="{{$.RepoLink}}/src/branch/{{PathEscapeSegments .Name}}">{{.Name}}</a></s>
 | 
						|
										<p class="info">{{$.locale.Tr "repo.branch.deleted_by" .DeletedBranch.DeletedBy.Name}} {{TimeSinceUnix .DeletedBranch.DeletedUnix $.locale}}</p>
 | 
						|
									{{else}}
 | 
						|
										{{if .IsProtected}}
 | 
						|
											{{svg "octicon-shield-lock"}}
 | 
						|
										{{end}}
 | 
						|
										<a href="{{$.RepoLink}}/src/branch/{{PathEscapeSegments .Name}}">{{.Name}}</a>
 | 
						|
										<p class="info gt-df gt-ac gt-my-2">{{svg "octicon-git-commit" 16 "gt-mr-2"}}<a href="{{$.RepoLink}}/commit/{{PathEscape .Commit.ID.String}}">{{ShortSha .Commit.ID.String}}</a> · <span class="commit-message">{{RenderCommitMessage $.Context .Commit.CommitMessage $.RepoLink $.Repository.ComposeMetas}}</span> · {{$.locale.Tr "org.repo_updated"}} {{TimeSince .Commit.Committer.When $.locale}}</p>
 | 
						|
									{{end}}
 | 
						|
									</td>
 | 
						|
									<td class="three wide ui">
 | 
						|
										{{if and (not .IsDeleted) $.DefaultBranchBranch}}
 | 
						|
										<div class="commit-divergence">
 | 
						|
											<div class="bar-group">
 | 
						|
												<div class="count count-behind">{{.CommitsBehind}}</div>
 | 
						|
												{{/* old code bears 0/0.0 = NaN output, so it might output invalid "width: NaNpx", it just works and doesn't caues any problem. */}}
 | 
						|
												<div class="bar bar-behind" style="width: {{Eval 100 "*" .CommitsBehind "/" "(" .CommitsBehind "+" .CommitsAhead "+" 0.0 ")"}}%"></div>
 | 
						|
											</div>
 | 
						|
											<div class="bar-group">
 | 
						|
												<div class="count count-ahead">{{.CommitsAhead}}</div>
 | 
						|
												<div class="bar bar-ahead" style="width: {{Eval 100 "*" .CommitsAhead "/" "(" .CommitsBehind "+" .CommitsAhead "+" 0.0 ")"}}%"></div>
 | 
						|
											</div>
 | 
						|
										</div>
 | 
						|
										{{end}}
 | 
						|
									</td>
 | 
						|
									<td class="three wide right aligned">
 | 
						|
										{{if not .LatestPullRequest}}
 | 
						|
											{{if .IsIncluded}}
 | 
						|
												<span class="ui orange large label" data-tooltip-content="{{$.locale.Tr "repo.branch.included_desc"}}">
 | 
						|
													{{svg "octicon-git-pull-request"}} {{$.locale.Tr "repo.branch.included"}}
 | 
						|
												</span>
 | 
						|
											{{else if and (not .IsDeleted) $.AllowsPulls (gt .CommitsAhead 0)}}
 | 
						|
											<a href="{{$.RepoLink}}/compare/{{PathEscapeSegments $.DefaultBranch}}...{{if ne $.Repository.Owner.Name $.Owner.Name}}{{PathEscape $.Owner.Name}}:{{end}}{{PathEscapeSegments .Name}}">
 | 
						|
												<button id="new-pull-request" class="ui compact basic button gt-mr-0">{{if $.CanPull}}{{$.locale.Tr "repo.pulls.compare_changes"}}{{else}}{{$.locale.Tr "action.compare_branch"}}{{end}}</button>
 | 
						|
											</a>
 | 
						|
											{{end}}
 | 
						|
										{{else if and .LatestPullRequest.HasMerged .MergeMovedOn}}
 | 
						|
											{{if and (not .IsDeleted) $.AllowsPulls (gt .CommitsAhead 0)}}
 | 
						|
											<a href="{{$.RepoLink}}/compare/{{PathEscapeSegments $.DefaultBranch}}...{{if ne $.Repository.Owner.Name $.Owner.Name}}{{$.Owner.Name}}:{{end}}{{.Name | PathEscapeSegments}}">
 | 
						|
												<button id="new-pull-request" class="ui compact basic button gt-mr-0">{{if $.CanPull}}{{$.locale.Tr "repo.pulls.compare_changes"}}{{else}}{{$.locale.Tr "action.compare_branch"}}{{end}}</button>
 | 
						|
											</a>
 | 
						|
											{{end}}
 | 
						|
										{{else}}
 | 
						|
											<a href="{{.LatestPullRequest.Issue.Link}}" class="gt-vm ref-issue">{{if not .LatestPullRequest.IsSameRepo}}{{.LatestPullRequest.BaseRepo.FullName}}{{end}}#{{.LatestPullRequest.Issue.Index}}</a>
 | 
						|
											{{if .LatestPullRequest.HasMerged}}
 | 
						|
												<a href="{{.LatestPullRequest.Issue.Link}}" class="ui text-label purple large label gt-vm">{{svg "octicon-git-merge" 16 "gt-mr-2"}}{{$.locale.Tr "repo.pulls.merged"}}</a>
 | 
						|
											{{else if .LatestPullRequest.Issue.IsClosed}}
 | 
						|
												<a href="{{.LatestPullRequest.Issue.Link}}" class="ui text-label red large label gt-vm">{{svg "octicon-git-pull-request" 16 "gt-mr-2"}}{{$.locale.Tr "repo.issues.closed_title"}}</a>
 | 
						|
											{{else}}
 | 
						|
												<a href="{{.LatestPullRequest.Issue.Link}}" class="ui text-label green large label gt-vm">{{svg "octicon-git-pull-request" 16 "gt-mr-2"}}{{$.locale.Tr "repo.issues.open_title"}}</a>
 | 
						|
											{{end}}
 | 
						|
										{{end}}
 | 
						|
									</td>
 | 
						|
									<td class="three wide right aligned overflow-visible">
 | 
						|
										{{if and $.IsWriter (not $.Repository.IsArchived) (not .IsDeleted)}}
 | 
						|
											<button class="ui basic jump button icon show-create-branch-modal" data-branch-from="{{.Name}}" data-branch-from-urlcomponent="{{PathEscapeSegments .Name}}" data-tooltip-content="{{$.locale.Tr "repo.branch.new_branch_from" .Name}}" data-modal="#create-branch-modal" data-name="{{.Name}}">
 | 
						|
												{{svg "octicon-git-branch"}}
 | 
						|
											</button>
 | 
						|
										{{end}}
 | 
						|
										{{if $.EnableFeed}}
 | 
						|
											<a role="button" class="ui basic button icon" href="{{$.FeedURL}}/rss/branch/{{PathEscapeSegments .Name}}">
 | 
						|
												{{svg "octicon-rss"}}
 | 
						|
											</a>
 | 
						|
										{{end}}
 | 
						|
										{{if and (not .IsDeleted) (not $.DisableDownloadSourceArchives)}}
 | 
						|
											<button class="ui basic jump dropdown icon button" data-tooltip-content="{{$.locale.Tr "repo.branch.download" (.Name)}}">
 | 
						|
												{{svg "octicon-download"}}
 | 
						|
												<div class="menu">
 | 
						|
													<a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments .Name}}.zip" rel="nofollow">{{svg "octicon-file-zip"}} ZIP</a>
 | 
						|
													<a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments .Name}}.tar.gz" rel="nofollow">{{svg "octicon-file-zip"}} TAR.GZ</a>
 | 
						|
												</div>
 | 
						|
											</button>
 | 
						|
										{{end}}
 | 
						|
										{{if and $.IsWriter (not $.IsMirror) (not $.Repository.IsArchived) (not .IsProtected)}}
 | 
						|
											{{if .IsDeleted}}
 | 
						|
												<button class="ui basic jump button icon undo-button" data-url="{{$.Link}}/restore?branch_id={{.DeletedBranch.ID}}&name={{.DeletedBranch.Name}}&page={{$.Page.Paginater.Current}}" data-tooltip-content="{{$.locale.Tr "repo.branch.restore" (.Name)}}">
 | 
						|
													<span class="text blue">
 | 
						|
														{{svg "octicon-reply"}}
 | 
						|
													</span>
 | 
						|
												</button>
 | 
						|
											{{else}}
 | 
						|
												<button class="ui basic jump button icon delete-button delete-branch-button" data-url="{{$.Link}}/delete?name={{.Name}}&page={{$.Page.Paginater.Current}}" data-tooltip-content="{{$.locale.Tr "repo.branch.delete" (.Name)}}" data-name="{{.Name}}">
 | 
						|
													{{svg "octicon-trash"}}
 | 
						|
												</button>
 | 
						|
											{{end}}
 | 
						|
										{{end}}
 | 
						|
									</td>
 | 
						|
								</tr>
 | 
						|
							{{end}}
 | 
						|
						{{end}}
 | 
						|
					</tbody>
 | 
						|
				</table>
 | 
						|
			</div>
 | 
						|
			{{template "base/paginate" .}}
 | 
						|
		{{end}}
 | 
						|
	</div>
 | 
						|
</div>
 | 
						|
 | 
						|
<div class="ui g-modal-confirm delete modal">
 | 
						|
	<div class="header">
 | 
						|
		{{svg "octicon-trash"}}
 | 
						|
		{{.locale.Tr "repo.branch.delete_html"}} <span class="name"></span>
 | 
						|
	</div>
 | 
						|
	<div class="content">
 | 
						|
		<p>{{.locale.Tr "repo.branch.delete_desc" | Str2html}}</p>
 | 
						|
	</div>
 | 
						|
	{{template "base/modal_actions_confirm" .}}
 | 
						|
</div>
 | 
						|
 | 
						|
<div class="ui small modal" id="create-branch-modal">
 | 
						|
	<div class="header">
 | 
						|
		{{.locale.Tr "repo.branch.new_branch"}}
 | 
						|
	</div>
 | 
						|
	<div class="content">
 | 
						|
		<form class="ui form" id="create-branch-form" action="" data-base-action="{{.Link}}/_new/branch/" method="post">
 | 
						|
			{{.CsrfTokenHtml}}
 | 
						|
			<div class="field">
 | 
						|
				<label>
 | 
						|
					{{.locale.Tr "repo.branch.create_new_branch"}}
 | 
						|
					<span class="text" id="modal-create-branch-from-span"></span>
 | 
						|
				</label>
 | 
						|
			</div>
 | 
						|
			<div class="required field">
 | 
						|
				<label for="new_branch_name">{{.locale.Tr "repo.branch.name"}}</label>
 | 
						|
				<input id="new_branch_name" name="new_branch_name" required>
 | 
						|
			</div>
 | 
						|
 | 
						|
			<div class="text right actions">
 | 
						|
				<button class="ui cancel button">{{.locale.Tr "settings.cancel"}}</button>
 | 
						|
				<button class="ui green button">{{.locale.Tr "repo.branch.confirm_create_branch"}}</button>
 | 
						|
			</div>
 | 
						|
		</form>
 | 
						|
	</div>
 | 
						|
</div>
 | 
						|
{{template "base/footer" .}}
 |