Skip to content

Commit 679fa8e

Browse files
author
琪亚娜
committed
merge: 把 GitHub 上的 biome 版本对齐与源码格式化(f120ad5)+ README 去头图(b59f5ed)合并回来
2 parents d3d23a7 + b59f5ed commit 679fa8e

15 files changed

Lines changed: 168 additions & 65 deletions

File tree

‎.github/workflows/biome.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@ jobs:
1515
- name: Setup Biome
1616
uses: biomejs/setup-biome@f382a98e582959e6aaac8e5f8b17b31749018780 # v2.5.0
1717
with:
18-
version: latest
18+
version: 2.5.12 # Keep aligned with @biomejs/biome in package.json.
1919
- name: Run Biome
2020
run: biome ci ./src --reporter=github

‎README.md‎

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
<div align="center">
22

3-
<a href="https://imissblog.cn/">
4-
<img src="./src/assets/images/logo/imiss-light.webp" alt="IMiss Blog 纸飞机" width="112" />
5-
</a>
6-
73
<h1>IMiss Blog</h1>
84

5+
<p>
6+
<a href="https://github.com/HandlerOne01/IMiss_Blog/actions/workflows/build.yml"><img src="https://github.com/HandlerOne01/IMiss_Blog/actions/workflows/build.yml/badge.svg?branch=master" alt="Build and Check" /></a>
7+
<a href="https://github.com/HandlerOne01/IMiss_Blog/actions/workflows/biome.yml"><img src="https://github.com/HandlerOne01/IMiss_Blog/actions/workflows/biome.yml/badge.svg?branch=master" alt="Code quality" /></a>
8+
</p>
9+
910
<p><b>爱弥斯的小站 · 把学过的知识,写成可以再次出发的路。</b></p>
1011

1112
<p>以《鸣潮》角色爱弥斯为主题的个人技术博客,记录 C/C++、Linux、算法与 AI 应用。</p>
@@ -85,8 +86,8 @@
8586
需要 **Node.js ≥ 22.23** 和 **pnpm 11.x**。仓库声明的包管理器版本为 `pnpm@11.22.0`。
8687

8788
```bash
88-
git clone https://github.com/HandlerOne01/imiss_-blog.git
89-
cd imiss_-blog
89+
git clone https://github.com/HandlerOne01/IMiss_Blog.git
90+
cd IMiss_Blog
9091
pnpm install --frozen-lockfile
9192
pnpm dev
9293
```

