{{ define "repository" }} {{ template "head" . }} {{ template "meta" .Meta }} {{ template "nav" . }}
{{ template "repo-avatar" (dict "IconURL" .Repository.IconURL "RepositoryName" .Repository.Name "IsOwner" .IsOwner) }}

{{ .Owner.Handle }} {{ .Repository.Name }}

{{ if .Repository.Description }}

{{ .Repository.Description }}

{{ end }}
{{ if .StatsAvailable }} {{ template "star" (dict "IsStarred" .IsStarred "StarCount" .Stats.StarCount "Interactive" true "Handle" .Owner.Handle "Repository" .Repository.Name "IsAuthenticated" (ne .User nil)) }} {{ template "pull-count" (dict "PullCount" .Stats.PullCount) }} {{ else }} {{/* Stats query failed — show a subdued indicator rather than zeros that could be mistaken for real counts. */}} {{ icon "alert-circle" "size-4 inline" }} Stats unavailable {{ end }} {{ if .TagCount }} {{ icon "tag" "size-4" }} {{ .TagCount }} {{ end }} {{ if and .StatsAvailable .Stats.LastPush }} Updated {{ timeAgoShort (derefTime .Stats.LastPush) }} {{ end }}
{{ if or .Repository.Licenses .Repository.SourceURL .Repository.DocumentationURL .Repository.Version }}
{{ if .Repository.Version }} {{ .Repository.Version }} {{ end }} {{ if .Repository.Licenses }} {{ range parseLicenses .Repository.Licenses }} {{ if .IsValid }} {{ .SPDXID }} {{ else }} {{ .Name }} {{ end }} {{ end }} {{ end }} {{ if .Repository.SourceURL }} {{ icon "external-link" "size-3" }} Source {{ end }} {{ if .Repository.DocumentationURL }} {{ icon "book-open" "size-3" }} Docs {{ end }}
{{ end }}
{{ if .SelectedTag }}
{{ icon "tag" "size-6 text-base-content/60" }} {{ if gt (len .AllTags) 1 }} {{ end }}
{{/* Platform / attestation badges live INSIDE repo-tag-section so they re-render with each tag swap. Putting them here would freeze them at the page's initial-load tag. */}}
{{ end }} {{ template "repo-tag-section" . }} {{ if .IsOwner }} {{ end }}
{{ if .IsOwner }} {{ end }} {{ template "footer" . }} {{ end }}