{{/* Use to defind global variables */}} {{ $version := int (index (split hugo.Version ".") 1) }} {{ if lt $version 89 }} {{ warnf "当前 Hugo 版本小于 0.89.0,请到官方地址下载 Hugo 最新版本:https://github.com/gohugoio/hugo/releases" }} {{ errorf "Current Hugo version is less then 0.89.0, Please download Hugo latest version on offical site: https://github.com/gohugoio/hugo/releases" }} {{ end }} {{ if not hugo.IsExtended }} {{ warnf "Hugo NexT 主题使用了 SCSS 框架,请到官方地址下载 Hugo Extended 版本:https://github.com/gohugoio/hugo/releases" }} {{ errorf "Because that use SCSS framework in Hugo NexT, Please download Hugo extended version on offical site: https://github.com/gohugoio/hugo/releases" }} {{ end }} {{ $globalVars := newScratch }} {{ $pages := (where .Page.Site.RegularPages "Section" "in" .Site.Params.mainSections) }} {{ $globalVars.Set "pages" $pages}} {{ $globalVars.Set "postsCount" (len $pages)}} {{ $globalVars.Set "catsCount" (len .Site.Taxonomies.categories) }} {{ $globalVars.Set "tagsCount" (len .Site.Taxonomies.tags) }} {{ $vendor := .Site.Params.vendors.plugins }} {{ $router := dict }} {{ if eq $vendor "local" }} {{ $router = dict "url" (printf "%s3rd" .Site.BaseURL) "name" $vendor "type" "modern" }} {{ else }} {{ range .Site.Data.resources.vendors }} {{ if eq .name $vendor }} {{ $router = . }} {{ break }} {{ end }} {{ end }} {{ end }} {{ $globalVars.Set "vendor" $vendor }} {{ $globalVars.Set "router" $router }} {{ $config := dict "hostname" .Site.BaseURL "root" "/" "lang" .Site.LanguageCode "vendor" (dict "plugins" $vendor "router" $router) "darkmode" .Site.Params.darkmode "version" .Site.Data.config.version "scheme" .Site.Params.scheme "sidebar" .Site.Params.sidebar "copybtn" .Site.Params.codeblock.copyBtn "bookmark" .Site.Params.bookmark "lazyload" .Site.Params.lazyload "motion" .Site.Params.motion "i18n" (dict "placeholder" (T "Search.placeholder") "empty" (T "Search.empty") "hits_time" (T "Search.time") "hits" (T "Search.hits") "ds_years" (T "DateSuffix.years") "ds_days" (T "DateSuffix.days") "ds_hours" (T "DateSuffix.hours") "ds_mins" (T "DateSuffix.mins") "ds_month" (T "DateSuffix.month") "ds_day" (T "DateSuffix.day") "ds_hour" (T "DateSuffix.hour") "ds_min" (T "DateSuffix.min") "ds_just" (T "DateSuffix.just") ) }} {{ if .Site.Params.localSearch.enable }} {{ $localSearch := dict "localSearch" .Site.Params.localSearch }} {{ $config = merge $config $localSearch }} {{ end }} {{ with .Site.Params.postMeta }} {{ $postmeta := dict "views" .views "comments" .comments }} {{ $config = merge $config (dict "postmeta" $postmeta) }} {{ else }} {{ end }} {{ if .Site.Params.algoliaSearch.enable }} {{ $algoliaSearch := dict "js" .Site.Data.resources.algolia "instantjs" .Site.Data.resources.instant "cfg" .Site.Params.algoliaSearch }} {{ $config = merge $config (dict "algolia" $algoliaSearch) }} {{ end }} {{ with .Site.Params.waline }} {{ $waline := dict "js" $.Site.Data.resources.waline.js "css" $.Site.Data.resources.waline.css "cfg" . }} {{ $config = merge $config (dict "waline" $waline) }} {{ end }} {{ with .Site.Params.waline3 }} {{ $waline := dict "js" $.Site.Data.resources.waline3.js "css" $.Site.Data.resources.waline3.css "cfg" . }} {{ $config = merge $config (dict "waline3" $waline) }} {{ end }} {{ with .Site.Params.giscus }} {{ $giscus := dict "js" $.Site.Data.resources.giscus.js "cfg" . }} {{ $config = merge $config (dict "giscus" $giscus) }} {{ end }} {{ with .Site.Params.artalk }} {{ $artalk := dict "js" $.Site.Data.resources.artalk.js "css" $.Site.Data.resources.artalk.css "cfg" . }} {{ $config = merge $config (dict "artalk" $artalk) }} {{ end }} {{ with .Site.Params.livere }} {{ $livere := dict "js" $.Site.Data.resources.livere.js }} {{ $config = merge $config (dict "livere" $livere) }} {{ end }} {{ with .Site.Params.utterances }} {{ $utterances := dict "js" $.Site.Data.resources.utterances.js "cfg" . }} {{ $config = merge $config (dict "utterances" $utterances) }} {{ end }} {{ with .Site.Params.addThisId }} {{ $addthis := dict "js" $.Site.Data.resources.addthis.js "cfg" (dict "pubid" .) }} {{ $config = merge $config (dict "addthis" $addthis) }} {{ end }} {{ with .Site.Params.siteState.statistic }} {{ $statis := dict "statis" . }} {{ $config = merge $config $statis }} {{ end }} {{ with .Site.Params.analytics.laId }} {{ $lawidget := dict "js" $.Site.Data.resources.analytics.laWidget "id" . }} {{ $config = merge $config (dict "lawidget" $lawidget) }} {{ end }} {{ $globalVars.Set "config" $config }} {{ with .Site.Params.customFilePath }} {{ range $k, $v := . }} {{ $globalVars.Set $k $v }} {{ end }} {{ end }} {{ $theme := "light" }} {{ if .Site.Params.darkmode }} {{ $theme = "dark" }} {{ end }} {{ $globalVars.Set "theme" $theme }} {{ return $globalVars.Values }}