vitepress-allyouneed 0.5.0-beta.3 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +41 -0
- package/README.md +1 -1
- package/dist/index.cjs +5 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/markdown-it.cjs +4 -1
- package/dist/markdown-it.cjs.map +1 -1
- package/dist/markdown-it.js +4 -1
- package/dist/markdown-it.js.map +1 -1
- package/dist/vite.cjs +1 -1
- package/dist/vite.cjs.map +1 -1
- package/dist/vite.js +1 -1
- package/dist/vite.js.map +1 -1
- package/dist/vitepress.cjs +5 -2
- package/dist/vitepress.cjs.map +1 -1
- package/dist/vitepress.js +5 -2
- package/dist/vitepress.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,47 @@
|
|
|
2
2
|
|
|
3
3
|
本项目遵循 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/);版本号遵循 [SemVer](https://semver.org/lang/zh-CN/)。
|
|
4
4
|
|
|
5
|
+
## [0.5.1] - 2026-06-20
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
- **致命崩溃:wikilink 在 markdown link label / 嵌套方括号 / GFM 表格单元格里会让整个 `vitepress build`/`dev` 中止**,报错 `inline rule didn't increment state.pos`。
|
|
9
|
+
- 根因:wikilink 的 inline rule 在 **silent 模式**(markdown-it 的 `parseLinkLabel → skipToken` 会以 silent 模式逐个跑 inline rule 来扫描 `[...]` label)下直接 `return true` 而**没有推进 `state.pos`**,违反 markdown-it 契约(`parser_inline.skipToken` 在规则返回 true 但 pos 未前进时抛此错)。`[[` 的第一个 `[` 触发 link 核心规则的 label 扫描时即命中。
|
|
10
|
+
- 修复:silent 模式下也把 `state.pos` 推过闭合 `]]` 再返回 true(对齐 markdown-it 自带规则如 backtick 的做法:silent 也设 pos,仅把 token 产出门控在 `!silent`)。`![[embed]]` 同路径一并修复。
|
|
11
|
+
- 影响面:任何把 `[[...]]` 或 `![[...]]` 放进 markdown link label、嵌套 `[ ... ]`、或 GFM 表格单元格的文档,此前会整站构建失败;现在正常渲染。
|
|
12
|
+
- 新增 7 个回归测试锁定该行为。
|
|
13
|
+
|
|
14
|
+
## [0.5.0] - 2026-06-20
|
|
15
|
+
|
|
16
|
+
0.5.0 正式版。收口此前 4 个 beta(主题底层化 + `@layer`),并叠加图谱体验、UI 健壮性与文档站重做。
|
|
17
|
+
|
|
18
|
+
### 主题集成(自 0.5.0-beta.x)
|
|
19
|
+
- 全部 7 个 CSS 文件包进 `@layer vitepress-allyouneed`(浏览器原生 cascade layer,各文件头尾自包,不经 bundler 黑盒),用户 / 第三方主题的 unlayered CSS 自动覆盖,无需关心权重或加载顺序。
|
|
20
|
+
- 删除所有 `!important`。
|
|
21
|
+
- DocHeader banner 标题改用 `<div role="heading" aria-level="1">`,躲开 VitePress `.vp-doc h1` 选择器,让 layered 字号正确生效。
|
|
22
|
+
- 新 `defineTheme()` 工厂:零配置一行接入,或 `defineTheme({ extends: 第三方主题 })` 嵌套。
|
|
23
|
+
|
|
24
|
+
### 图谱体验
|
|
25
|
+
- 缩放时节点名平滑淡出 / 放大浮现 —— 修复此前缩小标签不变淡的 bug(SVG `opacity` 属性被 CSS 盖过,改用 CSS 变量 `--ayn-label-zoom` 驱动)。
|
|
26
|
+
- hover 稳定命中:每个节点加透明命中圈(半径 `max(可见+8, 12)`),小节点也好点;放大反馈改用 `transform: scale`,不改命中几何、不抖。
|
|
27
|
+
- 物理参数重调(更轻柔收敛),rAF 合帧渲染,ResizeObserver 防抖修自激循环;移动端容器高度自适应。
|
|
28
|
+
|
|
29
|
+
### 健壮性
|
|
30
|
+
- **死链预扫线性化**:`scan-wikilinks` 的行内代码剥离从带反向引用的正则改为线性扫描,杜绝大量未闭合反引号导致的 ReDoS。
|
|
31
|
+
- **dev asset 中间件**:用索引里的 size/mtime 出 ETag / 304 协商缓存(去掉每请求一次同步 statSync),basename 兜底收紧避免错配。
|
|
32
|
+
- **热更新**:`statSync` 仅在 `ENOENT` 时摘除文件,避免编辑器原子保存的临时错误误删索引。
|
|
33
|
+
- **视图数据校验**:`useVaultData` 校验 `nodes/edges/stats/tags/meta` 五字段齐全,损坏数据优雅报错而非整页崩。
|
|
34
|
+
- **日期统一 UTC 格式化**(DocHeader / Stats / Tags),消除 SSR 构建机与浏览器时区不一致的水合不匹配。
|
|
35
|
+
- Tags 单行内联标签上限 3 个 + “+N” 折叠;cover 图加载失败时占位底色改深色保证白字可读;字数统计改 `nextTick`+rAF + CJK 字符类扩展。
|
|
36
|
+
|
|
37
|
+
### 文档站
|
|
38
|
+
- 新增 **Showcase 功能展示区**(源码 + 实际渲染对照,覆盖全部功能)。
|
|
39
|
+
- **i18n 重构**:英文为默认(root),中文移到 `/zh/`,中英内容同步。
|
|
40
|
+
- 修正 docs 中过时描述(`%%注释%%` 默认保留为 HTML 注释、`[[note#^id]]` 暂不解析、`cssclasses` 未实现等),补 v0.4 / v0.5 changelog 与 tour。
|
|
41
|
+
|
|
42
|
+
### 工程
|
|
43
|
+
- `prepublishOnly` 钩子:发布前自动 clean + typecheck + build + test,杜绝发出未构建的空包。
|
|
44
|
+
- 版本号由 tsup 构建期从 `package.json` 注入(`__AYN_VERSION__`),源码不再硬编码。
|
|
45
|
+
|
|
5
46
|
## [0.5.0-beta.3] - 2026-05-22
|
|
6
47
|
|
|
7
48
|
### Fixed
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
Forked from [`actuallysomecat/markdown-it-wikilinks-plus`](https://github.com/actuallysomecat/markdown-it-wikilinks-plus) (MIT) 并针对 VitePress 大幅重写。
|
|
6
6
|
|
|
7
|
-
## 当前版本:0.5.
|
|
7
|
+
## 当前版本:0.5.1(2026-06-20)
|
|
8
8
|
|
|
9
9
|
**主题集成大改 —— 目标:让第三方 VitePress 主题作者不需要知道本插件存在**
|
|
10
10
|
|
package/dist/index.cjs
CHANGED
|
@@ -1355,7 +1355,10 @@ function makeWikilinkRule(scope) {
|
|
|
1355
1355
|
inner = src.slice(innerStart, closeIdx);
|
|
1356
1356
|
if (inner.includes("\n")) return false;
|
|
1357
1357
|
if (!inner.trim()) return false;
|
|
1358
|
-
if (silent)
|
|
1358
|
+
if (silent) {
|
|
1359
|
+
state.pos = closeIdx + 2;
|
|
1360
|
+
return true;
|
|
1361
|
+
}
|
|
1359
1362
|
const env = state.env;
|
|
1360
1363
|
if (!env || !env.index || !env.options) {
|
|
1361
1364
|
return false;
|
|
@@ -2284,7 +2287,7 @@ function renderTemplate(v) {
|
|
|
2284
2287
|
// src/core/views/generate-data.ts
|
|
2285
2288
|
var import_node_fs6 = __toESM(require("fs"), 1);
|
|
2286
2289
|
var import_node_path6 = __toESM(require("path"), 1);
|
|
2287
|
-
var PLUGIN_VERSION = true ? "0.5.
|
|
2290
|
+
var PLUGIN_VERSION = true ? "0.5.1" : "0.0.0-dev";
|
|
2288
2291
|
var WIKILINK_RE = /(!?)\[\[([^\]\n]+)\]\]/g;
|
|
2289
2292
|
var DEFAULT_BODY_TAG_RE = /(?:^|[\s([{,;。,;])#([\p{L}_][\p{L}\p{N}_/-]*)/gu;
|
|
2290
2293
|
function buildBodyTagRe(userPattern) {
|