summaryrefslogtreecommitdiffstats
path: root/templates/repo/release
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--templates/repo/release/list.tmpl142
-rw-r--r--templates/repo/release/new.tmpl183
-rw-r--r--templates/repo/release_tag_header.tmpl31
3 files changed, 356 insertions, 0 deletions
diff --git a/templates/repo/release/list.tmpl b/templates/repo/release/list.tmpl
new file mode 100644
index 0000000..4c7f13d
--- /dev/null
+++ b/templates/repo/release/list.tmpl
@@ -0,0 +1,142 @@
+{{template "base/head" .}}
+<div role="main" aria-label="{{.Title}}" class="page-content repository releases">
+ {{template "repo/header" .}}
+ <div class="ui container">
+ {{template "base/alert" .}}
+ {{template "repo/release_tag_header" .}}
+ <ul id="release-list">
+ {{range $idx, $info := .Releases}}
+ {{$release := $info.Release}}
+ <li class="ui grid">
+ <div class="ui four wide column meta">
+ <a class="muted" href="{{if not (and $release.Sha1 ($.Permission.CanRead $.UnitTypeCode))}}#{{else}}{{$.RepoLink}}/src/tag/{{$release.TagName | PathEscapeSegments}}{{end}}" rel="nofollow">{{svg "octicon-tag" 16 "tw-mr-1"}}{{$release.TagName}}</a>
+ {{if and $release.Sha1 ($.Permission.CanRead $.UnitTypeCode)}}
+ <a class="muted tw-font-mono" href="{{$.RepoLink}}/src/commit/{{$release.Sha1}}" rel="nofollow">{{svg "octicon-git-commit" 16 "tw-mr-1"}}{{ShortSha $release.Sha1}}</a>
+ {{template "repo/branch_dropdown" dict "root" $ "release" $release}}
+ {{end}}
+ </div>
+ <div class="ui twelve wide column detail">
+ <div class="tw-flex tw-items-center tw-justify-between tw-flex-wrap tw-mb-2">
+ <h4 class="release-list-title tw-break-anywhere">
+ <a href="{{$.RepoLink}}/releases/tag/{{$release.TagName | PathEscapeSegments}}">{{$release.Title}}</a>
+ {{template "repo/commit_statuses" dict "Status" $info.CommitStatus "Statuses" $info.CommitStatuses "AdditionalClasses" "tw-flex"}}
+ {{if $release.IsDraft}}
+ <span class="ui yellow label">{{ctx.Locale.Tr "repo.release.draft"}}</span>
+ {{else if $release.IsPrerelease}}
+ <span class="ui orange label">{{ctx.Locale.Tr "repo.release.prerelease"}}</span>
+ {{else if (not $release.IsTag)}}
+ <span class="ui green label">{{ctx.Locale.Tr "repo.release.stable"}}</span>
+ {{end}}
+ </h4>
+ <div>
+ {{if $.CanCreateRelease}}
+ <a class="muted" data-tooltip-content="{{ctx.Locale.Tr "repo.release.edit"}}" href="{{$.RepoLink}}/releases/edit/{{$release.TagName | PathEscapeSegments}}" rel="nofollow">
+ {{svg "octicon-pencil"}}
+ </a>
+ {{end}}
+ </div>
+ </div>
+ <p class="text grey">
+ <span class="author">
+ {{if $release.OriginalAuthor}}
+ {{svg (MigrationIcon $release.Repo.GetOriginalURLHostname) 20 "tw-mr-1"}}{{$release.OriginalAuthor}}
+ {{else if $release.Publisher}}
+ {{ctx.AvatarUtils.Avatar $release.Publisher 20 "tw-mr-1"}}
+ <a href="{{$release.Publisher.HomeLink}}">{{$release.Publisher.GetDisplayName}}</a>
+ {{else}}
+ Ghost
+ {{end}}
+ </span>
+ <span class="released">
+ {{ctx.Locale.Tr "repo.released_this"}}
+ </span>
+ {{if $release.CreatedUnix}}
+ <span class="time">{{TimeSinceUnix $release.CreatedUnix ctx.Locale}}</span>
+ {{end}}
+ {{if and (not $release.IsDraft) ($.Permission.CanRead $.UnitTypeCode)}}
+ | <span class="ahead"><a href="{{$.RepoLink}}/compare/{{$release.TagName | PathEscapeSegments}}...{{$release.TargetBehind | PathEscapeSegments}}">{{ctx.Locale.Tr "repo.release.ahead.commits" $release.NumCommitsBehind}}</a> {{ctx.Locale.Tr "repo.release.ahead.target" $release.TargetBehind}}</span>
+ {{end}}
+ </p>
+ {{template "repo/tag/verification_line" (dict "ctxData" $ "release" $release)}}
+ <div class="markup desc">
+ {{$release.RenderedNote}}
+ </div>
+ {{$hasReleaseAttachment := gt (len $release.Attachments) 0}}
+ {{$hasArchiveLinks := and (not $.DisableDownloadSourceArchives) (not $release.IsDraft) (not $release.HideArchiveLinks) ($.Permission.CanRead $.UnitTypeCode)}}
+ {{if or $hasArchiveLinks $hasReleaseAttachment}}
+ <div class="divider"></div>
+ <details class="download" {{if eq $idx 0}}open{{end}}>
+ <summary class="tw-my-4">
+ {{ctx.Locale.Tr "repo.release.downloads"}}
+ </summary>
+ <ul class="list">
+ {{if $hasArchiveLinks}}
+ <li>
+ <a class="archive-link tw-flex-1 flex-text-inline tw-font-bold" href="{{$.RepoLink}}/archive/{{$release.TagName | PathEscapeSegments}}.zip" rel="nofollow">
+ {{svg "octicon-file-zip" 16 "tw-mr-1"}}{{ctx.Locale.Tr "repo.release.source_code"}} (ZIP)
+ </a>
+ <div class="tw-mr-1">
+ <span class="text grey">{{ctx.Locale.TrN .Release.ArchiveDownloadCount.Zip "repo.release.download_count_one" "repo.release.download_count_few" (ctx.Locale.PrettyNumber .Release.ArchiveDownloadCount.Zip)}}</span>
+ </div>
+ <span data-tooltip-content="{{ctx.Locale.Tr "repo.release.system_generated"}}">
+ {{svg "octicon-info"}}
+ </span>
+ </li>
+ <li class="{{if $hasReleaseAttachment}}start-gap{{end}}">
+ <a class="archive-link tw-flex-1 flex-text-inline tw-font-bold" href="{{$.RepoLink}}/archive/{{$release.TagName | PathEscapeSegments}}.tar.gz" rel="nofollow">
+ {{svg "octicon-file-zip" 16 "tw-mr-1"}}{{ctx.Locale.Tr "repo.release.source_code"}} (TAR.GZ)
+ </a>
+ <div class="tw-mr-1">
+ <span class="text grey">{{ctx.Locale.TrN .Release.ArchiveDownloadCount.TarGz "repo.release.download_count_one" "repo.release.download_count_few" (ctx.Locale.PrettyNumber .Release.ArchiveDownloadCount.TarGz)}}</span>
+ </div>
+ <span data-tooltip-content="{{ctx.Locale.Tr "repo.release.system_generated"}}">
+ {{svg "octicon-info"}}
+ </span>
+ </li>
+ {{if $hasReleaseAttachment}}<hr>{{end}}
+ {{end}}
+ {{range $release.Attachments}}
+ {{if .ExternalURL}}
+ <li>
+ <a class="tw-flex-1 flex-text-inline tw-font-bold" target="_blank" rel="nofollow" href="{{.DownloadURL}}" download>
+ {{svg "octicon-link-external" 16 "tw-mr-1"}}{{.Name}}
+ </a>
+ </li>
+ {{else}}
+ <li>
+ <a class="tw-flex-1 flex-text-inline tw-font-bold" target="_blank" rel="nofollow" href="{{.DownloadURL}}" download>
+ {{svg "octicon-package" 16 "tw-mr-1"}}{{.Name}}
+ </a>
+ <div>
+ <span class="text grey">{{ctx.Locale.TrN .DownloadCount "repo.release.download_count_one" "repo.release.download_count_few" (ctx.Locale.PrettyNumber .DownloadCount)}} · {{.Size | ctx.Locale.TrSize}}</span>
+ </div>
+ </li>
+ {{end}}
+ {{end}}
+ </ul>
+ </details>
+ {{end}}
+ <div class="dot"></div>
+ </div>
+ </li>
+ {{end}}
+ </ul>
+
+ {{template "base/paginate" .}}
+ </div>
+</div>
+
+{{if (and ($.Permission.CanWrite $.UnitTypeCode) .PageIsTagList)}}
+ <div class="ui g-modal-confirm delete modal">
+ <div class="header">
+ {{svg "octicon-trash"}}
+ {{ctx.Locale.Tr "repo.release.delete_tag"}}
+ </div>
+ <div class="content">
+ <p>{{ctx.Locale.Tr "repo.release.deletion_tag_desc"}}</p>
+ </div>
+ {{template "base/modal_actions_confirm" .}}
+ </div>
+{{end}}
+
+{{template "base/footer" .}}
diff --git a/templates/repo/release/new.tmpl b/templates/repo/release/new.tmpl
new file mode 100644
index 0000000..9bbd11f
--- /dev/null
+++ b/templates/repo/release/new.tmpl
@@ -0,0 +1,183 @@
+{{template "base/head" .}}
+<div role="main" aria-label="{{.Title}}" class="page-content repository new release">
+ {{template "repo/header" .}}
+ <div class="ui container">
+ <h2 class="ui dividing header">
+ {{if .PageIsEditRelease}}
+ {{ctx.Locale.Tr "repo.release.edit_release"}}
+ <div class="sub header">{{ctx.Locale.Tr "repo.release.edit_subheader"}}</div>
+ {{else}}
+ {{ctx.Locale.Tr "repo.release.new_release"}}
+ <div class="sub header">{{ctx.Locale.Tr "repo.release.new_subheader"}}</div>
+ {{end}}
+ </h2>
+ {{template "base/alert" .}}
+ <form class="ui form" action="{{.Link}}" method="post">
+ {{.CsrfTokenHtml}}
+ <div class="ui seven wide target">
+ <div class="inline field {{if .Err_TagName}}error{{end}}">
+ {{if .PageIsEditRelease}}
+ <b>{{.tag_name}}</b><span class="at">@</span><strong>{{.tag_target}}</strong>
+ {{else}}
+ <input id="tag-name" name="tag_name" value="{{.tag_name}}" aria-label="{{ctx.Locale.Tr "repo.release.tag_name"}}" placeholder="{{ctx.Locale.Tr "repo.release.tag_name"}}" autofocus required maxlength="255">
+ <input id="tag-name-editor" type="hidden" data-existing-tags="{{JsonUtils.EncodeToString .Tags}}" data-tag-helper="{{ctx.Locale.Tr "repo.release.tag_helper"}}" data-tag-helper-new="{{ctx.Locale.Tr "repo.release.tag_helper_new"}}" data-tag-helper-existing="{{ctx.Locale.Tr "repo.release.tag_helper_existing"}}">
+ <div id="tag-target-selector" class="tw-inline-block">
+ <span class="at">@</span>
+ <div class="ui selection dropdown">
+ <input type="hidden" name="tag_target" value="{{.tag_target}}">
+ {{svg "octicon-git-branch"}}
+ <div class="text">
+ {{ctx.Locale.Tr "repo.release.target"}} :
+ <strong id="repo-branch-current">{{.Repository.DefaultBranch}}</strong>
+ </div>
+ {{svg "octicon-triangle-down" 14 "dropdown icon"}}
+ <div class="menu">
+ {{range .Branches}}
+ <div class="item" data-value="{{.}}">{{.}}</div>
+ {{end}}
+ </div>
+ </div>
+ </div>
+ <div>
+ <span id="tag-helper" class="help tw-mt-2 tw-pb-0">{{ctx.Locale.Tr "repo.release.tag_helper"}}</span>
+ </div>
+ {{end}}
+ </div>
+ </div>
+ <div class="eleven wide tw-pt-0">
+ <div class="field {{if .Err_Title}}error{{end}}">
+ <input name="title" aria-label="{{ctx.Locale.Tr "repo.release.title"}}" placeholder="{{ctx.Locale.Tr "repo.release.title"}}" value="{{.title}}" autofocus maxlength="255">
+ </div>
+ <div class="field">
+ {{template "shared/combomarkdowneditor" (dict
+ "MarkdownPreviewUrl" (print .Repository.Link "/markup")
+ "MarkdownPreviewContext" .RepoLink
+ "TextareaName" "content"
+ "TextareaContent" .content
+ "TextareaPlaceholder" (ctx.Locale.Tr "repo.release.message")
+ "TextareaAriaLabel" (ctx.Locale.Tr "repo.release.message")
+ "DropzoneParentContainer" "form"
+ "EasyMDE" true
+ )}}
+ </div>
+ {{range .attachments}}
+ <div class="field flex-text-block" id="attachment-{{.ID}}">
+ <div class="flex-text-inline tw-flex-1">
+ <div class="flex-text-inline tw-shrink-0" title="{{ctx.Locale.Tr "repo.release.type_attachment"}}">
+ {{if .ExternalURL}}
+ {{svg "octicon-link-external" 16 "tw-mr-2"}}
+ {{else}}
+ {{svg "octicon-package" 16 "tw-mr-2"}}
+ {{end}}
+ </div>
+ <input name="attachment-edit-name-{{.UUID}}" placeholder="{{ctx.Locale.Tr "repo.release.asset_name"}}" class="attachment_edit" required value="{{.Name}}">
+ <input name="attachment-del-{{.UUID}}" type="hidden"
+ value="false">
+ {{if .ExternalURL}}
+ <input name="attachment-edit-exturl-{{.UUID}}" placeholder="{{ctx.Locale.Tr "repo.release.asset_external_url"}}" class="attachment_edit" required value="{{.ExternalURL}}">
+ {{else}}
+ <span class="ui text grey tw-whitespace-nowrap tw-ml-auto tw-pl-3">{{ctx.Locale.TrN
+ .DownloadCount "repo.release.download_count_one"
+ "repo.release.download_count_few" (ctx.Locale.PrettyNumber
+ .DownloadCount)}} · {{.Size | ctx.Locale.TrSize}}</span>
+ {{end}}
+ </div>
+ <a class="ui mini red button remove-rel-attach tw-ml-3" data-id="{{.ID}}" data-uuid="{{.UUID}}">
+ {{ctx.Locale.Tr "remove"}}
+ </a>
+ </div>
+ {{end}}
+ <div class="field flex-text-block tw-hidden" id="attachment-template">
+ <div class="flex-text-inline tw-flex-1">
+ <div class="flex-text-inline tw-shrink-0" title="{{ctx.Locale.Tr "repo.release.type_external_asset"}}">
+ {{svg "octicon-link-external" 16 "tw-mr-2"}}
+ </div>
+ <input name="attachment-template-new-name" placeholder="{{ctx.Locale.Tr "repo.release.asset_name"}}" class="attachment_edit">
+ <input name="attachment-template-new-exturl" placeholder="{{ctx.Locale.Tr "repo.release.asset_external_url"}}" class="attachment_edit">
+ </div>
+ <a class="ui mini red button remove-rel-attach tw-ml-3">
+ {{ctx.Locale.Tr "remove"}}
+ </a>
+ </div>
+ <button type="button" class="ui mini button tw-float-right tw-mb-4 tw-mt-2" id="add-external-link">
+ {{ctx.Locale.Tr "repo.release.add_external_asset"}}
+ </button>
+ {{if .IsAttachmentEnabled}}
+ <div class="field">
+ {{template "repo/upload" .}}
+ </div>
+ {{end}}
+ </div>
+ <div class="divider"></div>
+ <div class="ui">
+ <div>
+ <fieldset>
+ {{if not .PageIsEditRelease}}
+ <label>
+ <input type="checkbox" name="add_tag_msg">
+ {{ctx.Locale.Tr "repo.release.add_tag_msg"}}
+ </label>
+ {{else}}
+ <input type="hidden" name="add_tag_msg" value="false">
+ {{end}}
+ <label>
+ <input type="checkbox" name="prerelease" {{if .prerelease}}checked{{end}}>
+ {{ctx.Locale.Tr "repo.release.prerelease_desc"}}
+ <span class="help">{{ctx.Locale.Tr "repo.release.prerelease_helper"}}</span>
+ </label>
+ {{if not .DisableDownloadSourceArchives}}
+ <label>
+ <input type="checkbox" name="hide_archive_links" {{if .hide_archive_links}}checked{{end}}>
+ {{ctx.Locale.Tr "repo.release.hide_archive_links"}}
+ <span class="help">{{ctx.Locale.Tr "repo.release.hide_archive_links_helper"}}</span>
+ </label>
+ {{end}}
+ </fieldset>
+ <div class="divider tw-mt-0"></div>
+ <div class="tw-flex tw-justify-end button-row">
+ {{if .PageIsEditRelease}}
+ <a class="ui small button" href="{{.RepoLink}}/releases">
+ {{ctx.Locale.Tr "repo.release.cancel"}}
+ </a>
+ <a class="ui small red button delete-button" data-url="{{$.RepoLink}}/releases/delete" data-id="{{.ID}}">
+ {{ctx.Locale.Tr "repo.release.delete_release"}}
+ </a>
+ {{if .IsDraft}}
+ <button class="ui small button" type="submit" name="draft" value="{{ctx.Locale.Tr "repo.release.save_draft"}}">{{ctx.Locale.Tr "repo.release.save_draft"}}</button>
+ <button class="ui small primary button">
+ {{ctx.Locale.Tr "repo.release.publish"}}
+ </button>
+ {{else}}
+ <button class="ui small primary button">
+ {{ctx.Locale.Tr "repo.release.edit_release"}}
+ </button>
+ {{end}}
+ {{else}}
+ {{if not .tag_name}}
+ <button class="ui small button" name="tag_only" value="1">{{ctx.Locale.Tr "repo.release.add_tag"}}</button>
+ {{end}}
+ <button class="ui small button" name="draft" value="1">{{ctx.Locale.Tr "repo.release.save_draft"}}</button>
+ <button class="ui small primary button">
+ {{ctx.Locale.Tr "repo.release.publish"}}
+ </button>
+ {{end}}
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+</div>
+
+{{if .PageIsEditRelease}}
+ <div class="ui g-modal-confirm delete modal">
+ <div class="header">
+ {{svg "octicon-trash"}}
+ {{ctx.Locale.Tr "repo.release.deletion"}}
+ </div>
+ <div class="content">
+ <p>{{ctx.Locale.Tr "repo.release.deletion_desc"}}</p>
+ </div>
+ {{template "base/modal_actions_confirm" .}}
+ </div>
+{{end}}
+{{template "base/footer" .}}
diff --git a/templates/repo/release_tag_header.tmpl b/templates/repo/release_tag_header.tmpl
new file mode 100644
index 0000000..dafe9f2
--- /dev/null
+++ b/templates/repo/release_tag_header.tmpl
@@ -0,0 +1,31 @@
+{{$canReadReleases := $.Permission.CanRead $.UnitTypeReleases}}
+{{$canReadCode := $.Permission.CanRead $.UnitTypeCode}}
+
+{{if $canReadReleases}}
+ <div class="tw-flex">
+ <div class="tw-flex-1 tw-flex tw-items-center">
+ <h2 class="ui compact small menu small-menu-items">
+ <a class="{{if and .PageIsReleaseList (not .PageIsSingleTag)}}active {{end}}item" href="{{.RepoLink}}/releases">{{ctx.Locale.TrN .NumReleases "repo.n_release_one" "repo.n_release_few" (ctx.Locale.PrettyNumber .NumReleases)}}</a>
+ {{if $canReadCode}}
+ <a class="{{if or .PageIsTagList .PageIsSingleTag}}active {{end}}item" href="{{.RepoLink}}/tags">{{ctx.Locale.TrN .NumTags "repo.n_tag_one" "repo.n_tag_few" (ctx.Locale.PrettyNumber .NumTags)}}</a>
+ {{end}}
+ </h2>
+ </div>
+ <div class="button-row">
+ {{if .EnableFeed}}
+ <a class="ui small button" href="{{.RepoLink}}/{{if .PageIsTagList}}tags{{else}}releases{{end}}.rss">
+ {{svg "octicon-rss" 16}} {{ctx.Locale.Tr "rss_feed"}}
+ </a>
+ {{end}}
+ {{if and (not .PageIsTagList) .CanCreateRelease}}
+ <a class="ui small primary button" href="{{$.RepoLink}}/releases/new">
+ {{ctx.Locale.Tr "repo.release.new_release"}}
+ </a>
+ {{end}}
+ </div>
+ </div>
+ <div class="divider"></div>
+{{else if $canReadCode}}
+ {{/* if the "repo.releases" unit is disabled, only show the "commits / branches / tags" sub menu */}}
+ {{template "repo/sub_menu" .}}
+{{end}}