⚠️ Breaking Changes
content.previewCacheTime单位变更:由 秒 改为 天。旧值(如3600)若不更新会变成数千天缓存。插件启动时若检测到previewCacheTime > 365,会触发console.warn提示迁移。
Features
- CodePen 嵌入支持:标准 CodePen 链接(如
https://codepen.io/user/pen/id)独立段落自动转换为官方嵌入预览。新增enableCodePenEmbed配置项独立控制 (#180 by @God-2077)
Bug Fixes
- 修复 LinkEmbed 配置不生效问题:
enableLinkEmbed和previewCacheTime配置先前未透传到 remark 插件,修改config/site.yaml等于白改。现已完整透传 (#180 by @God-2077) - 修复 React Grab 在 production 总是被加载问题:Astro 会把所有
<script>块 hoist 进客户端 bundle,外层 JSX 条件不影响打包。本版本通过完全移除 react-grab 集成彻底解决该问题 (#184 by @God-2077)
Refactor
- LinkEmbed 缓存层纯函数化:消除
let CACHE_TTL模块级可变状态反模式,改为 closure-scoped TTL,通过参数注入saveCache/getCachedOGData/flushCache。多实例化安全,测试友好 (by @yusixian) - 移除 react-grab 开发工具集成:dev tool 与 Astro 静态分析的
<script>机制持续不兼容,移除可减少长期维护成本(包括<script>块、enableReactGrab环境变量、.env.example中REACT_GRAB配置项、react-grabdevDependency) (by @yusixian)
Chore
- 移除无效的 preconnect/dns-prefetch:删除
cdn.jsdelivr.net和chinese-font.netlify.app两个未使用的预连接资源提示,减少 head 标签和浏览器连接预算占用 (#182 by @God-2077) - 清理 LinkEmbed 内部 console.log 噪音:移除 4 处构建期日志输出 (by @yusixian)
Documentation
- README 多语言同步:基于最新 zh 版本同步英文(
README.en.md)和日文(README.ja.md)翻译,补充 Twikoo 评论系统、BGM 配置、内容加密、新衍生主题 Ksable's Blog 等内容 (#179 by @yusixian)
Acknowledgements
感谢本次版本的贡献者们!
Full Changelog: v4.0.0...v4.1.0