{{- /* Version badge shortcode. Renders an inline SVG version badge linking to the repository release/tag. @param {String} 0 - The version string (e.g., "v1.0.0") @param {String} [1="new"] - The type: "new", "changed", "deleted", "deprecated" @param {String} [2] - Custom URL override (defaults to repo_version.url) @param {String} [3] - Custom repo name override (defaults to repo_version.name) @example {{< version "v1.0.0" >}} {{< version "v0.4.5" "deprecated" >}} */ -}} {{- $rvc := dict "Page" .Page "Key" "repo_version" | partial "function/param.html" | default dict -}} {{- $version := .Get 0 -}} {{- $type := .Get 1 | default "new" | lower -}} {{- $label := T (printf "version.%v" $type) | default (upper $type) -}} {{- $isCJK := partial "function/is-cjk.html" . -}} {{- $url := printf "%v%v" (.Get 2 | default $rvc.url) $version -}} {{- $colorMap := dict "new" "00b1ff" "changed" "81bd65" "deleted" "ff5252" "deprecated" "ff9101" -}} {{- $color := index $colorMap $type | default (index $colorMap "new") -}} {{- $repoName := .Get 3 | default $rvc.name -}} {{- $pathTemplate := cond hugo.IsMultilingual (printf "images/version/%%v-%%v.%v.svg" .Page.Language.Name) "images/version/%v-%v.svg" -}} {{- $path := printf $pathTemplate $version $type -}} {{- $resource := resources.Get "images/version.template.svg" -}} {{- $resource = $resource | resources.ExecuteAsTemplate $path (dict "version" $version "label" $label "color" $color "isCJK" $isCJK) | minify -}} {{- $alt := printf "%v %v | %v" $repoName $version $label -}} {{- dict "Src" $resource.RelPermalink "Alt" $alt "Class" "version h-[1.25em] align-text-bottom" | partial "plugin/image.html" -}} {{- /* EOF */ -}}