pi-web-ui 0.78.0 → 0.79.0
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 +19 -3
- package/package.json +4 -1
- package/themes/mist.css +179 -0
- package/themes/paper.css +179 -0
- package/themes/sakura.css +179 -0
- package/web/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/web/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/web/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/web/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/web/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/web/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/web/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/web/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/web/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/web/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/web/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/web/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/web/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/web/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/web/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/web/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/web/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/web/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/web/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/web/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/web/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/web/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/web/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/web/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/web/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/web/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/web/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/web/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/web/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/web/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/web/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/web/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/web/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/web/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/web/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/web/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/web/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/web/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/web/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/web/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/web/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/web/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/web/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/web/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/web/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/web/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/web/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/web/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/web/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/web/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/web/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/web/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/web/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/web/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/web/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/web/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/web/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/web/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/web/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/web/dist/assets/{TerminalPanel-DCQcbf-J.js → TerminalPanel-BYigWYyx.js} +1 -1
- package/web/dist/assets/index-D7BpHJ59.js +347 -0
- package/web/dist/assets/index-GKv6Qo91.css +10 -0
- package/web/dist/assets/markdown-D3PKeHAZ.js +311 -0
- package/web/dist/assets/{react-CtudoG1_.js → react-w24rH0km.js} +1 -1
- package/web/dist/index.html +4 -4
- package/web/dist/assets/index-CaC1cuAF.css +0 -10
- package/web/dist/assets/index-SREmjZgY.js +0 -346
- package/web/dist/assets/markdown-Cpo0pNcR.js +0 -51
package/CHANGELOG.md
CHANGED
|
@@ -8,9 +8,24 @@
|
|
|
8
8
|
每个版本的内容按"实际合入该版本发布的提交"归档(以 `package.json` 的 version 变更提交为准),
|
|
9
9
|
而不是按提交日期聚类——连续快速发布的 patch 版本以此为准最准确。
|
|
10
10
|
|
|
11
|
-
## [
|
|
11
|
+
## [0.79.0] — 2026-09-11
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- 聊天消息支持渲染 LaTeX 公式(issue #116):`$...$` 行内、`$$...$$` 独立行块走 KaTeX 渲染(`remark-math + rehype-katex`,字体随包离线可用);代码围栏/行内 code 不受影响,公式写坏了只显示红色源码不打断整条消息。
|
|
16
|
+
- 排队/插队气泡新增「撤回」按钮 ↩(#118):点一下把该条消息从队列取回、文字落回输入框(输入框非空时追加到末尾,绝不覆盖正在打的字),改完直接重发;连续撤回多条按序追加。队列里只存文本,撤回只回文字(附件不恢复)。
|
|
17
|
+
- 新增 paper(暖纸)/ mist(雾蓝灰)/ sakura(樱粉)三套浅色主题:主题切换器与 `make-light-theme.mjs` 生成器同步增强,终端配色跟随主题;`vscode-editor` / `db-client` 插件同步跟随亮色(见下 Fixed)。
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
|
|
21
|
+
- `vscode-editor` 插件跟随亮色主题:之前文件树/标签栏/弹窗底色引用了主应用不存在的 `--bg-elev0/1` 变量,亮色下永远回退到深色硬编码值;编辑器(CodeMirror `oneDark`)与底部 SSH 终端配色也是写死的深色。现在底色改走 `--bg/--bg-elev`,编辑器亮色用跟随 `--bg/--text/--accent` 的浅色壳(暗色仍是 `oneDark`,Compartment 热切换),终端读 `--term-*` 调色板;主应用切换主题时(`pi-web-ui:theme-change`)已打开的编辑器与存活终端一起换肤,无需重载。
|
|
22
|
+
- `db-client` 插件跟随亮色主题:同上,文件树/主区/表头/弹窗输入框底色引用的 `--bg-elev0/1` 改走 `--bg/--bg-elev`(该插件无自绘深色组件,一次变量映射即完整跟随)。
|
|
23
|
+
|
|
24
|
+
<!-- auto-i18n:start -->
|
|
25
|
+
### i18n
|
|
26
|
+
|
|
27
|
+
- 前端新增 key(1):`queueRecallTip`
|
|
28
|
+
<!-- auto-i18n:end -->
|
|
14
29
|
|
|
15
30
|
## [0.78.0] — 2026-09-11
|
|
16
31
|
|
|
@@ -450,7 +465,8 @@
|
|
|
450
465
|
- 0.35.1(2026-08-27):编辑重问保留附件(#18)+ 全窗口拖放(#19)。
|
|
451
466
|
- 0.29.0(2026-08-23):全局搜索弹窗(Ctrl+K)+ 消息列表惰性窗口化。
|
|
452
467
|
|
|
453
|
-
[Unreleased]: https://github.com/xing-shuyin/pi-web-ui/compare/v0.
|
|
468
|
+
[Unreleased]: https://github.com/xing-shuyin/pi-web-ui/compare/v0.79.0...main
|
|
469
|
+
[0.79.0]: https://github.com/xing-shuyin/pi-web-ui/releases/tag/v0.79.0
|
|
454
470
|
[0.78.0]: https://github.com/xing-shuyin/pi-web-ui/releases/tag/v0.78.0
|
|
455
471
|
[0.77.0]: https://github.com/xing-shuyin/pi-web-ui/releases/tag/v0.77.0
|
|
456
472
|
[0.76.0]: https://github.com/xing-shuyin/pi-web-ui/releases/tag/v0.76.0
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-web-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.79.0",
|
|
4
4
|
"description": "Web chat interface for the pi coding agent, powered by the pi SDK (@earendil-works/pi-coding-agent) — one-command run, Docker/systemd/launchd deployable",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -83,15 +83,18 @@
|
|
|
83
83
|
"compression": "^1.8.1",
|
|
84
84
|
"express": "^4.21.2",
|
|
85
85
|
"highlight.js": "^11.10.0",
|
|
86
|
+
"katex": "^0.16.47",
|
|
86
87
|
"node-pty": "^1.1.0",
|
|
87
88
|
"react": "^18.3.1",
|
|
88
89
|
"react-dom": "^18.3.1",
|
|
89
90
|
"react-icons": "^5.7.0",
|
|
90
91
|
"react-markdown": "^9.0.1",
|
|
91
92
|
"rehype-highlight": "^7.0.1",
|
|
93
|
+
"rehype-katex": "^7.0.1",
|
|
92
94
|
"rehype-raw": "^7.0.0",
|
|
93
95
|
"remark-breaks": "^4.0.0",
|
|
94
96
|
"remark-gfm": "^4.0.0",
|
|
97
|
+
"remark-math": "^6.0.0",
|
|
95
98
|
"typebox": "^1.3.14",
|
|
96
99
|
"ws": "^8.18.0"
|
|
97
100
|
},
|
package/themes/mist.css
ADDED
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/* theme-name: 雾蓝灰 */
|
|
2
|
+
/* theme-name-en: Misty Blue Gray */
|
|
3
|
+
:root {
|
|
4
|
+
color-scheme: light;
|
|
5
|
+
--bg: #e9eef4;
|
|
6
|
+
--bg-elev: #f8fafc;
|
|
7
|
+
--bg-elev2: #dde5ec;
|
|
8
|
+
--border: #cbd5e1;
|
|
9
|
+
--border-soft: #dde5ec;
|
|
10
|
+
--text: #1e293b;
|
|
11
|
+
--text-dim: #475569;
|
|
12
|
+
--text-faint: #94a3b8;
|
|
13
|
+
--accent: #0284c7;
|
|
14
|
+
--accent-soft: rgba(2, 132, 199, 0.12);
|
|
15
|
+
--green: #059669;
|
|
16
|
+
--green-soft: rgba(5, 150, 105, 0.12);
|
|
17
|
+
--red: #dc2626;
|
|
18
|
+
--red-soft: rgba(220, 38, 38, 0.1);
|
|
19
|
+
--amber: #d97706;
|
|
20
|
+
--term-bg: #f8fafc;
|
|
21
|
+
--term-fg: #1e293b;
|
|
22
|
+
--term-cursor: #0284c7;
|
|
23
|
+
--term-cursor-accent: #ffffff;
|
|
24
|
+
--term-selection: rgba(2, 132, 199, 0.28);
|
|
25
|
+
--term-black: #dbe3ec;
|
|
26
|
+
--term-red: #dc2626;
|
|
27
|
+
--term-green: #059669;
|
|
28
|
+
--term-yellow: #d97706;
|
|
29
|
+
--term-blue: #2563eb;
|
|
30
|
+
--term-magenta: #9333ea;
|
|
31
|
+
--term-cyan: #0e7490;
|
|
32
|
+
--term-white: #1e293b;
|
|
33
|
+
--term-bright-black: #94a3b8;
|
|
34
|
+
--term-bright-red: #dc2626;
|
|
35
|
+
--term-bright-green: #059669;
|
|
36
|
+
--term-bright-yellow: #d97706;
|
|
37
|
+
--term-bright-blue: #2563eb;
|
|
38
|
+
--term-bright-magenta: #9333ea;
|
|
39
|
+
--term-bright-cyan: #0e7490;
|
|
40
|
+
--term-bright-white: #020617;
|
|
41
|
+
--mono: "SF Mono", "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
|
|
42
|
+
--mermaid-font-size: 12px;
|
|
43
|
+
--tooltip-bg: #ffffff;
|
|
44
|
+
--code-bg: #dde5ec;
|
|
45
|
+
--code-text: #1e293b;
|
|
46
|
+
--code-border: var(--border-soft);
|
|
47
|
+
--code-pad: 8px 10px;
|
|
48
|
+
--card-body-pad: 4px 14px 12px;
|
|
49
|
+
--err-text: #dc2626;
|
|
50
|
+
--red-text: #dc2626;
|
|
51
|
+
--amber-text: #b45309;
|
|
52
|
+
--info-blue: #2563eb;
|
|
53
|
+
--link: #0284c7;
|
|
54
|
+
--link-hover: #0369a1;
|
|
55
|
+
--link-soft: #0284c7;
|
|
56
|
+
--md-strong: #0f172a;
|
|
57
|
+
--skill-blue: #0284c7;
|
|
58
|
+
--plugin-purple: #b58cff;
|
|
59
|
+
--auth-green: #059669;
|
|
60
|
+
--scroll-thumb: #b6c2d1;
|
|
61
|
+
--scroll-thumb-hover: #94a3b8;
|
|
62
|
+
--notice-err-bg: #f9dee0;
|
|
63
|
+
--notice-warn-bg: #f0e6cb;
|
|
64
|
+
--notice-info-bg: #d9e6f5;
|
|
65
|
+
--notice-err-border: #dc2626;
|
|
66
|
+
--notice-warn-border: #b45309;
|
|
67
|
+
--notice-info-border: #2563eb;
|
|
68
|
+
--send-blue: #0284c7;
|
|
69
|
+
--send-blue-hover: #0369a1;
|
|
70
|
+
--brand-grad-a: #38bdf8;
|
|
71
|
+
--brand-grad-b: #0284c7;
|
|
72
|
+
--on-amber: #1a1a1a;
|
|
73
|
+
--search-active-fg: #1a1d26;
|
|
74
|
+
--switch-knob: #ffffff;
|
|
75
|
+
--bg-elev3: rgba(30, 58, 95, 0.05);
|
|
76
|
+
--glow-015: rgba(30, 58, 95, 0.02);
|
|
77
|
+
--glow-025: rgba(30, 58, 95, 0.02);
|
|
78
|
+
--glow-03: rgba(30, 58, 95, 0.02);
|
|
79
|
+
--glow-04: rgba(30, 58, 95, 0.03);
|
|
80
|
+
--glow-05: rgba(30, 58, 95, 0.03);
|
|
81
|
+
--glow-12: rgba(30, 58, 95, 0.08);
|
|
82
|
+
--glow-18: rgba(30, 58, 95, 0.12);
|
|
83
|
+
--glow-22: rgba(30, 58, 95, 0.15);
|
|
84
|
+
--glow-38: rgba(30, 58, 95, 0.25);
|
|
85
|
+
--control-fg: #475569;
|
|
86
|
+
--control-bg: #dde5ec;
|
|
87
|
+
--control-border: #cbd5e1;
|
|
88
|
+
--bg-image: none;
|
|
89
|
+
--bg-image-dim: 0.78;
|
|
90
|
+
--bg-image-blur: 0px;
|
|
91
|
+
--wallpaper-panel-alpha: 62%;
|
|
92
|
+
--topbar-bg: color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
93
|
+
--statusbar-bg: color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
94
|
+
--panel-bg: color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
95
|
+
--card-bg: color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
96
|
+
--chip-bg: color-mix(in srgb, var(--bg-elev2) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
97
|
+
--msgs-bg: color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
98
|
+
--inputbox-bg: color-mix(in srgb, var(--bg-elev2) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
99
|
+
--menu-bg: var(--bg-elev2);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/* ---- syntax highlighting (overrides static github-dark import) ---- */
|
|
103
|
+
.hljs {
|
|
104
|
+
color: #1e293b;
|
|
105
|
+
background: #dde5ec;
|
|
106
|
+
}
|
|
107
|
+
.hljs-doctag,
|
|
108
|
+
.hljs-keyword,
|
|
109
|
+
.hljs-meta .hljs-keyword,
|
|
110
|
+
.hljs-template-tag,
|
|
111
|
+
.hljs-template-variable,
|
|
112
|
+
.hljs-type,
|
|
113
|
+
.hljs-variable.language_ {
|
|
114
|
+
color: #cf222e;
|
|
115
|
+
}
|
|
116
|
+
.hljs-title,
|
|
117
|
+
.hljs-title.class_,
|
|
118
|
+
.hljs-title.class_.inherited__,
|
|
119
|
+
.hljs-title.function_ {
|
|
120
|
+
color: #8250df;
|
|
121
|
+
}
|
|
122
|
+
.hljs-attr,
|
|
123
|
+
.hljs-attribute,
|
|
124
|
+
.hljs-literal,
|
|
125
|
+
.hljs-meta,
|
|
126
|
+
.hljs-number,
|
|
127
|
+
.hljs-operator,
|
|
128
|
+
.hljs-variable,
|
|
129
|
+
.hljs-selector-attr,
|
|
130
|
+
.hljs-selector-class,
|
|
131
|
+
.hljs-selector-id {
|
|
132
|
+
color: #0550ae;
|
|
133
|
+
}
|
|
134
|
+
.hljs-regexp,
|
|
135
|
+
.hljs-string,
|
|
136
|
+
.hljs-meta .hljs-string {
|
|
137
|
+
color: #0a3069;
|
|
138
|
+
}
|
|
139
|
+
.hljs-built_in,
|
|
140
|
+
.hljs-symbol {
|
|
141
|
+
color: #953800;
|
|
142
|
+
}
|
|
143
|
+
.hljs-comment,
|
|
144
|
+
.hljs-code,
|
|
145
|
+
.hljs-formula {
|
|
146
|
+
color: #7c8da0;
|
|
147
|
+
}
|
|
148
|
+
.hljs-name,
|
|
149
|
+
.hljs-quote,
|
|
150
|
+
.hljs-selector-tag,
|
|
151
|
+
.hljs-selector-pseudo {
|
|
152
|
+
color: #116329;
|
|
153
|
+
}
|
|
154
|
+
.hljs-subst {
|
|
155
|
+
color: #1e293b;
|
|
156
|
+
}
|
|
157
|
+
.hljs-section {
|
|
158
|
+
color: #0550ae;
|
|
159
|
+
font-weight: 700;
|
|
160
|
+
}
|
|
161
|
+
.hljs-bullet {
|
|
162
|
+
color: #0550ae;
|
|
163
|
+
}
|
|
164
|
+
.hljs-emphasis {
|
|
165
|
+
color: #1e293b;
|
|
166
|
+
font-style: italic;
|
|
167
|
+
}
|
|
168
|
+
.hljs-strong {
|
|
169
|
+
color: #1e293b;
|
|
170
|
+
font-weight: 700;
|
|
171
|
+
}
|
|
172
|
+
.hljs-addition {
|
|
173
|
+
color: #116329;
|
|
174
|
+
background: #d7e9db;
|
|
175
|
+
}
|
|
176
|
+
.hljs-deletion {
|
|
177
|
+
color: #82071e;
|
|
178
|
+
background: #f2d3d6;
|
|
179
|
+
}
|
package/themes/paper.css
ADDED
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/* theme-name: 暖纸 */
|
|
2
|
+
/* theme-name-en: Warm Paper */
|
|
3
|
+
:root {
|
|
4
|
+
color-scheme: light;
|
|
5
|
+
--bg: #f7f1e3;
|
|
6
|
+
--bg-elev: #fffdf6;
|
|
7
|
+
--bg-elev2: #efe7d3;
|
|
8
|
+
--border: #ddcfae;
|
|
9
|
+
--border-soft: #e7dcc2;
|
|
10
|
+
--text: #3f372c;
|
|
11
|
+
--text-dim: #6f6250;
|
|
12
|
+
--text-faint: #a2937a;
|
|
13
|
+
--accent: #b45309;
|
|
14
|
+
--accent-soft: rgba(180, 83, 9, 0.12);
|
|
15
|
+
--green: #15803d;
|
|
16
|
+
--green-soft: rgba(21, 128, 61, 0.12);
|
|
17
|
+
--red: #b91c1c;
|
|
18
|
+
--red-soft: rgba(185, 28, 28, 0.1);
|
|
19
|
+
--amber: #d97706;
|
|
20
|
+
--term-bg: #f7f1e3;
|
|
21
|
+
--term-fg: #3f372c;
|
|
22
|
+
--term-cursor: #b45309;
|
|
23
|
+
--term-cursor-accent: #fffdf6;
|
|
24
|
+
--term-selection: rgba(180, 83, 9, 0.28);
|
|
25
|
+
--term-black: #e2d5b8;
|
|
26
|
+
--term-red: #b91c1c;
|
|
27
|
+
--term-green: #15803d;
|
|
28
|
+
--term-yellow: #a16207;
|
|
29
|
+
--term-blue: #1d4ed8;
|
|
30
|
+
--term-magenta: #9333ea;
|
|
31
|
+
--term-cyan: #0e7490;
|
|
32
|
+
--term-white: #3f372c;
|
|
33
|
+
--term-bright-black: #a2937a;
|
|
34
|
+
--term-bright-red: #b91c1c;
|
|
35
|
+
--term-bright-green: #15803d;
|
|
36
|
+
--term-bright-yellow: #a16207;
|
|
37
|
+
--term-bright-blue: #1d4ed8;
|
|
38
|
+
--term-bright-magenta: #9333ea;
|
|
39
|
+
--term-bright-cyan: #0e7490;
|
|
40
|
+
--term-bright-white: #1c1917;
|
|
41
|
+
--mono: "SF Mono", "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
|
|
42
|
+
--mermaid-font-size: 12px;
|
|
43
|
+
--tooltip-bg: #fffdf6;
|
|
44
|
+
--code-bg: #efe7d3;
|
|
45
|
+
--code-text: #43382c;
|
|
46
|
+
--code-border: var(--border-soft);
|
|
47
|
+
--code-pad: 8px 10px;
|
|
48
|
+
--card-body-pad: 4px 14px 12px;
|
|
49
|
+
--err-text: #b91c1c;
|
|
50
|
+
--red-text: #b91c1c;
|
|
51
|
+
--amber-text: #92400e;
|
|
52
|
+
--info-blue: #1d4ed8;
|
|
53
|
+
--link: #9a3412;
|
|
54
|
+
--link-hover: #7c2d12;
|
|
55
|
+
--link-soft: #9a3412;
|
|
56
|
+
--md-strong: #292019;
|
|
57
|
+
--skill-blue: #b45309;
|
|
58
|
+
--plugin-purple: #b58cff;
|
|
59
|
+
--auth-green: #15803d;
|
|
60
|
+
--scroll-thumb: #d3c4a3;
|
|
61
|
+
--scroll-thumb-hover: #b8a67f;
|
|
62
|
+
--notice-err-bg: #f5dcd2;
|
|
63
|
+
--notice-warn-bg: #f0e5c8;
|
|
64
|
+
--notice-info-bg: #e6dfc9;
|
|
65
|
+
--notice-err-border: #b91c1c;
|
|
66
|
+
--notice-warn-border: #b45309;
|
|
67
|
+
--notice-info-border: #57534e;
|
|
68
|
+
--send-blue: #b45309;
|
|
69
|
+
--send-blue-hover: #92400e;
|
|
70
|
+
--brand-grad-a: #d97706;
|
|
71
|
+
--brand-grad-b: #b45309;
|
|
72
|
+
--on-amber: #1a1a1a;
|
|
73
|
+
--search-active-fg: #1a1d26;
|
|
74
|
+
--switch-knob: #ffffff;
|
|
75
|
+
--bg-elev3: rgba(120, 90, 30, 0.06);
|
|
76
|
+
--glow-015: rgba(120, 90, 30, 0.02);
|
|
77
|
+
--glow-025: rgba(120, 90, 30, 0.02);
|
|
78
|
+
--glow-03: rgba(120, 90, 30, 0.02);
|
|
79
|
+
--glow-04: rgba(120, 90, 30, 0.03);
|
|
80
|
+
--glow-05: rgba(120, 90, 30, 0.03);
|
|
81
|
+
--glow-12: rgba(120, 90, 30, 0.08);
|
|
82
|
+
--glow-18: rgba(120, 90, 30, 0.12);
|
|
83
|
+
--glow-22: rgba(120, 90, 30, 0.15);
|
|
84
|
+
--glow-38: rgba(120, 90, 30, 0.25);
|
|
85
|
+
--control-fg: #6f6250;
|
|
86
|
+
--control-bg: #efe7d3;
|
|
87
|
+
--control-border: #ddcfae;
|
|
88
|
+
--bg-image: none;
|
|
89
|
+
--bg-image-dim: 0.78;
|
|
90
|
+
--bg-image-blur: 0px;
|
|
91
|
+
--wallpaper-panel-alpha: 62%;
|
|
92
|
+
--topbar-bg: color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
93
|
+
--statusbar-bg: color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
94
|
+
--panel-bg: color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
95
|
+
--card-bg: color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
96
|
+
--chip-bg: color-mix(in srgb, var(--bg-elev2) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
97
|
+
--msgs-bg: color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
98
|
+
--inputbox-bg: color-mix(in srgb, var(--bg-elev2) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
99
|
+
--menu-bg: var(--bg-elev2);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/* ---- syntax highlighting (overrides static github-dark import) ---- */
|
|
103
|
+
.hljs {
|
|
104
|
+
color: #3f372c;
|
|
105
|
+
background: #efe7d3;
|
|
106
|
+
}
|
|
107
|
+
.hljs-doctag,
|
|
108
|
+
.hljs-keyword,
|
|
109
|
+
.hljs-meta .hljs-keyword,
|
|
110
|
+
.hljs-template-tag,
|
|
111
|
+
.hljs-template-variable,
|
|
112
|
+
.hljs-type,
|
|
113
|
+
.hljs-variable.language_ {
|
|
114
|
+
color: #cf222e;
|
|
115
|
+
}
|
|
116
|
+
.hljs-title,
|
|
117
|
+
.hljs-title.class_,
|
|
118
|
+
.hljs-title.class_.inherited__,
|
|
119
|
+
.hljs-title.function_ {
|
|
120
|
+
color: #8250df;
|
|
121
|
+
}
|
|
122
|
+
.hljs-attr,
|
|
123
|
+
.hljs-attribute,
|
|
124
|
+
.hljs-literal,
|
|
125
|
+
.hljs-meta,
|
|
126
|
+
.hljs-number,
|
|
127
|
+
.hljs-operator,
|
|
128
|
+
.hljs-variable,
|
|
129
|
+
.hljs-selector-attr,
|
|
130
|
+
.hljs-selector-class,
|
|
131
|
+
.hljs-selector-id {
|
|
132
|
+
color: #0550ae;
|
|
133
|
+
}
|
|
134
|
+
.hljs-regexp,
|
|
135
|
+
.hljs-string,
|
|
136
|
+
.hljs-meta .hljs-string {
|
|
137
|
+
color: #0a3069;
|
|
138
|
+
}
|
|
139
|
+
.hljs-built_in,
|
|
140
|
+
.hljs-symbol {
|
|
141
|
+
color: #953800;
|
|
142
|
+
}
|
|
143
|
+
.hljs-comment,
|
|
144
|
+
.hljs-code,
|
|
145
|
+
.hljs-formula {
|
|
146
|
+
color: #8a7d64;
|
|
147
|
+
}
|
|
148
|
+
.hljs-name,
|
|
149
|
+
.hljs-quote,
|
|
150
|
+
.hljs-selector-tag,
|
|
151
|
+
.hljs-selector-pseudo {
|
|
152
|
+
color: #116329;
|
|
153
|
+
}
|
|
154
|
+
.hljs-subst {
|
|
155
|
+
color: #3f372c;
|
|
156
|
+
}
|
|
157
|
+
.hljs-section {
|
|
158
|
+
color: #0550ae;
|
|
159
|
+
font-weight: 700;
|
|
160
|
+
}
|
|
161
|
+
.hljs-bullet {
|
|
162
|
+
color: #0550ae;
|
|
163
|
+
}
|
|
164
|
+
.hljs-emphasis {
|
|
165
|
+
color: #3f372c;
|
|
166
|
+
font-style: italic;
|
|
167
|
+
}
|
|
168
|
+
.hljs-strong {
|
|
169
|
+
color: #3f372c;
|
|
170
|
+
font-weight: 700;
|
|
171
|
+
}
|
|
172
|
+
.hljs-addition {
|
|
173
|
+
color: #116329;
|
|
174
|
+
background: #dfe8cf;
|
|
175
|
+
}
|
|
176
|
+
.hljs-deletion {
|
|
177
|
+
color: #82071e;
|
|
178
|
+
background: #f0d4c4;
|
|
179
|
+
}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/* theme-name: 樱粉 */
|
|
2
|
+
/* theme-name-en: Sakura Pink */
|
|
3
|
+
:root {
|
|
4
|
+
color-scheme: light;
|
|
5
|
+
--bg: #fdf2f5;
|
|
6
|
+
--bg-elev: #fffbfc;
|
|
7
|
+
--bg-elev2: #f8e2e8;
|
|
8
|
+
--border: #eccdd6;
|
|
9
|
+
--border-soft: #f4dde3;
|
|
10
|
+
--text: #4a2b35;
|
|
11
|
+
--text-dim: #7d5561;
|
|
12
|
+
--text-faint: #b08e98;
|
|
13
|
+
--accent: #db2777;
|
|
14
|
+
--accent-soft: rgba(219, 39, 119, 0.12);
|
|
15
|
+
--green: #059669;
|
|
16
|
+
--green-soft: rgba(5, 150, 105, 0.12);
|
|
17
|
+
--red: #e11d48;
|
|
18
|
+
--red-soft: rgba(225, 29, 72, 0.1);
|
|
19
|
+
--amber: #d97706;
|
|
20
|
+
--term-bg: #fffbfc;
|
|
21
|
+
--term-fg: #4a2b35;
|
|
22
|
+
--term-cursor: #db2777;
|
|
23
|
+
--term-cursor-accent: #ffffff;
|
|
24
|
+
--term-selection: rgba(219, 39, 119, 0.28);
|
|
25
|
+
--term-black: #eed3dc;
|
|
26
|
+
--term-red: #e11d48;
|
|
27
|
+
--term-green: #059669;
|
|
28
|
+
--term-yellow: #d97706;
|
|
29
|
+
--term-blue: #2563eb;
|
|
30
|
+
--term-magenta: #c026d3;
|
|
31
|
+
--term-cyan: #0e7490;
|
|
32
|
+
--term-white: #4a2b35;
|
|
33
|
+
--term-bright-black: #b08e98;
|
|
34
|
+
--term-bright-red: #e11d48;
|
|
35
|
+
--term-bright-green: #059669;
|
|
36
|
+
--term-bright-yellow: #d97706;
|
|
37
|
+
--term-bright-blue: #2563eb;
|
|
38
|
+
--term-bright-magenta: #c026d3;
|
|
39
|
+
--term-bright-cyan: #0e7490;
|
|
40
|
+
--term-bright-white: #2a1219;
|
|
41
|
+
--mono: "SF Mono", "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
|
|
42
|
+
--mermaid-font-size: 12px;
|
|
43
|
+
--tooltip-bg: #fffbfc;
|
|
44
|
+
--code-bg: #f8e2e8;
|
|
45
|
+
--code-text: #4a2b35;
|
|
46
|
+
--code-border: var(--border-soft);
|
|
47
|
+
--code-pad: 8px 10px;
|
|
48
|
+
--card-body-pad: 4px 14px 12px;
|
|
49
|
+
--err-text: #e11d48;
|
|
50
|
+
--red-text: #e11d48;
|
|
51
|
+
--amber-text: #b45309;
|
|
52
|
+
--info-blue: #2563eb;
|
|
53
|
+
--link: #be185d;
|
|
54
|
+
--link-hover: #9d174d;
|
|
55
|
+
--link-soft: #be185d;
|
|
56
|
+
--md-strong: #3a1c25;
|
|
57
|
+
--skill-blue: #db2777;
|
|
58
|
+
--plugin-purple: #b58cff;
|
|
59
|
+
--auth-green: #059669;
|
|
60
|
+
--scroll-thumb: #dfb9c4;
|
|
61
|
+
--scroll-thumb-hover: #c795a3;
|
|
62
|
+
--notice-err-bg: #f9dfe4;
|
|
63
|
+
--notice-warn-bg: #f3e7cf;
|
|
64
|
+
--notice-info-bg: #eadff0;
|
|
65
|
+
--notice-err-border: #e11d48;
|
|
66
|
+
--notice-warn-border: #b45309;
|
|
67
|
+
--notice-info-border: #a855f7;
|
|
68
|
+
--send-blue: #db2777;
|
|
69
|
+
--send-blue-hover: #be185d;
|
|
70
|
+
--brand-grad-a: #f472b6;
|
|
71
|
+
--brand-grad-b: #db2777;
|
|
72
|
+
--on-amber: #1a1a1a;
|
|
73
|
+
--search-active-fg: #1a1d26;
|
|
74
|
+
--switch-knob: #ffffff;
|
|
75
|
+
--bg-elev3: rgba(150, 50, 90, 0.05);
|
|
76
|
+
--glow-015: rgba(150, 50, 90, 0.02);
|
|
77
|
+
--glow-025: rgba(150, 50, 90, 0.02);
|
|
78
|
+
--glow-03: rgba(150, 50, 90, 0.02);
|
|
79
|
+
--glow-04: rgba(150, 50, 90, 0.03);
|
|
80
|
+
--glow-05: rgba(150, 50, 90, 0.03);
|
|
81
|
+
--glow-12: rgba(150, 50, 90, 0.08);
|
|
82
|
+
--glow-18: rgba(150, 50, 90, 0.12);
|
|
83
|
+
--glow-22: rgba(150, 50, 90, 0.15);
|
|
84
|
+
--glow-38: rgba(150, 50, 90, 0.25);
|
|
85
|
+
--control-fg: #7d5561;
|
|
86
|
+
--control-bg: #f8e2e8;
|
|
87
|
+
--control-border: #eccdd6;
|
|
88
|
+
--bg-image: none;
|
|
89
|
+
--bg-image-dim: 0.78;
|
|
90
|
+
--bg-image-blur: 0px;
|
|
91
|
+
--wallpaper-panel-alpha: 62%;
|
|
92
|
+
--topbar-bg: color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
93
|
+
--statusbar-bg: color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
94
|
+
--panel-bg: color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
95
|
+
--card-bg: color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
96
|
+
--chip-bg: color-mix(in srgb, var(--bg-elev2) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
97
|
+
--msgs-bg: color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
98
|
+
--inputbox-bg: color-mix(in srgb, var(--bg-elev2) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
99
|
+
--menu-bg: var(--bg-elev2);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/* ---- syntax highlighting (overrides static github-dark import) ---- */
|
|
103
|
+
.hljs {
|
|
104
|
+
color: #4a2b35;
|
|
105
|
+
background: #f8e2e8;
|
|
106
|
+
}
|
|
107
|
+
.hljs-doctag,
|
|
108
|
+
.hljs-keyword,
|
|
109
|
+
.hljs-meta .hljs-keyword,
|
|
110
|
+
.hljs-template-tag,
|
|
111
|
+
.hljs-template-variable,
|
|
112
|
+
.hljs-type,
|
|
113
|
+
.hljs-variable.language_ {
|
|
114
|
+
color: #cf222e;
|
|
115
|
+
}
|
|
116
|
+
.hljs-title,
|
|
117
|
+
.hljs-title.class_,
|
|
118
|
+
.hljs-title.class_.inherited__,
|
|
119
|
+
.hljs-title.function_ {
|
|
120
|
+
color: #8250df;
|
|
121
|
+
}
|
|
122
|
+
.hljs-attr,
|
|
123
|
+
.hljs-attribute,
|
|
124
|
+
.hljs-literal,
|
|
125
|
+
.hljs-meta,
|
|
126
|
+
.hljs-number,
|
|
127
|
+
.hljs-operator,
|
|
128
|
+
.hljs-variable,
|
|
129
|
+
.hljs-selector-attr,
|
|
130
|
+
.hljs-selector-class,
|
|
131
|
+
.hljs-selector-id {
|
|
132
|
+
color: #0550ae;
|
|
133
|
+
}
|
|
134
|
+
.hljs-regexp,
|
|
135
|
+
.hljs-string,
|
|
136
|
+
.hljs-meta .hljs-string {
|
|
137
|
+
color: #0a3069;
|
|
138
|
+
}
|
|
139
|
+
.hljs-built_in,
|
|
140
|
+
.hljs-symbol {
|
|
141
|
+
color: #953800;
|
|
142
|
+
}
|
|
143
|
+
.hljs-comment,
|
|
144
|
+
.hljs-code,
|
|
145
|
+
.hljs-formula {
|
|
146
|
+
color: #a78b93;
|
|
147
|
+
}
|
|
148
|
+
.hljs-name,
|
|
149
|
+
.hljs-quote,
|
|
150
|
+
.hljs-selector-tag,
|
|
151
|
+
.hljs-selector-pseudo {
|
|
152
|
+
color: #116329;
|
|
153
|
+
}
|
|
154
|
+
.hljs-subst {
|
|
155
|
+
color: #4a2b35;
|
|
156
|
+
}
|
|
157
|
+
.hljs-section {
|
|
158
|
+
color: #0550ae;
|
|
159
|
+
font-weight: 700;
|
|
160
|
+
}
|
|
161
|
+
.hljs-bullet {
|
|
162
|
+
color: #0550ae;
|
|
163
|
+
}
|
|
164
|
+
.hljs-emphasis {
|
|
165
|
+
color: #4a2b35;
|
|
166
|
+
font-style: italic;
|
|
167
|
+
}
|
|
168
|
+
.hljs-strong {
|
|
169
|
+
color: #4a2b35;
|
|
170
|
+
font-weight: 700;
|
|
171
|
+
}
|
|
172
|
+
.hljs-addition {
|
|
173
|
+
color: #116329;
|
|
174
|
+
background: #ddefdc;
|
|
175
|
+
}
|
|
176
|
+
.hljs-deletion {
|
|
177
|
+
color: #82071e;
|
|
178
|
+
background: #f4cdd6;
|
|
179
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|