{{- /* Deprecated parameter detection */ -}} {{- $warns := slice -}} {{- $errors := slice -}} {{- with .Site.Params.externalIcon -}} {{- $warns = $warns | append "The parameter `params.externalIcon` is deprecated since v1.0.0, use `params.link.external_icon` instead." -}} {{- end -}} {{- /* params.page structural migration warnings */ -}} {{- $deprecatedPageKeys := slice "capitalize_titles" "summary_plainify" "author_avatar" "hidden_from_home_page" "hidden_from_search" "hidden_from_related" "hidden_from_feed" "twemoji" "lightgallery" "ruby" "fraction" "fontawesome" "license" "page_style" "auto_bookmark" "show_lastmod" "word_count" "reading_time" "end_flag" "instant_page" "collection_list" "collection_navigation" "edit_url" "source_url" "featured_image" "featured_image_preview" "toc" "expiration_reminder" "heading" "math" "mapbox" "related" "reward" "share" "comment" "library" "seo" -}} {{- $onlyFrontMatters := slice "subtitle" "featured_image" "featured_image_preview" "repost" -}} {{- range $deprecatedPageKeys -}} {{- $newKey := . -}} {{- $oldKey := replace . "_" "" -}} {{- $oldDisplay := partial "function/camel-case.html" $newKey -}} {{- if (in $.Site.Params.page $oldKey) | and (not (in $onlyFrontMatters $newKey)) -}} {{- $warns = $warns | append (printf "The parameter `params.page.%s` has been removed since v1.0.0, use `params.%s` instead." $oldDisplay $newKey) -}} {{- end -}} {{- if (in $.Site.Params.page $oldKey) | and (in $onlyFrontMatters $newKey) -}} {{- $warns = $warns | append (printf "The parameter `params.page.%s` has been removed since v1.0.0, use front matter parameter `%s` instead." $oldDisplay $newKey) -}} {{- end -}} {{- if (in $.Page.Params $oldKey) | and (in $newKey "_") -}} {{- $warns = $warns | append (printf "Front matter parameter `%s` is deprecated since v1.0.0, use `%s` instead." $oldDisplay $newKey) -}} {{- end -}} {{- end -}} {{- /* camelCase → snake_case param/section rename warnings */ -}} {{- $deprecatedKeys := slice "default_theme" "date_format" "with_site_title" "disable_theme_inject" "title_delimiter" "index_with_subtitle" "enable_translation_merge" "tag_cloud" "post_chat" "post_summary" "git_info" "back_to_top" "reading_progress" "github_corner" "recently_updated" "json_viewer" "custom_partials" "task_list" "repo_version" -}} {{- range $deprecatedKeys -}} {{- $newKey := . -}} {{- $oldKey := replace . "_" "" -}} {{- $oldDisplay := partial "function/camel-case.html" $newKey -}} {{- with index $.Site.Params $oldKey -}} {{- $warns = $warns | append (printf "The parameter `params.%s` has been removed since v1.0.0, use `params.%s` instead." $oldDisplay $newKey) -}} {{- end -}} {{- end -}} {{- /* Nested camelCase key rename warnings */ -}} {{- $deprecatedNestedKeys := dict "search" (slice "content_length" "absolute_url" "max_result_length" "snippet_length" "highlight_tag") "search.algolia" (slice "app_id" "search_key") "header" (slice "desktop_mode" "mobile_mode") "breadcrumb" (slice "show_home") "navigation" (slice "in_section") "footer.powered" (slice "hugo_logo" "theme_logo") "footer" (slice "site_time") "home.profile" (slice "only_first_page" "gravatar_email" "avatar_url" "avatar_menu") "home.posts" (slice "image_preview") "watermark" (slice "row_spacing" "col_spacing" "font_size" "font_family") "busuanzi" (slice "site_views" "page_views") "image" (slice "cache_remote" "black_list") "mermaid" (slice "security_level" "font_family" "layout_loaders") "codeblock" (slice "wrapper_class" "max_shown_lines" "line_nos_toggler" "line_wrap_toggler") "filetree" (slice "folder_slash" "ignore_list") "math.katex" (slice "copy_tex" "throw_on_error" "error_color") "math.mathjax.options" (slice "enable_menu" "skip_html_tags" "ignore_html_class") "post_summary" (slice "post_url" "word_limit" "typing_animate" "beginning_text" "loading_text") -}} {{- range $sectionPath, $keys := $deprecatedNestedKeys -}} {{- $parts := split $sectionPath "." -}} {{- $section := $.Site.Params -}} {{- $valid := true -}} {{- range $parts -}} {{- if reflect.IsMap $section -}} {{- $section = index $section . -}} {{- else -}} {{- $valid = false -}} {{- end -}} {{- end -}} {{- if $valid | and (reflect.IsMap $section) -}} {{- range $keys -}} {{- $newKey := . -}} {{- $oldKey := replace . "_" "" -}} {{- $oldDisplay := partial "function/camel-case.html" $newKey -}} {{- with index $section $oldKey -}} {{- $warns = $warns | append (printf "The parameter `params.%s.%s` has been removed since v1.0.0, use `params.%s.%s` instead." $sectionPath $oldDisplay $sectionPath $newKey) -}} {{- end -}} {{- end -}} {{- end -}} {{- end -}} {{- /* Front matter key migration warnings */ -}} {{- with $.Page.Params.link_guard -}} {{- $warns = $warns | append "Front matter parameter `link_guard` has been removed since v1.0.0, use `link.guard` instead." -}} {{- end -}} {{- if fileExists "assets/css/_custom.scss" -}} {{- $warns = $warns | append "The file `assets/css/_custom.scss` is deprecated. Please move your custom styles to `assets/scss/custom.scss`. See: https://fixit.lruihao.cn/docs/advanced/" -}} {{- end -}} {{- if fileExists "assets/css/_override.scss" -}} {{- $warns = $warns | append "The file `assets/css/_override.scss` is deprecated. Use `[params.appearance]` in your site configuration instead. See: https://fixit.lruihao.cn/docs/advanced/" -}} {{- end -}} {{- if fileExists "assets/scss/override.scss" -}} {{- $warns = $warns | append "The file `assets/scss/override.scss` is deprecated. Use `[params.appearance]` in your site configuration instead. See: https://fixit.lruihao.cn/docs/advanced/" -}} {{- end -}} {{- if fileExists "assets/css/_variables.scss" -}} {{- $warns = $warns | append "The file `assets/css/_variables.scss` is deprecated. Please move your variables to `assets/scss/_variables.scss`. See: https://fixit.lruihao.cn/docs/advanced/" -}} {{- end -}} {{- if fileExists "assets/js/_custom.js" -}} {{- $warns = $warns | append "The file `assets/js/_custom.js` is deprecated. Please move your custom scripts to `assets/js/custom.ts` or `assets/js/custom.js`. See: https://fixit.lruihao.cn/docs/advanced/" -}} {{- end -}} {{- if len $warns -}} {{- warnf "[FixIt] deprecation warnings (%v):\n • %v\n\n" (hugo.Store.Get "version") (delimit $warns "\n • ") -}} {{- end -}} {{- if len $errors -}} {{- errorf "[FixIt] deprecation errors (%v):\n • %v\n\n" (hugo.Store.Get "version") (delimit $errors "\n • ") -}} {{- end -}}