diff options
Diffstat (limited to '')
-rw-r--r-- | templates/repo/release/list.tmpl | 142 | ||||
-rw-r--r-- | templates/repo/release/new.tmpl | 183 | ||||
-rw-r--r-- | templates/repo/release_tag_header.tmpl | 31 |
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..cc5c670 --- /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"}} (ZIP) + </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}} |