aboutsummaryrefslogtreecommitdiffstats
path: root/templates/package
diff options
context:
space:
mode:
Diffstat (limited to 'templates/package')
-rw-r--r--templates/package/content/container.tmpl44
-rw-r--r--templates/package/content/pypi.tmpl2
-rw-r--r--templates/package/shared/view.tmpl107
-rw-r--r--templates/package/view.tmpl122
4 files changed, 159 insertions, 116 deletions
diff --git a/templates/package/content/container.tmpl b/templates/package/content/container.tmpl
index 7d89f8c6e2..1a1335aaa6 100644
--- a/templates/package/content/container.tmpl
+++ b/templates/package/content/container.tmpl
@@ -16,7 +16,17 @@
</div>
<div class="field">
<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.container.digest"}}</label>
- <div class="markup"><pre class="code-block"><code>{{range .PackageDescriptor.Files}}{{if eq .File.LowerName "manifest.json"}}{{.Properties.GetByName "container.digest"}}{{end}}{{end}}</code></pre></div>
+ <div class="markup">
+ <div class="code-block-container code-overflow-scroll">
+ <pre class="code-block"><code>
+ {{- range .PackageDescriptor.Files -}}
+ {{- if eq .File.LowerName "manifest.json" -}}
+ {{- .Properties.GetByName "container.digest" -}}{{"\n"}}
+ {{- end -}}
+ {{- end -}}
+ </code></pre>
+ </div>
+ </div>
</div>
<div class="field">
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Container" "https://docs.gitea.com/usage/packages/container/"}}</label>
@@ -39,7 +49,11 @@
{{/* "unknown/unknown" is attestation-manifest, so we should skip it */}}
{{if ne .Platform "unknown/unknown"}}
<tr>
- <td><a class="tw-font-mono" href="{{$.PackageDescriptor.PackageWebLink}}/{{PathEscape .Digest}}">{{StringUtils.TrimPrefix .Digest "sha256:" | ShortSha}}</a></td>
+ <td>
+ <a class="tw-font-mono" href="{{$.PackageDescriptor.PackageWebLink}}/{{$.PackageDescriptor.Version.LowerVersion}}/{{PathEscape .Digest}}">
+ {{StringUtils.TrimPrefix .Digest "sha256:" | ShortSha}}
+ </a>
+ </td>
<td>{{.Platform}}</td>
<td>{{FileSize .Size}}</td>
</tr>
@@ -55,12 +69,24 @@
{{.PackageDescriptor.Metadata.Description}}
</div>
{{end}}
- {{if .PackageDescriptor.Metadata.ImageLayers}}
- <h4 class="ui top attached header">{{ctx.Locale.Tr "packages.container.layers"}}</h4>
+
+ {{/* a container manifest may contain sub manifests, so here we try to display some information of the sub manifest,
+ not perfect, just better than before */}}
+ {{$imageMetadata := .ContainerImageMetadata}}
+ {{if $imageMetadata.ImageLayers}}
+ <h4 class="ui top attached header flex-text-block">
+ {{ctx.Locale.Tr "packages.container.layers"}}
+ {{/* only show the platform if the image metadata is not the package's, which means that it is a sub manifest */}}
+ {{if ne .ContainerImageMetadata .PackageDescriptor.Metadata}}
+ <span class="tw-text-sm flex-text-inline" title="{{ctx.Locale.Tr "packages.container.details.platform"}}">
+ ({{svg "octicon-cpu" 12}} {{.ContainerImageMetadata.Platform}})
+ </span>
+ {{end}}
+ </h4>
<div class="ui attached segment tw-break-anywhere">
- <table class="ui very basic compact table">
+ <table class="ui very basic compact table tw-font-mono">
<tbody>
- {{range .PackageDescriptor.Metadata.ImageLayers}}
+ {{range $imageMetadata.ImageLayers}}
<tr>
<td>{{.}}</td>
</tr>
@@ -69,10 +95,10 @@
</table>
</div>
{{end}}
- {{if .PackageDescriptor.Metadata.Labels}}
+ {{if $imageMetadata.Labels}}
<h4 class="ui top attached header">{{ctx.Locale.Tr "packages.container.labels"}}</h4>
<div class="ui attached segment">
- <table class="ui very basic compact table">
+ <table class="ui very basic compact table tw-font-mono">
<thead>
<tr>
<th>{{ctx.Locale.Tr "packages.container.labels.key"}}</th>
@@ -80,7 +106,7 @@
</tr>
</thead>
<tbody>
- {{range $key, $value := .PackageDescriptor.Metadata.Labels}}
+ {{range $key, $value := $imageMetadata.Labels}}
<tr>
<td class="tw-align-top">{{$key}}</td>
<td class="tw-break-anywhere">{{$value}}</td>
diff --git a/templates/package/content/pypi.tmpl b/templates/package/content/pypi.tmpl
index 2a22a6ed71..2625c160fe 100644
--- a/templates/package/content/pypi.tmpl
+++ b/templates/package/content/pypi.tmpl
@@ -4,7 +4,7 @@
<div class="ui form">
<div class="field">
<label>{{svg "octicon-terminal"}} {{ctx.Locale.Tr "packages.pypi.install"}}</label>
- <div class="markup"><pre class="code-block"><code>pip install --index-url <origin-url data-url="{{AppSubUrl}}/api/packages/{{.PackageDescriptor.Owner.Name}}/pypi/simple/"></origin-url> {{.PackageDescriptor.Package.Name}}</code></pre></div>
+ <div class="markup"><pre class="code-block"><code>pip install --index-url <origin-url data-url="{{AppSubUrl}}/api/packages/{{.PackageDescriptor.Owner.Name}}/pypi/simple/"></origin-url> --extra-index-url https://pypi.org/ {{.PackageDescriptor.Package.Name}}</code></pre></div>
</div>
<div class="field">
<label>{{ctx.Locale.Tr "packages.registry.documentation" "PyPI" "https://docs.gitea.com/usage/packages/pypi/"}}</label>
diff --git a/templates/package/shared/view.tmpl b/templates/package/shared/view.tmpl
new file mode 100644
index 0000000000..52673accf9
--- /dev/null
+++ b/templates/package/shared/view.tmpl
@@ -0,0 +1,107 @@
+<div class="issue-title-header">
+ {{$packageVersionLink := print $.PackageDescriptor.PackageWebLink "/" (PathEscape .PackageDescriptor.Version.LowerVersion)}}
+ <h1>{{.PackageDescriptor.Package.Name}} ({{.PackageDescriptor.Version.Version}})</h1>
+ <div>
+ {{$timeStr := DateUtils.TimeSince .PackageDescriptor.Version.CreatedUnix}}
+ {{if .HasRepositoryAccess}}
+ {{ctx.Locale.Tr "packages.published_by_in" $timeStr .PackageDescriptor.Creator.HomeLink .PackageDescriptor.Creator.GetDisplayName .PackageDescriptor.Repository.Link .PackageDescriptor.Repository.FullName}}
+ {{else}}
+ {{ctx.Locale.Tr "packages.published_by" $timeStr .PackageDescriptor.Creator.HomeLink .PackageDescriptor.Creator.GetDisplayName}}
+ {{end}}
+ </div>
+</div>
+<div class="packages-content">
+ <div class="packages-content-left">
+ {{template "package/content/alpine" .}}
+ {{template "package/content/arch" .}}
+ {{template "package/content/cargo" .}}
+ {{template "package/content/chef" .}}
+ {{template "package/content/composer" .}}
+ {{template "package/content/conan" .}}
+ {{template "package/content/conda" .}}
+ {{template "package/content/container" .}}
+ {{template "package/content/cran" .}}
+ {{template "package/content/debian" .}}
+ {{template "package/content/generic" .}}
+ {{template "package/content/go" .}}
+ {{template "package/content/helm" .}}
+ {{template "package/content/maven" .}}
+ {{template "package/content/npm" .}}
+ {{template "package/content/nuget" .}}
+ {{template "package/content/pub" .}}
+ {{template "package/content/pypi" .}}
+ {{template "package/content/rpm" .}}
+ {{template "package/content/rubygems" .}}
+ {{template "package/content/swift" .}}
+ {{template "package/content/vagrant" .}}
+ </div>
+ <div class="ui segment packages-content-right">
+ <strong>{{ctx.Locale.Tr "packages.details"}}</strong>
+ <div class="ui relaxed list flex-items-block">
+ <div class="item">{{svg .PackageDescriptor.Package.Type.SVGName}} {{.PackageDescriptor.Package.Type.Name}}</div>
+ {{if .HasRepositoryAccess}}
+ <div class="item">{{svg "octicon-repo"}} <a href="{{.PackageDescriptor.Repository.Link}}">{{.PackageDescriptor.Repository.FullName}}</a></div>
+ {{end}}
+ <div class="item">{{svg "octicon-calendar"}} {{DateUtils.TimeSince .PackageDescriptor.Version.CreatedUnix}}</div>
+ <div class="item">{{svg "octicon-download"}} {{.PackageDescriptor.Version.DownloadCount}}</div>
+ {{template "package/metadata/alpine" .}}
+ {{template "package/metadata/arch" .}}
+ {{template "package/metadata/cargo" .}}
+ {{template "package/metadata/chef" .}}
+ {{template "package/metadata/composer" .}}
+ {{template "package/metadata/conan" .}}
+ {{template "package/metadata/conda" .}}
+ {{template "package/metadata/container" .}}
+ {{template "package/metadata/cran" .}}
+ {{template "package/metadata/debian" .}}
+ {{template "package/metadata/generic" .}}
+ {{template "package/metadata/helm" .}}
+ {{template "package/metadata/maven" .}}
+ {{template "package/metadata/npm" .}}
+ {{template "package/metadata/nuget" .}}
+ {{template "package/metadata/pub" .}}
+ {{template "package/metadata/pypi" .}}
+ {{template "package/metadata/rpm" .}}
+ {{template "package/metadata/rubygems" .}}
+ {{template "package/metadata/swift" .}}
+ {{template "package/metadata/vagrant" .}}
+ {{if not (and (eq .PackageDescriptor.Package.Type "container") .PackageDescriptor.Metadata.Manifests)}}
+ <div class="item">{{svg "octicon-database"}} {{FileSize .PackageDescriptor.CalculateBlobSize}}</div>
+ {{end}}
+ </div>
+ {{if not (eq .PackageDescriptor.Package.Type "container")}}
+ <div class="divider"></div>
+ <strong>{{ctx.Locale.Tr "packages.assets"}} ({{len .PackageDescriptor.Files}})</strong>
+ <div class="ui relaxed list">
+ {{range .PackageDescriptor.Files}}
+ <div class="item">
+ <a href="{{$packageVersionLink}}/files/{{.File.ID}}">{{.File.Name}}</a>
+ <span class="text small tw-whitespace-nowrap">{{FileSize .Blob.Size}}</span>
+ </div>
+ {{end}}
+ </div>
+ {{end}}
+ <div class="divider"></div>
+ <strong>{{ctx.Locale.Tr "packages.versions"}} ({{.TotalVersionCount}})</strong>
+ <a class="tw-float-right" href="{{$.PackageDescriptor.PackageWebLink}}/versions">{{ctx.Locale.Tr "packages.versions.view_all"}}</a>
+ <div class="ui relaxed list">
+ {{range .LatestVersions}}
+ <div class="item tw-flex">
+ <a class="tw-flex-1 gt-ellipsis" title="{{.Version}}" href="{{$.PackageDescriptor.PackageWebLink}}/{{PathEscape .LowerVersion}}">{{.Version}}</a>
+ <span class="text small">{{DateUtils.AbsoluteShort .CreatedUnix}}</span>
+ </div>
+ {{end}}
+ </div>
+ {{if or .CanWritePackages .HasRepositoryAccess}}
+ <div class="divider"></div>
+ <div class="ui relaxed list flex-items-block">
+ {{if .HasRepositoryAccess}}
+ <div class="item">{{svg "octicon-issue-opened"}} <a href="{{.PackageDescriptor.Repository.Link}}/issues">{{ctx.Locale.Tr "repo.issues"}}</a></div>
+ {{end}}
+ {{if .CanWritePackages}}
+ <div class="item">{{svg "octicon-tools"}} <a href="{{$packageVersionLink}}/settings">{{ctx.Locale.Tr "repo.settings"}}</a></div>
+ {{end}}
+ </div>
+ {{end}}
+ </div>
+</div>
diff --git a/templates/package/view.tmpl b/templates/package/view.tmpl
index 9e92207466..9067f44296 100644
--- a/templates/package/view.tmpl
+++ b/templates/package/view.tmpl
@@ -1,114 +1,24 @@
{{template "base/head" .}}
-<div role="main" aria-label="{{.Title}}" class="page-content repository packages">
- {{template "shared/user/org_profile_avatar" .}}
+{{if .ContextUser.IsOrganization}}
+<div role="main" aria-label="{{.Title}}" class="page-content organization packages">
+ {{template "org/header" .}}
<div class="ui container">
- {{template "user/overview/header" .}}
- <div class="issue-title-header">
- <h1>{{.PackageDescriptor.Package.Name}} ({{.PackageDescriptor.Version.Version}})</h1>
- <div>
- {{$timeStr := DateUtils.TimeSince .PackageDescriptor.Version.CreatedUnix}}
- {{if .HasRepositoryAccess}}
- {{ctx.Locale.Tr "packages.published_by_in" $timeStr .PackageDescriptor.Creator.HomeLink .PackageDescriptor.Creator.GetDisplayName .PackageDescriptor.Repository.Link .PackageDescriptor.Repository.FullName}}
- {{else}}
- {{ctx.Locale.Tr "packages.published_by" $timeStr .PackageDescriptor.Creator.HomeLink .PackageDescriptor.Creator.GetDisplayName}}
- {{end}}
- </div>
- </div>
- <div class="issue-content">
- <div class="issue-content-left">
- {{template "package/content/alpine" .}}
- {{template "package/content/arch" .}}
- {{template "package/content/cargo" .}}
- {{template "package/content/chef" .}}
- {{template "package/content/composer" .}}
- {{template "package/content/conan" .}}
- {{template "package/content/conda" .}}
- {{template "package/content/container" .}}
- {{template "package/content/cran" .}}
- {{template "package/content/debian" .}}
- {{template "package/content/generic" .}}
- {{template "package/content/go" .}}
- {{template "package/content/helm" .}}
- {{template "package/content/maven" .}}
- {{template "package/content/npm" .}}
- {{template "package/content/nuget" .}}
- {{template "package/content/pub" .}}
- {{template "package/content/pypi" .}}
- {{template "package/content/rpm" .}}
- {{template "package/content/rubygems" .}}
- {{template "package/content/swift" .}}
- {{template "package/content/vagrant" .}}
+ {{template "package/shared/view" .}}
+ </div>
+</div>
+{{else}}
+<div role="main" aria-label="{{.Title}}" class="page-content user profile packages">
+ <div class="ui container">
+ <div class="ui stackable grid">
+ <div class="ui four wide column">
+ {{template "shared/user/profile_big_avatar" .}}
</div>
- <div class="issue-content-right ui segment">
- <strong>{{ctx.Locale.Tr "packages.details"}}</strong>
- <div class="ui relaxed list flex-items-block">
- <div class="item">{{svg .PackageDescriptor.Package.Type.SVGName}} {{.PackageDescriptor.Package.Type.Name}}</div>
- {{if .HasRepositoryAccess}}
- <div class="item">{{svg "octicon-repo"}} <a href="{{.PackageDescriptor.Repository.Link}}">{{.PackageDescriptor.Repository.FullName}}</a></div>
- {{end}}
- <div class="item">{{svg "octicon-calendar"}} {{DateUtils.TimeSince .PackageDescriptor.Version.CreatedUnix}}</div>
- <div class="item">{{svg "octicon-download"}} {{.PackageDescriptor.Version.DownloadCount}}</div>
- {{template "package/metadata/alpine" .}}
- {{template "package/metadata/arch" .}}
- {{template "package/metadata/cargo" .}}
- {{template "package/metadata/chef" .}}
- {{template "package/metadata/composer" .}}
- {{template "package/metadata/conan" .}}
- {{template "package/metadata/conda" .}}
- {{template "package/metadata/container" .}}
- {{template "package/metadata/cran" .}}
- {{template "package/metadata/debian" .}}
- {{template "package/metadata/generic" .}}
- {{template "package/metadata/helm" .}}
- {{template "package/metadata/maven" .}}
- {{template "package/metadata/npm" .}}
- {{template "package/metadata/nuget" .}}
- {{template "package/metadata/pub" .}}
- {{template "package/metadata/pypi" .}}
- {{template "package/metadata/rpm" .}}
- {{template "package/metadata/rubygems" .}}
- {{template "package/metadata/swift" .}}
- {{template "package/metadata/vagrant" .}}
- {{if not (and (eq .PackageDescriptor.Package.Type "container") .PackageDescriptor.Metadata.Manifests)}}
- <div class="item">{{svg "octicon-database"}} {{FileSize .PackageDescriptor.CalculateBlobSize}}</div>
- {{end}}
- </div>
- {{if not (eq .PackageDescriptor.Package.Type "container")}}
- <div class="divider"></div>
- <strong>{{ctx.Locale.Tr "packages.assets"}} ({{len .PackageDescriptor.Files}})</strong>
- <div class="ui relaxed list">
- {{range .PackageDescriptor.Files}}
- <div class="item">
- <a href="{{$.Link}}/files/{{.File.ID}}">{{.File.Name}}</a>
- <span class="text small file-size">{{FileSize .Blob.Size}}</span>
- </div>
- {{end}}
- </div>
- {{end}}
- <div class="divider"></div>
- <strong>{{ctx.Locale.Tr "packages.versions"}} ({{.TotalVersionCount}})</strong>
- <a class="tw-float-right" href="{{$.PackageDescriptor.PackageWebLink}}/versions">{{ctx.Locale.Tr "packages.versions.view_all"}}</a>
- <div class="ui relaxed list">
- {{range .LatestVersions}}
- <div class="item tw-flex">
- <a class="tw-flex-1 gt-ellipsis" title="{{.Version}}" href="{{$.PackageDescriptor.PackageWebLink}}/{{PathEscape .LowerVersion}}">{{.Version}}</a>
- <span class="text small">{{DateUtils.AbsoluteShort .CreatedUnix}}</span>
- </div>
- {{end}}
- </div>
- {{if or .CanWritePackages .HasRepositoryAccess}}
- <div class="divider"></div>
- <div class="ui relaxed list flex-items-block">
- {{if .HasRepositoryAccess}}
- <div class="item">{{svg "octicon-issue-opened"}} <a href="{{.PackageDescriptor.Repository.Link}}/issues">{{ctx.Locale.Tr "repo.issues"}}</a></div>
- {{end}}
- {{if .CanWritePackages}}
- <div class="item">{{svg "octicon-tools"}} <a href="{{.Link}}/settings">{{ctx.Locale.Tr "repo.settings"}}</a></div>
- {{end}}
- </div>
- {{end}}
+ <div class="ui twelve wide column tw-mb-4">
+ {{template "user/overview/header" .}}
+ {{template "package/shared/view" .}}
</div>
</div>
</div>
</div>
+{{end}}
{{template "base/footer" .}}