‎biome.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"$schema": "https://biomejs.dev/schemas/2.5.10/schema.json",
2+
"$schema": "https://biomejs.dev/schemas/2.5.12/schema.json",
33
"vcs": {
44
"enabled": false,
55
"clientKind": "git",

‎src/components/controls/Search.svelte‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ const fallbackResult: SearchResult[] = import.meta.env.PROD
2828
{
2929
url: formatUrl("/"),
3030
meta: { title: "搜索暂时用不了" },
31-
excerpt: "站内搜索这会儿没能载入,你可以在「文章」下拉里按归档、分类或标签找。",
31+
excerpt:
32+
"站内搜索这会儿没能载入,你可以在「文章」下拉里按归档、分类或标签找。",
3233
},
3334
]
3435
: [

‎src/components/layout/WallpaperSection.astro‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,10 @@ const videoData = {
8484
// 开关**复用面板那个**(显示设置面板 → 壁纸 → 壁纸轮播),所以这里只搬三个值:
8585
// 能不能由访客切换、默认关还是默认开(= common.carousel.enable,本站 false)、
8686
// 以及视频自己的间隔(v1.119 起 30 秒;图片那套 5 秒对原画太凶)。夹到 ≥5000 防误配。
87-
carouselInterval: Math.max(5000, Number(videoConf?.carousel?.interval ?? 30000)),
87+
carouselInterval: Math.max(
88+
5000,
89+
Number(videoConf?.carousel?.interval ?? 30000),
90+
),
8891
carouselSwitchable: state.bannerCarouselSwitchable === true,
8992
carouselDefault: state.bannerCarouselEnabledDefault === true,
9093
};

‎src/components/pages/AdvancedSearch.svelte‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ const fallbackResult: SearchResult[] = import.meta.env.PROD
3333
{
3434
url: formatUrl("/"),
3535
meta: { title: "搜索暂时用不了" },
36-
excerpt: "站内搜索这会儿没能载入,你可以在「文章」下拉里按归档、分类或标签找。",
36+
excerpt:
37+
"站内搜索这会儿没能载入,你可以在「文章」下拉里按归档、分类或标签找。",
3738
},
3839
]
3940
: [

‎src/components/widget/SiteInfo.astro‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@ const unknownBuildPlatform =
6161
widgetConfig?.specificConfig?.siteInfo?.unknownBuildPlatform || "Unknown CI";
6262
// v1.117(P6-6):本站是自建部署(本地构建 → SSH 上传到腾讯云 Nginx),不在任何 CI 里,
6363
// 自动识别只会得到 "Local" —— 所以优先取配置里的显式值(见 sidebarConfig 的注释)。
64-
const buildPlatformOverride = widgetConfig?.specificConfig?.siteInfo?.buildPlatform;
64+
const buildPlatformOverride =
65+
widgetConfig?.specificConfig?.siteInfo?.buildPlatform;
6566
const buildPlatform =
6667
buildPlatformOverride?.trim() ||
6768
detectBuildPlatform({
@@ -108,7 +109,8 @@ const licenseName = licenseConfig.enable ? licenseConfig.name : "";
108109
// 保留不替换的:主题版本(读 package.json 的静态事实)与文章许可(本地配置)。
109110
// 部署完成后把 src/config/sidebarConfig.ts 里两处 siteInfo.placeholder 改成 false 即可回填真实值。
110111
// (这段必须放在 mainItems / detailItems 之前,两者都用到 ph())
111-
const placeholderMode = widgetConfig?.specificConfig?.siteInfo?.placeholder === true;
112+
const placeholderMode =
113+
widgetConfig?.specificConfig?.siteInfo?.placeholder === true;
112114
const PH = "—";
113115
const ph = (v: string): string => (placeholderMode ? PH : v);
114116

‎src/config/profileConfig.ts‎

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,27 @@ export const profileConfig: ProfileConfig = {
5050
// 名字在 `aria-label` 里(无障碍与悬停都能读到)。
5151
// ⚠️ 这 4 条同时进 JSON-LD 的 `Person.sameAs`(`filterAbsoluteLinks()`,见 schema-utils.ts)。
5252
links: [
53-
{ name: "Gitee", url: "https://gitee.com/a2186988646", icon: "simple-icons:gitee" },
53+
{
54+
name: "Gitee",
55+
url: "https://gitee.com/a2186988646",
56+
icon: "simple-icons:gitee",
57+
},
5458
// v1.122(2026-10-12):发起人「我的 github 链接变了」→ `a13824367931-alt` → `HandlerOne01`
5559
// (与 `navBarConfig.ts` 那一份**逐字一致**,R-WDG-05 会比对两者)
56-
{ name: "GitHub", url: "https://github.com/HandlerOne01", icon: "simple-icons:github" },
57-
{ name: "CSDN", url: "https://blog.csdn.net/is_ko_nois_ko", icon: "simple-icons:csdn" },
58-
{ name: "洛谷", url: "https://www.luogu.com.cn/user/1726221", icon: "simple-icons:luogu" },
60+
{
61+
name: "GitHub",
62+
url: "https://github.com/HandlerOne01",
63+
icon: "simple-icons:github",
64+
},
65+
{
66+
name: "CSDN",
67+
url: "https://blog.csdn.net/is_ko_nois_ko",
68+
icon: "simple-icons:csdn",
69+
},
70+
{
71+
name: "洛谷",
72+
url: "https://www.luogu.com.cn/user/1726221",
73+
icon: "simple-icons:luogu",
74+
},
5975
],
6076
};

‎src/config/roadmapConfig.ts‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,10 @@ export const roadmapConfig: RoadmapConfig = {
377377
// v1.84 新增:本站自己的使用与维护手册(发起人:「创作一篇文章……教使用者如何使用本站」)。
378378
// ⚠️ 它不是"第三个项目",所以单开一个阶段、并把这层意思写进上面那句 summary ——
379379
// 站内每一篇都必须能被路线页解释(R-PATH-04 的判据是"路线并集 == 站内总篇数")。
380-
{ title: "本站维护", stops: [s("project", "boke-shiyong-yu-weihu-shouce")] },
380+
{
381+
title: "本站维护",
382+
stops: [s("project", "boke-shiyong-yu-weihu-shouce")],
383+
},
381384
],
382385
},
383386
{

‎src/constants/booknav-brand-colors.ts‎

Lines changed: 52 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -49,20 +49,38 @@ export type BrandColorEntry = {
4949
};
5050

5151
export const BOOKNAV_BRAND_COLORS: Record<string, BrandColorEntry> = {
52-
DeepSeek: { light: "#4D6BFE", source: "DeepSeek 品牌蓝(官方站 / 开放平台同一套)" },
53-
ChatGPT: { light: "#10A37F", source: "OpenAI 品牌绿(openai.com 主色;ChatGPT 与 Platform 共用)" },
52+
DeepSeek: {
53+
light: "#4D6BFE",
54+
source: "DeepSeek 品牌蓝(官方站 / 开放平台同一套)",
55+
},
56+
ChatGPT: {
57+
light: "#10A37F",
58+
source: "OpenAI 品牌绿(openai.com 主色;ChatGPT 与 Platform 共用)",
59+
},
5460
Claude: { light: "#D97757", source: "Anthropic Claude 品牌橙(官方品牌色)" },
5561
Gemini: { light: "#8E75B2", source: "Google Gemini 品牌紫(渐变中段色)" },
5662
// ⚠️ Grok 在已装的 5 个图标包里没有独立图标(`grok` 不存在),用 xAI 的 X 标志
5763
// (`simple-icons:x`),因此配色也取 X 的官方蓝 —— 图标与颜色必须指同一个品牌。
5864
Grok: { light: "#1D9BF0", source: "X(xAI)官方蓝" },
59-
"即梦 AI": { light: "#325AB4", source: "字节跳动品牌蓝(即梦属字节,取母品牌蓝)" },
65+
"即梦 AI": {
66+
light: "#325AB4",
67+
source: "字节跳动品牌蓝(即梦属字节,取母品牌蓝)",
68+
},
6069
火山方舟: { light: "#1664FF", source: "火山引擎(Volcengine)品牌蓝" },
61-
"Hugging Face": { light: "#FFD21E", source: "Hugging Face 品牌黄(官方 emoji 底色)" },
70+
"Hugging Face": {
71+
light: "#FFD21E",
72+
source: "Hugging Face 品牌黄(官方 emoji 底色)",
73+
},
6274
// LangChain 三条(LangSmith / 中文文档 / 官方文档)同属一个品牌,共用墨绿
6375
LangSmith: { light: "#1C3C3C", source: "LangChain 官方墨绿" },
64-
"LangChain 中文文档": { light: "#1C3C3C", source: "LangChain 官方墨绿(同品牌)" },
65-
"LangChain 官方文档": { light: "#1C3C3C", source: "LangChain 官方墨绿(同品牌)" },
76+
"LangChain 中文文档": {
77+
light: "#1C3C3C",
78+
source: "LangChain 官方墨绿(同品牌)",
79+
},
80+
"LangChain 官方文档": {
81+
light: "#1C3C3C",
82+
source: "LangChain 官方墨绿(同品牌)",
83+
},
6684
// ⚠️ 这两个键是**同品牌另一条卡的别名**,不是新颜色:
6785
// `booknavConfig.ts` 里「DeepSeek 开放平台」写的是 `brandHex("DeepSeek 开放平台")`、
6886
// 「OpenAI Platform」写的是 `brandHex("OpenAI Platform")`(各自的卡名原文),
@@ -72,8 +90,14 @@ export const BOOKNAV_BRAND_COLORS: Record<string, BrandColorEntry> = {
7290
// 没有这两个键,「DeepSeek 开放平台」与「OpenAI Platform」两张卡会被**静默跳过核对**
7391
// (实测:26 张里只核对了 24 张,总数却照样显示"通过")。
7492
// · 别名键让"这两张卡该用哪个品牌色"在配置里一眼看得出,而不是靠读者去推断同品牌。
75-
"DeepSeek 开放平台": { light: "#4D6BFE", source: "DeepSeek 品牌蓝(同 DeepSeek,别名键)" },
76-
"OpenAI Platform": { light: "#10A37F", source: "OpenAI 品牌绿(同 ChatGPT,别名键)" },
93+
"DeepSeek 开放平台": {
94+
light: "#4D6BFE",
95+
source: "DeepSeek 品牌蓝(同 DeepSeek,别名键)",
96+
},
97+
"OpenAI Platform": {
98+
light: "#10A37F",
99+
source: "OpenAI 品牌绿(同 ChatGPT,别名键)",
100+
},
77101
洛谷: { light: "#2F80ED", source: "洛谷官方主色" },
78102
"力扣 LeetCode": { light: "#FFA116", source: "LeetCode 官方橙" },
79103
GitHub: { light: "#181717", source: "GitHub 品牌黑" },
@@ -82,10 +106,16 @@ export const BOOKNAV_BRAND_COLORS: Record<string, BrandColorEntry> = {
82106
// ⚠️ **第 21 条没有"官方品牌色"可查**:chat-sdk.dev 没有公开的品牌规范,
83107
// 任务书本身也标了"(无品牌)"。这里取 Tailwind indigo-500 作为显式占位,
84108
// 报告里点名说明 —— 它不是查到的事实。
85-
"Chat SDK": { light: "#6366F1", source: "无公开品牌规范 → 取 indigo-500 作为显式占位(报告中已点名)" },
109+
"Chat SDK": {
110+
light: "#6366F1",
111+
source: "无公开品牌规范 → 取 indigo-500 作为显式占位(报告中已点名)",
112+
},
86113
npm: { light: "#CB3837", source: "npm 官方红" },
87114
FreeCAD: { light: "#418FDE", source: "FreeCAD 官方蓝" },
88-
"腾讯位置服务 · 开发文档": { light: "#0052D9", source: "腾讯位置服务(lbs.qq.com)官方蓝" },
115+
"腾讯位置服务 · 开发文档": {
116+
light: "#0052D9",
117+
source: "腾讯位置服务(lbs.qq.com)官方蓝",
118+
},
89119
华为云: { light: "#CF0A2C", source: "华为 / 华为云官方红" },
90120
Docker: { light: "#2496ED", source: "Docker 官方蓝" },
91121
"Canva 可画": { light: "#00C4CC", source: "Canva 官方青" },
@@ -95,7 +125,11 @@ export const BOOKNAV_BRAND_COLORS: Record<string, BrandColorEntry> = {
95125
// 取不到任何官方图形;Google s2 兜底拿回来的是**通用地球占位图**(不是品牌图标,
96126
// 已按像素哈希识别并丢弃)。所以这一条按任务书允许的例外走**带品牌色的字母块**。
97127
// 品牌色取 violet-600 —— 这是"颜色待定"的显式选择,不是查到的事实,报告里点名说明。
98-
"BigME.Pro": { light: "#7C3AED", source: "站点不可达 → 品牌色不可考,取 violet-600 作为显式占位(报告中已点名)" },
128+
"BigME.Pro": {
129+
light: "#7C3AED",
130+
source:
131+
"站点不可达 → 品牌色不可考,取 violet-600 作为显式占位(报告中已点名)",
132+
},
99133
// ⚠️ 这一条是**有意不被配置引用**的(`booknavConfig.ts` 里腾讯云走本地 favicon `<img>`,
100134
// 自带真彩色,不需要 iconColor)。留着的理由:报告与断言要核对"腾讯云官方蓝"。
101135
// 所以 `reports/_bni-audit.mjs` 的"没被引用的键"检查里它是**已知白名单**。
@@ -108,9 +142,14 @@ export const BOOKNAV_BRAND_COLORS: Record<string, BrandColorEntry> = {
108142
// 第一版就是短名,实测总数停在 26(27 张 svg 只核对了 26 张)才发现。
109143
"MiniMax 媒体平台": {
110144
light: "#F52C6B",
111-
source: "MiniMax 官网(minimax.io / minimaxi.com)页面里出现的品牌粉红 #f52c6b(官网是渐变品牌色,无单一官方色值;这一支两个站点都有)",
145+
source:
146+
"MiniMax 官网(minimax.io / minimaxi.com)页面里出现的品牌粉红 #f52c6b(官网是渐变品牌色,无单一官方色值;这一支两个站点都有)",
147+
},
148+
腾讯云: {
149+
light: "#0052D9",
150+
source:
151+
"腾讯云官方蓝(本卡片用本地 favicon,仅作登记,不被 iconColor 引用)",
112152
},
113-
腾讯云: { light: "#0052D9", source: "腾讯云官方蓝(本卡片用本地 favicon,仅作登记,不被 iconColor 引用)" },
114153
};
115154

116155
/** 允许"登记了但不被任何 `iconColor` 引用"的键(其余键没被引用就是打错名字了) */

0 commit comments

Comments
 (0)