为了更方便地维护和升级后续版本,我将定期发布 Learndata 新版本,并在此记录所有重大变更及破坏性更新。
以视觉改版为主、并完成 pnpm 11 迁移的版本:主站与读书笔记独立站统一切换到「极简东方」主题,看板娘(live2d)目录结构重构,依赖与构建配置同步到 pnpm 11 标准。
-
必须使用 pnpm 11,且仓库根需有
pnpm-workspace.yaml。 pnpm 10+ 默认拦截依赖的安装构建脚本,pnpm 11 又只从pnpm-workspace.yaml读取授权(不再读package.json的pnpm.onlyBuiltDependencies,也不读.npmrc)。本版本新增pnpm-workspace.yaml,用allowBuilds批准esbuild、@parcel/watcher:allowBuilds: "@parcel/watcher": true esbuild: true
缺少该文件、或仍沿用 pnpm 10 的旧写法,
pnpm install会因ERR_PNPM_IGNORED_BUILDS失败(exit 1),连带pnpm docs:build和 CI 一起挂。随之移除了package.json里已失效的pnpm.onlyBuiltDependencies,以及与 pnpm 默认值重复的.npmrc。 -
看板娘 live2d 路径变更:资源迁移到
live2d-widget/v20260619/,templateBuild.html的引用改为/live2d-widget/v20260619/autoload.js。自定义过templateBuild.html的用户合并时务必保留新路径,否则看板娘会 404 失效。 -
Google 分析默认关闭:
config.ts中的 GA 插件默认注释、并移除硬编码统计 ID,避免误统计到他人账号。需启用时取消该插件与顶部import的注释、填回自己的 GA4 ID。
- 极简东方主题:朱砂红主色 + 宣纸暖白(亮)/ 暖墨黑(暗)配色,Noto Serif/Sans SC 正文 + JetBrains Mono 代码字体,shiki
vitesse暖色代码高亮,面包屑默认开启,favicon 改用朱砂色logo.svg;读书笔记独立站同步该主题。 - FAQ 结构化数据插件
src/.vuepress/plugins/faq-schema.ts:在文章 frontmatter 写faq字段即自动生成FAQPageJSON-LD,利于搜索 / AI 引擎引用。 - GEO 审计:新增
scripts/geo-audit.js与 npm scriptgeo:audit,并增强scripts/seo-audit.js。
- 升级
vuepress/vuepress-theme-hope至rc.30/rc.107,sass-embedded1.100 等;pnpm-lock.yaml清理 webpack 构建器的残留依赖树。 vue收敛为单一 3.5.38:vuepress rc.30 要求vue ^3.5.34,3.5.38 为该范围内最新;已 dedupe 消除原先的重复解析 / 版本错配。请勿把 vue 钉到更低版本,跟随该范围即可。- pnpm 10 → 11(CI 与本地一致);依赖的构建脚本授权迁移到
pnpm-workspace.yaml的allowBuilds。 - 脚本健壮性修正:
llms-txt描述截断改用显示宽度(中文按 2 计)、geo-audit统计口径、目录遍历对坏软链做容错。 - 读书笔记:运行时间统计修正(改用
Date.now()直接相减,修掉原先多算约一个月的问题),侧栏与 TOC 抽屉改为互斥(开一个自动关另一个)。
# 1) 确保 pnpm 为 11(旧版先升级:npm i -g pnpm@11,或用 corepack)
pnpm -v
# 2) 拉取、安装、构建
git pull origin main
pnpm install # 读取 pnpm-workspace.yaml 的 allowBuilds,自动批准 esbuild/@parcel/watcher 构建
pnpm docs:build- 若
pnpm install报ERR_PNPM_IGNORED_BUILDS:确认 ①pnpm -v是 11;② 仓库根存在pnpm-workspace.yaml(含allowBuilds)。仍异常可rm -rf node_modules && pnpm install干净重装。 - 主题字体经
fonts.googleapis.cn(国内镜像)加载,离线 / 纯内网部署会回退到系统字体,介意者可自托管字体。 - 升级后请逐一确认:① 看板娘正常显示;② 已填回自己的 Google 分析 ID;③ 自定义样式按需合并。
- 说明:Dependabot 的部分安全更新可能对
markdown-it/vite/esbuild报红——这些是 vuepress 锁定的传递依赖,要等 vuepress 升级后才能修复,属已知现象、不影响构建与部署。
重大架构升级版本:构建系统由 webpack 迁移到 Vite,docs 目录重命名为 src。
docs目录重命名为src:解决 Vercel 等平台默认构建命令的路径冲突,符合现代项目结构约定。git pull会自动处理重命名,已有文章与配置随之移动,路由路径不变。合并冲突时保留你的自定义值,但config.ts的 bundler 需改用viteBundler(),templateBuild路径需由./docs/改为./src/。(c3a9480, e420e28)
- 构建系统由 webpack 迁移到 Vite:开发服务器启动提速 10 倍以上(ESM 按需编译),HMR 即时响应,content hash 仅在内容变化时更新文件名,Rollup 生产构建输出更优。(6d51d79)
- 自动化脚本:
scripts/seo-audit.js(扫描 frontmatter SEO 问题)、scripts/llms-txt.js(生成 llms.txt,构建后自动运行)、scripts/reading-sidebar.js(生成 docsify 读书笔记侧边栏);新增 npm scriptsseo:audit、reading:sidebar。(dd54235d, 42c2a7e) - 读书笔记升级:Waline 评论系统 v2 → v3,运行时间统计改为 ES6 模块化,改进阅读量统计集成,增强 SEO meta description,禁用默认 docsify 搜索(避免与 slimsearch 冲突)。(c12dd01)
- 构建工具由
@vuepress/bundler-webpack切换到@vuepress/bundler-vite,移除mathjax-full/sass-loader/vidstack,新增@mathjax/src/gray-matter。依赖与 GitHub Actions 均随代码更新,git pull后重装即可。
git pull origin main
rm -rf node_modules pnpm-lock.yaml
pnpm install
pnpm docs:build配置项更名、移除默认 vidstack 组件,并优化侧边栏与深色调色板。
docs/.vuepress/styles/config.scss中的theme-colors更名为theme-color。(43a6afc)- 博客页面
docs/blog.md中的layout由BlogHome改为Blog。(a26c290) - 移除
docs/.vuepress/theme.ts中默认启用的内部组件vidstack,避免升级后在部分环境构建失败。(ebf4319)
docs/.vuepress/styles/palette.scss:优化深色模式下的调色板。(eda325c)- 清理
docs/.vuepress/sidebar.ts中错误的link: ""配置,并优化侧边栏路径结构。(6dce681)
- 升级部分依赖,并重构
package.json文件结构。(5b0ea87)
主题说明补充与 pnpm 升级。
docs/.vuepress/theme.ts:新增设置版权及禁用复制的说明。(b5be1c9)
主题图标与加密配置调整。
docs/.vuepress/theme.ts:icon assets 配置由iconAssets改为plugins.icon.assets。(1cc3dc5)docs/.vuepress/theme.ts:新增对整个 encrypt 目录及指定页面加密的示例配置。(38fc81f)
- 常规依赖更新
package.json。(fae924a)
主题改用 custom 提升性能,插件配置合并,新增可切换主题色。
docs/.vuepress/styles/config.scss:新增多种主题颜色,用户可在导航栏自由选择主色。
docs/.vuepress/theme.ts:主题改用custom,性能提升;plugins.mdEnhance、plugins.markdownImage、plugins.markdownHint合并为markdown。docs/.vuepress/styles/palette.scss:修改主题背景颜色。docs/.vuepress/styles/index.scss:移除目录自定义位置(新主题已内置该优化项)。
- 搜索依赖
vuepress-plugin-search-pro改名为@vuepress/plugin-slimsearch;常规依赖更新。
博客样式结构大幅改版,模板与插件配置调整。
docs/.vuepress/theme.ts:调整plugins.mdEnhance、plugins.markdownImage、plugins.markdownHint配置。docs/.vuepress/styles/palette.scss:博客样式结构大幅改版,此后可直接替换此文件以更新样式。docs/.vuepress/templateBuild.html:调整网页模板head部分的样式定义,以适应新的页面布局。
- 常规依赖升级,并新增对
sass-embedded的依赖。