发布日期: 2024-12-17
版本号: v0.140.0

本次Hugo更新的主要新增功能是js.Batch,支持将JavaScript代码按组(如按内容板块)进行打包,实现全局代码拆分和灵活的钩子/运行器配置。错误修复方面解决了服务器重建时使用基础模板的崩溃问题、多主机环境下js.Batch的兼容性、Org模式摘要分隔符分配异常、资源重命名导致重建失败、details短代码标题属性错误、Sass索引文件导入异常以及块引用渲染解析问题。功能改进包括支持ES2024编译目标、优化JavaScript构建顺序、增强querify函数支持map参数、将日志统一输出至stderr、新增禁用默认语言重定向配置选项,并升级至Go 1.23.4版本。此外还更新了golang.org/x/crypto、tools、net等多个依赖库版本,移除了部分遗留脚本文件。

更新内容 (中文)

此版本的主要新功能是 js.Batch —— 该功能支持 JavaScript 捆绑包分组(例如按章节划分的脚本),并具有全局代码分割和灵活的钩子/运行器配置。

错误修复

  • 修复同时使用基础模板和 template.Defer 时服务器重建导致的崩溃 a5e5be234 @bep #12963
  • js: 修复多主机设置下的 js.Batch 问题 565c30eac @bep #13151
  • parser/pageparser: 修复 Org Mode 摘要分隔符分配 48dd6a918 @jmooring #13152
  • 修复资源重命名时的重建问题 744b8566e @bep
  • tpl/tplimpl: 修复 details 短代码的 title 属性 a32c889a7 @jmooring
  • 修复 index.{scss,sass} 格式的 Sass 导入问题 5ab38de36 @bep #13123
  • markup/goldmark: 修复块引用渲染钩子文本解析 34373407b @jmooring #12913 #13119

改进

  • js/esbuild: 添加缺失的 es2024 目标 5c80cb0d2 @bep
  • js/esbuild: 在脚本后添加运行器 7de5317ae @bep
  • js/esbuild: Batch: 避免 nil Instances 切片 4cbd4ef99 @bep
  • tpl/tplimpl: 更新 youtube 短代码 852d86854 @jmooring
  • tpl/tplimpl: 更新 details 短代码 1e34e5b26 @jmooring
  • tpl/collections: 允许 querify 接受 map 参数 641d2616c @jmooring #13131
  • js/esbuild: 按 ID 顺序构建组 a834bb9f7 @bep
  • tpl/tplimpl: 新增 details 短代码 4f130f6e4 @racehd
  • 将所有日志(INFO, WARN, ERROR)写入 stderr 9dfa11261 @bep #13074
  • js/esbuild: 添加平台选项 ec1933f79 @bep #13136
  • 新增配置选项 disableDefaultLanguageRedirect 75ad9cdaa @bep #13133
  • 添加 js.Batch 功能 e293e7ca6 @bep #12626 #7499 #9978 #12879 #13113 #13116
  • 升级至 Go 1.23.4 6be253000 @bep #13130
  • 移除部分旧版未使用的 shell 脚本 989b299b5 @bep

依赖更新

  • build(deps): 升级 golang.org/x/crypto 从 0.30.0 至 0.31.0 157d86414 @dependabot[bot]
  • build(deps): 升级 golang.org/x/tools 从 0.27.0 至 0.28.0 947e4e66b @dependabot[bot]
  • build(deps): 升级 github.com/hairyhenderson/go-codeowners 5f897868c @dependabot[bot]
  • build(deps): 升级 golang.org/x/net 从 0.31.0 至 0.32.0 7b6921848 @dependabot[bot]

更新内容 (原始)

The big new feature in this release is js.Batch – this enables JavaScript bundle groups (e.g. scripts per section) with global code splitting and flexible hooks/runners setup.

Bug fixes

  • Fix panic on server rebuilds when using both base templates and template.Defer a5e5be234 @bep #12963
  • js: Fix js.Batch for multihost setups 565c30eac @bep #13151
  • parser/pageparser: Fix Org Mode summary delimiter assignment 48dd6a918 @jmooring #13152
  • Fix a rebuild on resource rename case 744b8566e @bep
  • tpl/tplimpl: Fix title attribute in details shortcode a32c889a7 @jmooring
  • Fix Sass imports on the form index.{scss,sass} 5ab38de36 @bep #13123
  • markup/goldmark: Fix blockquote render hook text parsing 34373407b @jmooring #12913 #13119

Improvements

  • js/esbuild: Add missing es2024 target 5c80cb0d2 @bep
  • js/esbuild: Add runners after scripts 7de5317ae @bep
  • js/esbuild: Batch: Avoid nil Instances slice 4cbd4ef99 @bep
  • tpl/tplimpl: Update youtube shortcode 852d86854 @jmooring
  • tpl/tplimpl: Update details shortcode 1e34e5b26 @jmooring
  • tpl/collections: Allow querify to accept a map argument 641d2616c @jmooring #13131
  • js/esbuild: Build groups in order of their ID a834bb9f7 @bep
  • tpl/tplimpl: Add details shortcode 4f130f6e4 @racehd
  • Write all logging (INFO, WARN, ERROR) to stderr 9dfa11261 @bep #13074
  • js/esbuild: Add platform option ec1933f79 @bep #13136
  • Add config option disableDefaultLanguageRedirect 75ad9cdaa @bep #13133
  • Add js.Batch e293e7ca6 @bep #12626 #7499 #9978 #12879 #13113 #13116
  • Upgrade to Go 1.23.4 6be253000 @bep #13130
  • Remove some old and unused shell scripts 989b299b5 @bep

Dependency Updates

  • build(deps): bump golang.org/x/crypto from 0.30.0 to 0.31.0 157d86414 @dependabot[bot]
  • build(deps): bump golang.org/x/tools from 0.27.0 to 0.28.0 947e4e66b @dependabot[bot]
  • build(deps): bump github.com/hairyhenderson/go-codeowners 5f897868c @dependabot[bot]
  • build(deps): bump golang.org/x/net from 0.31.0 to 0.32.0 7b6921848 @dependabot[bot]

下载链接