Files
FixIt/layouts/_partials/init/detection-version.html
T
Cell a5a7b98c95 docs: update v1 migration guide and fixit-encrypt repository
- Update README warning to point to v1 migration guide
- Update version compatibility check for v1.0.0
- Remove temporary v1 development warning
- Update fixit-encrypt repository link in encrypt package README
2026-07-24 12:39:03 +08:00

47 lines
1.9 KiB
HTML

{{- /*
Version detection and update checking partial.
Validates Hugo minimum version, checks Hugo Extended edition, detects the
FixIt theme version from params, warns about dev versions, and optionally
checks for newer releases via the GitHub API.
*/ -}}
{{- $version := hugo.Store.Get "version" -}}
{{- $latest := $version -}}
{{- $devOpts := .Site.Store.Get "devOpts" -}}
{{- /* Check Hugo version */ -}}
{{- $MINIMAL_HUGO_VERSION := "0.161.0" -}}
{{- if lt hugo.Version $MINIMAL_HUGO_VERSION -}}
{{- errorf "\n\n%v\n\n" (dict "Current" hugo.Version "Minimal" $MINIMAL_HUGO_VERSION | T "init.hugoVersionError") -}}
{{- end -}}
{{- /* Check Hugo extend */ -}}
{{- if eq hugo.IsExtended false -}}
{{- warnf "\n\n%v\n\n" (T "init.hugoExtendedWarn") -}}
{{- end -}}
{{- /* Check for updates */ -}}
{{- if $devOpts.c4u -}}
{{- $url := "https://api.github.com/repos/hugo-fixit/FixIt/releases/latest" -}}
{{- $options := dict "headers" (hugo.Store.Get "githubTokenHeader") -}}
{{- $latest = (partial "function/get-remote-json" (dict "URL" $url "OPTIONS" $options )).tag_name -}}
{{- end -}}
{{- /* FixIt theme version detection */ -}}
{{- if .Site.Language.IsDefault -}}
{{- if not .Site.Params.version -}}
{{- errorf "FixIt %v\n%v\n\n" $version (T "init.configurationError") -}}
{{- else if gt "1.0.0" (strings.TrimPrefix "v" .Site.Params.version) -}}
{{- errorf "FixIt %v\n%v\n\n" $version (dict "From" .Site.Params.version "To" $version | T "init.compatibilityError") -}}
{{- end -}}
{{- if gt (len (findRE "^v[0-9]+\\.[0-9]+\\.[0-9]+-[0-9a-f]+$" $version)) 0 -}}
{{- warnidf "warning-dev-version" "FixIt %v\n%v" $version (T "init.devVersionWarn") -}}
{{- end -}}
{{- if (gt $latest $version) | and $devOpts.c4u -}}
{{- warnf "FixIt %v (⬆️ %v)\n%v`git submodule update --remote --merge`\n\n" $version $latest (T "init.quicklyUpgrade") -}}
{{- end -}}
{{- end -}}
{{- hugo.Store.Set "latest" $latest -}}