说说
记录日常灵感、心情与碎碎念,本站的生活与技术随笔。
月份筛选
心情筛选
chore: 完成基建优化合集,缩减部署包体积并修复告警
本次提交完成多项基建优化:
1. 迁移本地Google Fonts到独立CSS文件并通过import引入,移除旧link标签消除Next.js警告
2. 新增prune-standalone.js脚本,结合Next.js standalone配置主动剔除构建期依赖,将EdgeOne部署包从207MiB缩减至47.37MiB
3. 校准ESLint规则,统一_前缀未使用变量约定,清理冗余lint注释与未使用变量
4. 更新好友站点检测数据与项目进度文档
5. 为所有Edge API响应统一补充安全头,清理冗余的环境变量回退逻辑
chore: 完成基建优化合集,缩减部署包体积并修复告警
本次提交完成多项基建优化:
1. 迁移本地Google Fonts到独立CSS文件并通过import引入,移除旧link标签消除Next.js警告
2. 新增prune-standalone.js脚本,结合Next.js standalone配置主动剔除构建期依赖,将EdgeOne部署包从207MiB缩减至47.37MiB
3. 校准ESLint规则,统一_前缀未使用变量约定,清理冗余lint注释与未使用变量
4. 更新好友站点检测数据与项目进度文档
5. 为所有Edge API响应统一补充安全头,清理冗余的环境变量回退逻辑
build: 基建优化合集,缩减部署包体积并修复告警
本次提交完成多项基建优化:
1. 迁移本地Google Fonts到独立CSS文件并通过import引入,移除旧link标签消除Next.js警告
2. 新增prune-standalone.js脚本,结合Next.js standalone配置主动剔除构建期依赖,大幅缩减EdgeOne部署包体积
3. 校准ESLint规则,统一_前缀未使用变量约定,清理冗余lint注释与未使用变量
4. 更新好友站点检测数据与项目进度文档
build: 基建优化合集,缩减部署包体积并修复告警
本次提交完成多项基建优化:
1. 迁移本地Google Fonts到独立CSS文件并通过import引入,移除旧link标签消除Next.js警告
2. 新增prune-standalone.js脚本,结合Next.js standalone配置主动剔除构建期依赖,大幅缩减EdgeOne部署包体积
3. 校准ESLint规则,统一_前缀未使用变量约定,清理冗余lint注释与未使用变量
4. 更新好友站点检测数据与项目进度文档
build: 重构字体引入方式,优化部署包体积并修复ESLint告警
本次提交完成多项基建优化:
1. 迁移本地Google Fonts到独立CSS文件并通过import引入,移除旧link标签消除Next.js警告
2. 重新配置Next.js standalone输出与打包排除项,缩减EdgeOne部署包体积
3. 校准ESLint规则,统一_前缀未使用变量约定,清理冗余lint注释与未使用变量
4. 关闭react-hooks/exhaustive-deps与@next/next/no-img-element规则适配遗留代码
5. 更新好友站点检测数据与项目进度文档
build: 重构字体引入方式,优化部署包体积并修复ESLint告警
本次提交完成多项基建优化:
1. 迁移本地Google Fonts到独立CSS文件并通过import引入,移除旧link标签消除Next.js警告
2. 重新配置Next.js standalone输出与打包排除项,缩减EdgeOne部署包体积
3. 校准ESLint规则,统一_前缀未使用变量约定,清理冗余lint注释与未使用变量
4. 关闭react-hooks/exhaustive-deps与@next/next/no-img-element规则适配遗留代码
5. 更新好友站点检测数据与项目进度文档
build: 重构字体引入方式,优化部署包体积
1. 迁移本地Google Fonts到app/fonts/google-fonts.css并通过import引入,移除旧的link标签避免Next.js警告
2. 启用standalone输出并配置打包排除项,缩减EdgeOne部署包体积
build: 重构字体引入方式,优化部署包体积
1. 迁移本地Google Fonts到app/fonts/google-fonts.css并通过import引入,移除旧的link标签避免Next.js警告
2. 启用standalone输出并配置打包排除项,缩减EdgeOne部署包体积
migrate project from Vite SPA to Next.js App Router at repository root
migrate project from Vite SPA to Next.js App Router at repository root
refactor(ssr): 根治移动端水合分叉问题
1. 新增 useMobileMounted 和 useIsDesktopClient 钩子统一水合门控
2. 重构 MobileContext:SSR 默认返回移动端安全值,客户端挂载后更新真实视口状态
3. 移除全局重复的 useIsMobile 实现,统一从 context 导出
4. 替换全站移动端/桌面端条件渲染逻辑:
5. 修复 WelcomeModal 初始 window 调用报错问题
6. 删除冗余的 useIsMobile 重复实现代码
7. 更新 ROADMAP.md 和 PROGRESS.md 记录修复进度
refactor(ssr): 根治移动端水合分叉问题
1. 新增 useMobileMounted 和 useIsDesktopClient 钩子统一水合门控
2. 重构 MobileContext:SSR 默认返回移动端安全值,客户端挂载后更新真实视口状态
3. 移除全局重复的 useIsMobile 实现,统一从 context 导出
4. 替换全站移动端/桌面端条件渲染逻辑:
5. 修复 WelcomeModal 初始 window 调用报错问题
6. 删除冗余的 useIsMobile 重复实现代码
7. 更新 ROADMAP.md 和 PROGRESS.md 记录修复进度
fix(next-app): 水合错误三连修 + 音乐文件迁移
td/th 单元格 Children.map+cloneElement 保结构渲染,消除拍平导致的重复 key(span-0/math-0);
删除 $检测死代码;ClickableImage wrapper div→span.block
DocListView 卡片改 hidden md:block CSS 断点方案
fix(next-app): 水合错误三连修 + 音乐文件迁移
td/th 单元格 Children.map+cloneElement 保结构渲染,消除拍平导致的重复 key(span-0/math-0);
删除 $检测死代码;ClickableImage wrapper div→span.block
DocListView 卡片改 hidden md:block CSS 断点方案
修复 KaTeX 数学公式的 MathML 警告与 DOM 非法嵌套问题
根因:components 中的 math: MathBlock 映射覆盖的并非 remark-math 块级公式节点,
而是 rehype-katex 输出中 .katex-mathml 无障碍子树的根元素 <math>。这导致:
1. MathML 失去 <math> 命名空间上下文,<mi>/<mo>/<mn> 等被 React 当作未知标签
报 'unrecognized in this browser';
2. MathBlock 的两层 <div> 被渲染进段落 <p> 内,触发水合嵌套校验错误。
修复:删除 MathBlock 组件及全部 6 处 math: 映射(含 HeadingAnchor/th/td 内嵌
ReactMarkdown),让 <math> 以原生 MathML 渲染——React 在其命名空间上下文内用
createElementNS 创建子元素,不再产生警告,且完整保留 MathML 无障碍层。
display 公式横向滚动本就由 code-block.css 的 .katex-display overflow-x 规则负责,
视觉渲染不变。同时清理 processCellChildren 中对 MathBlock 的残留引用。
修复 KaTeX 数学公式的 MathML 警告与 DOM 非法嵌套问题
根因:components 中的 math: MathBlock 映射覆盖的并非 remark-math 块级公式节点,
而是 rehype-katex 输出中 .katex-mathml 无障碍子树的根元素 <math>。这导致:
1. MathML 失去 <math> 命名空间上下文,<mi>/<mo>/<mn> 等被 React 当作未知标签
报 'unrecognized in this browser';
2. MathBlock 的两层 <div> 被渲染进段落 <p> 内,触发水合嵌套校验错误。
修复:删除 MathBlock 组件及全部 6 处 math: 映射(含 HeadingAnchor/th/td 内嵌
ReactMarkdown),让 <math> 以原生 MathML 渲染——React 在其命名空间上下文内用
createElementNS 创建子元素,不再产生警告,且完整保留 MathML 无障碍层。
display 公式横向滚动本就由 code-block.css 的 .katex-display overflow-x 规则负责,
视觉渲染不变。同时清理 processCellChildren 中对 MathBlock 的残留引用。
docs(next-app): README 补充 Turbopack dev 缓存污染构建的排查方法
docs(next-app): README 补充 Turbopack dev 缓存污染构建的排查方法
docs(next-app): README 补充 Turbopack dev 缓存污染构建的排查方法
docs(next-app): README 补充 Turbopack dev 缓存污染构建的排查方法
fix(next-app): 根 layout 补 metadataBase,修正 OG 链接解析
fix(next-app): 根 layout 补 metadataBase,修正 OG 链接解析
fix(next-app): 根 layout 补 metadataBase,修正 OG 链接解析
fix(next-app): 根 layout 补 metadataBase,修正 OG 链接解析