diff options
author | Arthur Zamarin <arthurzam@gentoo.org> | 2023-04-26 14:15:37 +0300 |
---|---|---|
committer | Arthur Zamarin <arthurzam@gentoo.org> | 2023-04-26 14:15:37 +0300 |
commit | 7741cc1f8b39fecbbbca2a731a31b55a24b81f65 (patch) | |
tree | 263b4ec4e78149eeeaf475402264180c5d51e4b4 | |
parent | app/packages/suggest: speed up the query and processing (diff) | |
download | soko-7741cc1f8b39fecbbbca2a731a31b55a24b81f65.tar.gz soko-7741cc1f8b39fecbbbca2a731a31b55a24b81f65.tar.bz2 soko-7741cc1f8b39fecbbbca2a731a31b55a24b81f65.zip |
app/packages: cache svg & trim more whitespaces
- cache the svg for version rows, and use "href" for the svg
this minifies the HTML and make the browser render a little faster
- trim more whitespaces, especially around ranges
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
-rw-r--r-- | web/templates/packages/components/overview.tmpl | 34 | ||||
-rw-r--r-- | web/templates/packages/metadata.tmpl | 144 | ||||
-rw-r--r-- | web/templates/packages/versionicons.tmpl | 16 | ||||
-rw-r--r-- | web/templates/packages/versionrows.tmpl | 82 | ||||
-rw-r--r-- | web/templates/packages/versions.tmpl | 9 |
5 files changed, 138 insertions, 147 deletions
diff --git a/web/templates/packages/components/overview.tmpl b/web/templates/packages/components/overview.tmpl index 0e322f3..c022ad2 100644 --- a/web/templates/packages/components/overview.tmpl +++ b/web/templates/packages/components/overview.tmpl @@ -2,27 +2,27 @@ <div class="row"> <div class="col-md-9"> - {{ if .UserPreferences.Packages.Overview.ShowOutdated}} - {{ if .Package.Outdated }} - {{$outdatedFound := false}} - {{range .Versions}} - {{if eq (index $.Package.Outdated 0).NewestVersion .Version}} - {{$outdatedFound = true}} - {{end}} - {{end}} - {{if not $outdatedFound}} + {{- if .UserPreferences.Packages.Overview.ShowOutdated -}} + {{- if .Package.Outdated -}} + {{- $outdatedFound := false -}} + {{- range .Versions -}} + {{- if eq (index $.Package.Outdated 0).NewestVersion .Version -}} + {{- $outdatedFound = true -}} + {{- end -}} + {{- end -}} + {{- if not $outdatedFound -}} <div class="alert alert-info"> <strong><span class="fa fa-fw fa-lightbulb-o"></span> Version {{ (index .Package.Outdated 0).NewestVersion }} is available upstream. Please consider updating!</strong><br> It seems that version {{ (index .Package.Outdated 0).NewestVersion }} is available upstream, while the latest version in the Gentoo tree is {{ (index .Package.Outdated 0).GentooVersion }}.<br/> <small><i>You think this warning is false? Read more about it <a href="https://archives.gentoo.org/gentoo-dev/message/b793f4da5a5b5e20a063ea431500a820">here</a>.</i></small> </div> - {{end}} - {{ end }} - {{ end }} + {{- end -}} + {{- end -}} + {{- end -}} {{template "versions" .}} - {{ if isMasked .Versions }} + {{- if isMasked .Versions }} <h3 class="pt-3 mb-2">Masks</h3> @@ -61,7 +61,7 @@ </li> </ul> </div> - {{ else if isDeprecated .Versions }} + {{- else if isDeprecated .Versions }} <h3 class="pt-3 mb-2">Deprecation Warning</h3> @@ -92,15 +92,15 @@ </li> </ul> </div> - {{end}} + {{- end}} - {{ if not .Package.Maintainers }} + {{- if not .Package.Maintainers }} <div class="alert alert-info"> <strong><span class="fa fa-fw fa-wrench"></span> This package needs a new maintainer!</strong><br> If you are interested in helping with the maintenance of {{.Package.Name}}, please get in touch with our <a href="https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers" class="alert-link">Proxy Maintainers team</a>. </div> - {{end}} + {{- end -}} {{template "metadata" .}} diff --git a/web/templates/packages/metadata.tmpl b/web/templates/packages/metadata.tmpl index 758e01c..7b8ac33 100644 --- a/web/templates/packages/metadata.tmpl +++ b/web/templates/packages/metadata.tmpl @@ -1,7 +1,7 @@ {{define "metadata"}} -{{if gt (len .UserPreferences.Packages.Overview.MetadataFields) 0 }} +{{- if gt (len .UserPreferences.Packages.Overview.MetadataFields) 0 -}} <h3 class="pt-3 mb-2">Package Metadata</h3> -{{end}} +{{- end -}} <div class="card border-0 mb-3"> <ul class="list-group kk-metadata-list"> @@ -23,9 +23,9 @@ {{end}} {{end}} - {{if listContains .UserPreferences.Packages.Overview.MetadataFields "upstream"}} - {{ if .Package.Upstream }} - {{ if or .Package.Upstream.Doc .Package.Upstream.Changelog .Package.Upstream.BugsTo .Package.Upstream.RemoteIds }} + {{- if listContains .UserPreferences.Packages.Overview.MetadataFields "upstream" -}} + {{- if .Package.Upstream -}} + {{- if or .Package.Upstream.Doc .Package.Upstream.Changelog .Package.Upstream.BugsTo .Package.Upstream.RemoteIds -}} <li class="kk-metadata-item list-group-item"> <div class="row"> <div class="col-xs-12 col-md-3 kk-metadata-key"> @@ -34,57 +34,57 @@ </div> <div class="col-xs-12 col-md-9"> <table> - {{if .Package.Upstream.Doc}} - {{range $k, $v := .Package.Upstream.Doc}} + {{- if .Package.Upstream.Doc -}} + {{- range $k, $v := .Package.Upstream.Doc }} <tr> <td>{{if eq $k 0}}<span class="kk-useflag-group float-right mr-2">Documentation </span>{{end}}</td> - {{if not (eq $v "")}} + {{ if $v -}} + <td><a href="{{ $v}}">{{ $v }}</a></td> + {{- end }} + </tr> + {{- end -}} + {{- end -}} + {{- if .Package.Upstream.Changelog -}} + {{- range $k, $v := .Package.Upstream.Changelog }} + <tr> + <td>{{if eq $k 0}}<span class="kk-useflag-group float-right mr-2">Changelog</span>{{end}}</td> + {{ if $v -}} <td><a href="{{ $v}}">{{ $v }}</a></td> - {{end}} + {{- end }} </tr> - {{end}} - {{end}} - {{if .Package.Upstream.Changelog}} - {{range $k, $v := .Package.Upstream.Changelog}} - <tr> - <td>{{if eq $k 0}}<span class="kk-useflag-group float-right mr-2">Changelog</span>{{end}}</td> - {{if not (eq $v "")}} - <td><a href="{{ $v}}">{{ $v }}</a></td> - {{end}} - </tr> - {{end}} - {{end}} - {{if .Package.Upstream.BugsTo}} - {{range $k, $v := .Package.Upstream.BugsTo}} - <tr> - <td>{{if eq $k 0}}<span class="kk-useflag-group float-right mr-2">Bugs-To</span>{{end}}</td> - {{if not (eq $v "")}} - <td><a href="{{ $v}}">{{ $v }}</a></td> - {{end}} - </tr> - {{end}} - {{end}} - {{if .Package.Upstream.RemoteIds}} - {{range $k, $v := .Package.Upstream.RemoteIds}} - {{ $link := RemoteIdLink . }} - {{if not (eq $link "")}} - <tr> - <td>{{if eq $k 0}}<span class="kk-useflag-group float-right mr-2">Remote-Id</span>{{end}}</td> - <td><a href="{{ $link}}">{{ $link }}</a></td> - </tr> - {{end}} - {{end}} - {{end}} + {{- end -}} + {{- end -}} + {{- if .Package.Upstream.BugsTo -}} + {{- range $k, $v := .Package.Upstream.BugsTo }} + <tr> + <td>{{if eq $k 0}}<span class="kk-useflag-group float-right mr-2">Bugs-To</span>{{end}}</td> + {{ if $v -}} + <td><a href="{{ $v}}">{{ $v }}</a></td> + {{- end }} + </tr> + {{- end -}} + {{- end -}} + {{- if .Package.Upstream.RemoteIds -}} + {{- range $k, $v := .Package.Upstream.RemoteIds }} + {{- $link := RemoteIdLink . -}} + {{- if $link }} + <tr> + <td>{{if eq $k 0}}<span class="kk-useflag-group float-right mr-2">Remote-Id</span>{{end}}</td> + <td><a href="{{ $link}}">{{ $link }}</a></td> + </tr> + {{- end }} + {{- end -}} + {{- end }} </table> </div> </div> </li> - {{end}} - {{end}} - {{end}} + {{- end -}} + {{- end -}} + {{- end -}} - {{if listContains .UserPreferences.Packages.Overview.MetadataFields "longdescription"}} - {{ if .Package.Longdescription }} + {{- if listContains .UserPreferences.Packages.Overview.MetadataFields "longdescription" -}} + {{- if .Package.Longdescription }} <li class="kk-metadata-item list-group-item"> <div class="row"> <div class="col-xs-12 col-md-3 kk-metadata-key"> @@ -96,11 +96,11 @@ </div> </div> </li> - {{end}} - {{end}} + {{- end -}} + {{- end -}} - {{if listContains .UserPreferences.Packages.Overview.MetadataFields "useflags"}} - {{ if or .LocalUseflags .GlobalUseflags .UseExpands }} + {{- if listContains .UserPreferences.Packages.Overview.MetadataFields "useflags" -}} + {{- if or .LocalUseflags .GlobalUseflags .UseExpands }} <li class="kk-metadata-item list-group-item"> <div class="row"> <div class="col-xs-12 col-md-3 kk-metadata-key"> @@ -112,11 +112,11 @@ </div> </div> </li> - {{end}} - {{end}} + {{- end -}} + {{- end -}} - {{if listContains .UserPreferences.Packages.Overview.MetadataFields "license"}} - {{ if (index .Versions 0).License }} + {{- if listContains .UserPreferences.Packages.Overview.MetadataFields "license" -}} + {{- if (index .Versions 0).License }} <li class="kk-metadata-item list-group-item"> <div class="row"> <div class="col-xs-12 col-md-3 kk-metadata-key"> @@ -128,25 +128,11 @@ </div> </div> </li> - {{end}} - {{end}} + {{- end -}} + {{- end -}} - <!-- TODO - <li class="kk-metadata-item list-group-item"> - <div class="row"> - <div class="col-xs-12 col-md-3 kk-metadata-key"> - <span class="fa fa-fw fa-group"></span> - <%= t :herds %> - </div> - <div class="col-xs-12 col-md-9"> - <%= render partial: 'herd', collection: package.herds.sort, as: 'herd', spacer_template: 'maintainer_spacer' %> - </div> - </div> - </li> - --> - - {{if listContains .UserPreferences.Packages.Overview.MetadataFields "maintainers"}} - {{ if .Package.Maintainers }} + {{- if listContains .UserPreferences.Packages.Overview.MetadataFields "maintainers" -}} + {{- if .Package.Maintainers }} <li class="kk-metadata-item list-group-item"> <div class="row"> <div class="col-xs-12 col-md-3 kk-metadata-key"> @@ -154,17 +140,17 @@ Maintainer(s) </div> <div class="col-xs-12 col-md-9"> - {{ range .Package.Maintainers }} - {{if (ne .Name (index $.Package.Maintainers 0).Name)}} + {{- range .Package.Maintainers -}} + {{- if (ne .Name (index $.Package.Maintainers 0).Name) -}} , - {{end}} + {{- end }} <a title="{{if .Name}}{{.Name}}{{else}}{{.Email}}{{end}}" href="/maintainer/{{.Email}}">{{if .Name}}{{.Name}}{{else}}{{.Email}}{{end}}</a> <a href="mailto:{{.Email}}"><i class="fa fa-envelope-o" style="font-size: .925em;" aria-hidden="true"></i></a> - {{end}} + {{- end }} </div> </div> </li> - {{end}} - {{end}} + {{- end -}} + {{- end -}} </ul> </div> diff --git a/web/templates/packages/versionicons.tmpl b/web/templates/packages/versionicons.tmpl new file mode 100644 index 0000000..82d0e94 --- /dev/null +++ b/web/templates/packages/versionicons.tmpl @@ -0,0 +1,16 @@ +{{define "versionicons"}} + <svg style="display: none" version="1.1"><defs> + <symbol id="svg-ver-mask" viewBox="0 0 14 16"> + <path fill-rule="evenodd" d="M13 1H1c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V2c0-.55-.45-1-1-1zm0 13H1V2h12v12zm-8.5-2H3v-1.5L9.5 4H11v1.5L4.5 12z" /> + </symbol> + <symbol id="svg-ver-testing" viewBox="0 0 14 16"> + <path fill-rule="evenodd" d="M13 1H1c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V2c0-.55-.45-1-1-1zm0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z" /> + </symbol> + <symbol id="svg-ver-unavailable" viewBox="0 0 14 16"> + <path fill-rule="evenodd" d="M13 1H1c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V2c0-.55-.45-1-1-1zm0 13H1V2h12v12zm-2-5H3V7h8v2z" /> + </symbol> + <symbol id="svg-ver-stable" viewBox="0 0 14 16"> + <path fill-rule="evenodd" d="M13 1H1c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V2c0-.55-.45-1-1-1zm0 13H1V2h12v12zM6 9H3V7h3V4h2v3h3v2H8v3H6V9z" /> + </symbol> + </defs></svg> +{{end}} diff --git a/web/templates/packages/versionrows.tmpl b/web/templates/packages/versionrows.tmpl index 56248ae..cdab20c 100644 --- a/web/templates/packages/versionrows.tmpl +++ b/web/templates/packages/versionrows.tmpl @@ -1,75 +1,63 @@ {{define "versionrows"}} - {{range $index, $version := .Package.Versions}} + {{- range $index, $version := .Package.Versions -}} <tr> - <td class="kk-version "><strong><a class="kk-ebuild-link" href="https://gitweb.gentoo.org/repo/gentoo.git/tree/{{$version.Atom}}/{{$version.Package}}-{{$version.Version}}.ebuild">{{$version.Version}}</a></strong><span class="kk-slot" title="subslot {{ $version.Subslot }}"> : {{ $version.Slot }}</span> - {{ if $version.Restricts }} + <td class="kk-version "> + <strong><a class="kk-ebuild-link" href="https://gitweb.gentoo.org/repo/gentoo.git/tree/{{$version.Atom}}/{{$version.Package}}-{{$version.Version}}.ebuild">{{$version.Version}}</a></strong><span class="kk-slot" title="subslot {{ $version.Subslot }}"> : {{ $version.Slot }}</span> + {{- if $version.Restricts -}} <span class="badge badge-danger kk-restrict-label" title="The following features are restricted: {{ $version.Restricts }}">{{ formatRestricts $version.Restricts }}</span> - {{ end }} - {{ if eq $.UserPreferences.Packages.Overview.EAPI "inline"}} + {{- end -}} + {{- if eq $.UserPreferences.Packages.Overview.EAPI "inline" -}} <span style="background-color: white;border:1px solid grey;color: grey;" class="badge badge-danger kk-restrict-label" title="The following features are restricted:">EAPI {{$version.EAPI}}</span> - {{end}} + {{- end }} </td> - {{ if eq $.UserPreferences.Packages.Overview.EAPI "column"}} + {{- if eq $.UserPreferences.Packages.Overview.EAPI "column" -}} <td class="text-center"> - {{$version.EAPI}} + {{- $version.EAPI -}} </td> - {{end}} + {{- end -}} - {{ range $.UserPreferences.Packages.Overview.Keywords }} - - {{ if contains (print " " $version " ") (print "~" . " ") }} - - {{ if ge (len $version.Masks) 1 }} - <td class="kk-keyword kk-keyword-masked" title="{{$version.Version}} is masked (testing) on {{.}}"> - <svg height="16" class="octicon octicon-diff-modified" viewBox="0 0 14 16" version="1.1" width="14" aria-hidden="true"><path fill-rule="evenodd" d="M13 1H1c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V2c0-.55-.45-1-1-1zm0 13H1V2h12v12zm-8.5-2H3v-1.5L9.5 4H11v1.5L4.5 12z"></path></svg> + {{- range $.UserPreferences.Packages.Overview.Keywords -}} + {{- if contains (print " " $version " ") (print "~" . " ") -}} + {{- if ge (len $version.Masks) 1 }} + <td class="kk-keyword kk-keyword-masked" title="{{$version.Version}} is masked (testing) on {{.}}"> + <svg height="16" class="octicon octicon-diff-modified" version="1.1" width="14" aria-hidden="true"><use href="#svg-ver-mask" xlink:href="#svg-ver-mask" /></svg> <span class="sr-only">~{{.}}</span> </td> - {{else}} - <td class="kk-keyword kk-keyword-testing" title="{{$version.Version}} is testing on {{.}}"> - <svg height="16" class="octicon octicon-diff-modified" viewBox="0 0 14 16" version="1.1" width="14" aria-hidden="true"><path fill-rule="evenodd" d="M13 1H1c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V2c0-.55-.45-1-1-1zm0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path></svg> + {{- else }} + <td class="kk-keyword kk-keyword-testing" title="{{$version.Version}} is testing on {{.}}"> + <svg height="16" class="octicon octicon-diff-modified" version="1.1" width="14" aria-hidden="true"><use href="#svg-ver-testing" xlink:href="#svg-ver-testing" /></svg> <span class="sr-only">~{{.}}</span> </td> - {{end}} - - {{ else if contains (print " " $version.Keywords " ") (print "-" . " ") }} - + {{- end -}} + {{- else if contains (print " " $version.Keywords " ") (print "-" . " ") }} <td class="kk-keyword kk-keyword-unavailable" title="{{$version.Version}} is unavailable on {{.}}"> - <svg height="16" class="octicon octicon-diff-removed" viewBox="0 0 14 16" version="1.1" width="14" aria-hidden="true"><path fill-rule="evenodd" d="M13 1H1c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V2c0-.55-.45-1-1-1zm0 13H1V2h12v12zm-2-5H3V7h8v2z"></path></svg> + <svg height="16" class="octicon octicon-diff-removed" version="1.1" width="14" aria-hidden="true"><use href="#svg-ver-unavailable" xlink:href="#svg-ver-unavailable" /></svg> <span class="sr-only">-{{.}}</span> </td> - - {{ else if contains (print " " $version.Keywords " ") (print . " ") }} - - {{ if ge (len $version.Masks) 1 }} + {{- else if contains (print " " $version.Keywords " ") (print . " ") }} + {{- if ge (len $version.Masks) 1 -}} <td class="kk-keyword kk-keyword-masked" title="{{$version.Version}} is masked (stable) on {{.}}"> - <svg height="16" class="octicon octicon-diff-added" viewBox="0 0 14 16" version="1.1" width="14" aria-hidden="true"><path fill-rule="evenodd" d="M13 1H1c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V2c0-.55-.45-1-1-1zm0 13H1V2h12v12zm-8.5-2H3v-1.5L9.5 4H11v1.5L4.5 12z"></path></svg> + <svg height="16" class="octicon octicon-diff-added" version="1.1" width="14" aria-hidden="true"><use href="#svg-ver-mask" xlink:href="#svg-ver-mask" /></svg> <span class="sr-only">{{.}}</span> </td> - {{else}} + {{- else -}} <td class="kk-keyword kk-keyword-stable" title="{{$version.Version}} is stable on {{.}}"> - <svg height="16" class="octicon octicon-diff-added" viewBox="0 0 14 16" version="1.1" width="14" aria-hidden="true"><path fill-rule="evenodd" d="M13 1H1c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V2c0-.55-.45-1-1-1zm0 13H1V2h12v12zM6 9H3V7h3V4h2v3h3v2H8v3H6V9z"></path></svg> + <svg height="16" class="octicon octicon-diff-added" version="1.1" width="14" aria-hidden="true"><use href="#svg-ver-stable" xlink:href="#svg-ver-stable" /></svg> <span class="sr-only">{{.}}</span> </td> - {{end}} - - {{ else if contains $version.Keywords "-*" }} - + {{- end -}} + {{- else if contains $version.Keywords "-*" }} <td class="kk-keyword kk-keyword-unavailable" title="{{$version.Version}} is unavailable on {{.}}"> - <svg height="16" class="octicon octicon-diff-removed" viewBox="0 0 14 16" version="1.1" width="14" aria-hidden="true"><path fill-rule="evenodd" d="M13 1H1c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V2c0-.55-.45-1-1-1zm0 13H1V2h12v12zm-2-5H3V7h8v2z"></path></svg> + <svg height="16" class="octicon octicon-diff-removed" version="1.1" width="14" aria-hidden="true"><use href="#svg-ver-unavailable" xlink:href="#svg-ver-unavailable" /></svg> <span class="sr-only">-{{.}}</span> </td> - - {{else}} - + {{- else }} <td class="kk-keyword kk-keyword-unkown" title="{{$version.Version}} is unknown on {{.}}"> - <span class="sr-only">{{.}}</span> + <span class="sr-only">?{{.}}</span> </td> - - {{end}} - - {{end}} - + {{- end -}} + {{- end -}} </tr> - {{end}} -{{end}} + {{- end -}} +{{- end -}} diff --git a/web/templates/packages/versions.tmpl b/web/templates/packages/versions.tmpl index 1b36baf..bcef3d6 100644 --- a/web/templates/packages/versions.tmpl +++ b/web/templates/packages/versions.tmpl @@ -3,17 +3,18 @@ <h3 class="mb-2">Available Versions</h3> <div class="card mb-4 rounded"> + {{template "versionicons" .}} <div class="table-responsive border-0"> <table class="table table-bordered kk-versions-table mb-0 overflow-hidden border-0"> <thead class="border-0"> <tr class="border-0"> <th class="kk-version border-left-0 border-top-0">Version</th> - {{ if eq .UserPreferences.Packages.Overview.EAPI "column"}} + {{ if eq .UserPreferences.Packages.Overview.EAPI "column" -}} <th class="kk-keyword-header kk-keyword border-left-0 border-top-0">EAPI</th> - {{end}} - {{range .UserPreferences.Packages.Overview.Keywords}} + {{- end -}} + {{- range .UserPreferences.Packages.Overview.Keywords -}} <th class="kk-keyword-header kk-keyword border-left-0 border-top-0">{{.}}</th> - {{end}} + {{ end -}} </tr> </thead> <tbody> |