Skip to content

Commit b916aa1

Browse files
committed
docs: 套上 Pinia 风格的品牌主题,并修复内部链接 404
之前的文档站直接吃 VitePress 默认蓝色主题,logo 是个朴素的圆角方块,跟项目调性脱节。参考 Pinia 中文文档的视觉规格做了一组品牌化覆盖: 新建 docs/.vitepress/theme/ 扩展默认主题: - index.ts 走 extends DefaultTheme + 引入 style.css,VitePress 1.x 的标准做法 - style.css 覆盖 --vp-c-brand-1/2/3 + --vp-c-brand-soft + --vp-c-brand-mute 系列 token,浅色 teal 实色 (#0f766e / #115e59 / #134e4a),暗色切到 cyan tint (#2dd4bf / #14b8a6 / #0d9488),nav active / link / 按钮 / 进度条全部跟随 - 首页 hero name 用 --vp-home-hero-name-background linear-gradient 渲染成渐变文字(120deg teal → cyan),暗色另一组渐变 - hero image 后面铺一层 --vp-home-hero-image-background-image 双色对角光晕,blur 56-96px 随屏幕宽度递进 - .VPHomeHero .VPImage 加 6s 浮动动画 + drop-shadow 让 logo 真正"漂浮",浅暗各一份阴影色 - .VPFeature hover 抬升 -2px + 边框切品牌色 + 阴影 - :not(pre) > code 用 --vp-c-brand-mute 浅底 + 品牌色文字,行内代码视觉与品牌统一 logo 整体重做:原来是 teal 方块 + 白色棱镜 path,过于扁平。新版做成「光线穿过棱镜分散成彩虹」的等腰三角形棱镜: - 三角形主面用 5eead4 → 0f766e 渐变填充,右半侧叠 14b8a6 → 115e59 渐变 0.45 不透明度做立体感,外描边 0d9488 - 左侧一束白光从 (14, 92) 射入到 (84, 92) - 右侧五道彩色出射光:红 / 橙 / 绿 / 蓝 / 紫,对应 prism 物理上散射出的可见光 - viewBox 200×200,扩展图标(icons/*.png)不动,只改 docs/public/logo.svg 修复点击文档站内链接 404: - 删 cleanUrls: true(之前 cleanUrls=true 模式下 URL 不带 .html,但需要 server 端 rewrite 才能映射回 .html 文件,dev / preview / 静态托管支持程度不一致) - 把所有 markdown 内部链接补 .md 后缀(VitePress 默认会把 [xxx](./foo.md) 自动 rewrite 成 ./foo.html)。21 处分布在 6 个文件,用一行 node 脚本批改:跳过 trailing slash 的目录链接(/config/)、跳过 http(s):// 外链、跳过已 .md 结尾的,剩下的全部追加 .md 后缀 插件版本升级到 1.0.92。
1 parent f48ac74 commit b916aa1

11 files changed

Lines changed: 188 additions & 25 deletions

File tree

docs/.vitepress/config.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ export default defineConfig({
44
lang: 'zh-CN',
55
title: 'StackPrism',
66
description: '网页技术栈检测扩展 · 使用文档',
7-
cleanUrls: true,
87
lastUpdated: true,
98
head: [['meta', { name: 'theme-color', content: '#0f766e' }]],
109
themeConfig: {

docs/.vitepress/theme/index.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import DefaultTheme from 'vitepress/theme'
2+
import type { Theme } from 'vitepress'
3+
import './style.css'
4+
5+
export default {
6+
extends: DefaultTheme
7+
} satisfies Theme

docs/.vitepress/theme/style.css

Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
/**
2+
* VitePress 默认主题的 brand token 覆盖
3+
* 走 --vp-c-brand-* 让 nav active / link / 按钮 / 进度条等全部跟随
4+
* 浅色:teal 实色;暗色:cyan tint
5+
*/
6+
7+
:root {
8+
--vp-c-brand-1: #0f766e;
9+
--vp-c-brand-2: #115e59;
10+
--vp-c-brand-3: #134e4a;
11+
--vp-c-brand-soft: rgba(15, 118, 110, 0.14);
12+
--vp-c-brand-mute: rgba(15, 118, 110, 0.08);
13+
14+
/* nav / sidebar / footer 用这些品牌色派生 */
15+
--vp-c-text-1: #1f2937;
16+
--vp-c-text-2: #475569;
17+
--vp-c-text-3: #64748b;
18+
19+
/* button: cta */
20+
--vp-button-brand-border: transparent;
21+
--vp-button-brand-text: #ffffff;
22+
--vp-button-brand-bg: var(--vp-c-brand-1);
23+
--vp-button-brand-hover-border: transparent;
24+
--vp-button-brand-hover-text: #ffffff;
25+
--vp-button-brand-hover-bg: var(--vp-c-brand-2);
26+
--vp-button-brand-active-border: transparent;
27+
--vp-button-brand-active-text: #ffffff;
28+
--vp-button-brand-active-bg: var(--vp-c-brand-3);
29+
30+
/* 首页 hero 文本渐变(标题"StackPrism") */
31+
--vp-home-hero-name-color: transparent;
32+
--vp-home-hero-name-background: linear-gradient(120deg, #0f766e 30%, #14b8a6);
33+
34+
/* 首页 hero 图片背后的彩色光晕 */
35+
--vp-home-hero-image-background-image: linear-gradient(-45deg, #0f766e 50%, #2dd4bf 50%);
36+
--vp-home-hero-image-filter: blur(56px);
37+
38+
/* 自定义块(tip / warning / danger)的左侧条颜色跟着品牌色 */
39+
--vp-custom-block-tip-border: transparent;
40+
--vp-custom-block-tip-text: var(--vp-c-brand-2);
41+
--vp-custom-block-tip-bg: var(--vp-c-brand-soft);
42+
43+
/* 代码块标题与 background */
44+
--vp-code-tab-active-bar-color: var(--vp-c-brand-1);
45+
--vp-code-tab-active-text-color: var(--vp-c-text-1);
46+
}
47+
48+
.dark {
49+
--vp-c-brand-1: #2dd4bf;
50+
--vp-c-brand-2: #14b8a6;
51+
--vp-c-brand-3: #0d9488;
52+
--vp-c-brand-soft: rgba(45, 212, 191, 0.16);
53+
--vp-c-brand-mute: rgba(45, 212, 191, 0.08);
54+
55+
--vp-c-text-1: #e2e8f0;
56+
--vp-c-text-2: #cbd5e1;
57+
--vp-c-text-3: #94a3b8;
58+
59+
--vp-home-hero-name-background: linear-gradient(120deg, #2dd4bf 30%, #5eead4);
60+
--vp-home-hero-image-background-image: linear-gradient(-45deg, #2dd4bf 50%, #14b8a6 50%);
61+
--vp-home-hero-image-filter: blur(64px);
62+
}
63+
64+
@media (min-width: 640px) {
65+
:root {
66+
--vp-home-hero-image-filter: blur(72px);
67+
}
68+
}
69+
70+
@media (min-width: 960px) {
71+
:root {
72+
--vp-home-hero-image-filter: blur(96px);
73+
}
74+
}
75+
76+
/* 让 hero 图片漂浮:默认 svg 没有阴影/动效,加一个 idle 浮动 */
77+
.VPHomeHero .VPImage {
78+
animation: hero-float 6s ease-in-out infinite;
79+
filter: drop-shadow(0 18px 40px rgba(15, 118, 110, 0.3));
80+
}
81+
82+
.dark .VPHomeHero .VPImage {
83+
filter: drop-shadow(0 18px 40px rgba(45, 212, 191, 0.35));
84+
}
85+
86+
@keyframes hero-float {
87+
0%,
88+
100% {
89+
transform: translateY(0);
90+
}
91+
50% {
92+
transform: translateY(-10px);
93+
}
94+
}
95+
96+
/* feature 卡片:hover 抬升 + 边框跟随品牌色 */
97+
.VPFeature {
98+
transition:
99+
border-color 0.2s ease,
100+
transform 0.2s ease,
101+
box-shadow 0.2s ease;
102+
}
103+
104+
.VPFeature:hover {
105+
border-color: var(--vp-c-brand-2);
106+
transform: translateY(-2px);
107+
box-shadow: 0 12px 32px rgba(15, 118, 110, 0.12);
108+
}
109+
110+
.dark .VPFeature:hover {
111+
box-shadow: 0 12px 32px rgba(45, 212, 191, 0.18);
112+
}
113+
114+
/* 中文阅读:行高与字号微调 */
115+
:root {
116+
--vp-layout-max-width: 1440px;
117+
}
118+
119+
.VPDoc h1 {
120+
letter-spacing: -0.02em;
121+
}
122+
123+
.VPDoc h2 {
124+
letter-spacing: -0.01em;
125+
}
126+
127+
.VPDoc :not(pre) > code {
128+
background: var(--vp-c-brand-mute);
129+
color: var(--vp-c-brand-2);
130+
font-size: 0.86em;
131+
padding: 2px 6px;
132+
border-radius: 4px;
133+
}
134+
135+
.dark .VPDoc :not(pre) > code {
136+
color: var(--vp-c-brand-1);
137+
}

docs/config/index.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44

55
设置页分四个 panel:
66

7-
- [识别开关](./categories) — 22 个分类的启停(关掉后该分类的技术不再显示在弹窗里)
8-
- [禁用指定技术](./disabled-technologies) — 用名字精确屏蔽某些技术(无视分类)
9-
- [自定义弹窗样式](./custom-css) — 写一段 CSS 覆盖弹窗 / 设置页样式
10-
- [自定义规则](./custom-rules) — 用表单或 JSON 添加自己的识别规则
11-
- [规则 JSON 导入导出](./json-export) — 在多浏览器 / 多设备同步规则集合
7+
- [识别开关](./categories.md) — 22 个分类的启停(关掉后该分类的技术不再显示在弹窗里)
8+
- [禁用指定技术](./disabled-technologies.md) — 用名字精确屏蔽某些技术(无视分类)
9+
- [自定义弹窗样式](./custom-css.md) — 写一段 CSS 覆盖弹窗 / 设置页样式
10+
- [自定义规则](./custom-rules.md) — 用表单或 JSON 添加自己的识别规则
11+
- [规则 JSON 导入导出](./json-export.md) — 在多浏览器 / 多设备同步规则集合
1212

1313
## 配置存储位置
1414

docs/dev/contribute-rules.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
}
5050
```
5151

52-
字段含义见 [规则文件格式](./rule-format)
52+
字段含义见 [规则文件格式](./rule-format.md)
5353

5454
## 在哪个 group 里?
5555

docs/dev/index.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44

55
## 章节
66

7-
- [架构概览](./architecture) — 项目目录结构、各模块职责、数据流
8-
- [规则文件格式](./rule-format)`public/rules/` 下 JSON 怎么组织,nested groups + defaults 继承
9-
- [检测流程](./detection-flow) — 从 webRequest / 页面注入到弹窗渲染走过哪些环节
10-
- [贡献规则](./contribute-rules) — 怎么往内置规则集合加新技术
11-
- [构建与发布](./release) — 本地构建、打包、签 crx、release workflow
7+
- [架构概览](./architecture.md) — 项目目录结构、各模块职责、数据流
8+
- [规则文件格式](./rule-format.md)`public/rules/` 下 JSON 怎么组织,nested groups + defaults 继承
9+
- [检测流程](./detection-flow.md) — 从 webRequest / 页面注入到弹窗渲染走过哪些环节
10+
- [贡献规则](./contribute-rules.md) — 怎么往内置规则集合加新技术
11+
- [构建与发布](./release.md) — 本地构建、打包、签 crx、release workflow
1212

1313
## 一句话技术栈
1414

docs/guide/basic-usage.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ React [高置信度]
6464
[🔍 搜索] [📄 原始线索] GitHub
6565
```
6666

67-
左侧两个工具按钮,详情见 [辅助工具](./tools)。点击后会从底部滑出抽屉式面板,再点同个按钮 / 点抽屉里的 X 关闭。
67+
左侧两个工具按钮,详情见 [辅助工具](./tools.md)。点击后会从底部滑出抽屉式面板,再点同个按钮 / 点抽屉里的 X 关闭。
6868

6969
## 滚动行为
7070

docs/guide/index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44

55
## 章节
66

7-
- [安装与启用](./install) — 三种安装方式(Chrome Web Store、Edge 商店、本地加载)
8-
- [基本使用](./basic-usage) — 弹窗里五个区域是干什么的
9-
- [结果解读](./results) — 置信度、证据、来源、纠正按钮怎么看
10-
- [辅助工具](./tools) — 网页源代码搜索、原始线索面板、复制检测 JSON
7+
- [安装与启用](./install.md) — 三种安装方式(Chrome Web Store、Edge 商店、本地加载)
8+
- [基本使用](./basic-usage.md) — 弹窗里五个区域是干什么的
9+
- [结果解读](./results.md) — 置信度、证据、来源、纠正按钮怎么看
10+
- [辅助工具](./tools.md) — 网页源代码搜索、原始线索面板、复制检测 JSON
1111

1212
## 一句话上手
1313

docs/index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@ StackPrism 是一个 Chrome MV3 扩展。打开任意网页,点击插件弹窗
4545

4646
## 怎么用
4747

48-
- 第一次使用?看 [安装与启用](/guide/install)
49-
- 想添加自己的识别规则?看 [自定义规则](/config/custom-rules)
50-
- 想知道 28000 条规则怎么组织?看 [规则文件格式](/dev/rule-format)
51-
- 想给项目贡献规则?看 [贡献规则](/dev/contribute-rules)
48+
- 第一次使用?看 [安装与启用](/guide/install.md)
49+
- 想添加自己的识别规则?看 [自定义规则](/config/custom-rules.md)
50+
- 想知道 28000 条规则怎么组织?看 [规则文件格式](/dev/rule-format.md)
51+
- 想给项目贡献规则?看 [贡献规则](/dev/contribute-rules.md)
5252

5353
## 为什么
5454

docs/public/logo.svg

Lines changed: 23 additions & 3 deletions
Loading

0 commit comments

Comments
 (0)