{{- /* 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 -}}