mirror of https://github.com/gohugoio/hugo
65 lines
2.6 KiB
HTML
65 lines
2.6 KiB
HTML
{{/* prettier-ignore-start */ -}}
|
|
{{- /*
|
|
Renders a callout or badge indicating the version in which a feature was added.
|
|
|
|
To render a callout, include descriptive text between the opening and closing
|
|
tags. To render a badge,omit the descriptive text and call the shortcode with a
|
|
self-closing tag.
|
|
|
|
When comparing the current version to the specified version, the "new in"
|
|
button will be hidden if any of the following conditions is true:
|
|
|
|
- The major version difference exceeds the majorVersionDiffThreshold
|
|
- The minor version difference exceeds the minorVersionDiffThreshold
|
|
|
|
@param {string} 0 The semantic version string, with or without a leading v.
|
|
|
|
@example {{< new-in 0.100.0 />}}
|
|
|
|
@example {{{< new-in 0.100.0 >}}
|
|
Some descriptive text here.
|
|
{{< /new-in >}}
|
|
*/ -}}
|
|
{{/* prettier-ignore-end */ -}}
|
|
{{- $majorVersionDiffThreshold := 0 }}
|
|
{{- $minorVersionDiffThreshold := 30 }}
|
|
{{- $displayExpirationWarning := true }}
|
|
|
|
{{- with $version := .Get 0 | strings.TrimLeft "vV" }}
|
|
{{- $majorVersionDiff := sub (index (split hugo.Version ".") 0 | int) (index (split $version ".") 0 | int) }}
|
|
{{- $minorVersionDiff := sub (index (split hugo.Version ".") 1 | int) (index (split $version ".") 1 | int) }}
|
|
{{- if or (gt $majorVersionDiff $majorVersionDiffThreshold) (gt $minorVersionDiff $minorVersionDiffThreshold) }}
|
|
{{- if $displayExpirationWarning }}
|
|
{{- warnf "This call to the %q shortcode should be removed: %s. The button is now hidden because the specified version (%s) is older than the display threshold." $.Name $.Position $version }}
|
|
{{- end }}
|
|
{{- else }}
|
|
{{- $href := printf "https://github.com/gohugoio/hugo/releases/tag/v%s" $version }}
|
|
{{- with $.Inner }}
|
|
{{- $inner := strings.TrimSpace . }}
|
|
{{- $text := printf "New in [v%s](%s)\n\n%s" $version $href $inner | $.Page.RenderString (dict "display" "block") }}
|
|
{{ partial "layouts/blocks/alert.html" (dict
|
|
"color" "green"
|
|
"icon" "exclamation"
|
|
"text" $text
|
|
)
|
|
}}
|
|
{{- else }}
|
|
<span
|
|
class="not-prose inline-flex items-center px-2 mr-1 rounded text-sm font-medium bg-green-200 dark:bg-green-400 fill-green-600">
|
|
<svg class="mr-1.5 h-2 w-2" viewBox="0 0 8 8">
|
|
<circle cx="4" cy="4" r="3" />
|
|
</svg>
|
|
<a
|
|
class="text-green-800 dark:text-black hover:text-green-600 no-underline"
|
|
href="{{ $href }}"
|
|
target="_blank">
|
|
New in
|
|
v{{ $version }}
|
|
</a>
|
|
</span>
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- else }}
|
|
{{- errorf "The %q shortcode requires a single positional parameter indicating version. See %s" .Name .Position }}
|
|
{{- end }}
|