feat(website,docs,build): 首屏改成大标题 + 整行渐变填色,官网与文档站合并发布到 GitHub Pages
官网(`website/`)
- 首屏标题放大一档(`--fs-display` 上限 3.6rem → 4rem),第二行改成**整行渐变填色**,
照 ClassIsland 官网那种「大标题 + 中间一段渐变 + 一行副标 + 一排徽章 + 两个按钮」的写法;
- 标题下补一排 mono 芯片(版本 / Windows / Linux·Docker / 触摸屏),主按钮换成
「立即下载」+「GitHub 仓库」;
- 顶部导航与页脚补「文档站」入口;页脚原本指向 GitHub blob 的那三个链接改成指向文档站
—— 那几个文件已经移到 `docs/management/` 下,原链接是 404。
> ⚠ 渐变那一行**不参与逐字揭示**:`main.js` 的 `setupHeadlineReveal` 会跳过 `.reveal-grad`。
> 拆成 per-char 的 `inline-block` 之后每个字各自建一层合成,祖先的 `background-clip: text`
> 就穿不过去,渐变会整行失效 —— 所以它按整行入场(透明度 + 轻微上浮)。
站点发布(`.github/workflows/pages.yml`,取代 `docs.yml`)
- **一个仓库在 GitHub Pages 上只有一个站点**,所以官网与文档站拼成一份产物:
官网在根、文档站在 `/docs/` 下,组装逻辑在 `scripts/build-pages.mjs`;
- 站点根 404 由 `website/404.html` 提供(含 `{{BASE}}` 占位符,由脚本与 workflow 按仓库名注入);
- 官网目录里的 `serve.mjs` 与 `tools/` 是开发用的,不发布;
- `website/serve.mjs` 把 `../docs/_site` 挂在 `/docs/` 下,让本地预览与线上同形 ——
否则页脚那几个「文档站」链接在本地全是 404;
- 文档站模板顶栏补一个「官网」入口(`{{_rel}}../`)。
版本迭代
- `scripts/version.mjs` 补上**官网上手写的三处版本号**(顶栏徽标 / 首屏芯片 / 页脚)。
官网是纯静态站、没有构建步骤,没有哪段代码会去读 `package.json`,漏改的后果是
首页一直挂着旧版本号 —— 而那是别人看到的第一眼。落点从 10 处变成 13 处,
`AGENTS.md` §4.4 与 `docs/dev/release.md` 同步。
This commit is contained in:
1 parent
19c2aa07b2
commit
ded10118f5
15 files changed
+501
-83
No files matched your search
+21
-7
@@ -19,9 +19,9 @@ description: 改版本号、跑验收、打安装包、发 GitHub Release、发
|
||||
| 要给别人一份新安装包 | 只在自己机器上跑 |
|
||||
| 插件单独发补丁(只动插件第 4 段版本号) | — |
|
||||
|
||||
## 版本号写在哪(10 处)
|
||||
## 版本号写在哪(13 处 / 11 个文件)
|
||||
|
||||
同一个版本号出现在 10 个文件里,**手工改必然漏一处**,而漏掉的那处不会报错:
|
||||
同一个版本号分散在 13 个落点上,**手工改必然漏一处**,而漏掉的那处不会报错:
|
||||
|
||||
| 文件 | 内容 |
|
||||
| ---------------------------------------------------------------- | ------------------------------- |
|
||||
@@ -31,6 +31,10 @@ description: 改版本号、跑验收、打安装包、发 GitHub Release、发
|
||||
| `deploy/docker-compose.yml`、`docker-compose.sqlite.yml` | 镜像 tag 的默认值 |
|
||||
| `packages/classisland-plugin/manifest.yml` | 插件清单(四段:`x.y.z.0`) |
|
||||
| `packages/classisland-plugin/src/Services/BridgeService.cs` | 插件上报的 `PluginVersion` 常量 |
|
||||
| `website/index.html` × 3 | 官网顶栏徽标 / 首屏芯片 / 页脚 |
|
||||
|
||||
最后一行值得单独说:官网是**纯静态站、没有构建步骤**,没有哪段代码会去读 `package.json`,
|
||||
所以那三处只能靠脚本一起改 —— 漏了的话首页会一直挂着旧版本号,而那是别人看到的第一眼。
|
||||
|
||||
所以**改版本号的唯一入口是脚本**:
|
||||
|
||||
@@ -150,13 +154,23 @@ gh release upload v1.1.3 \
|
||||
gh workflow run release-linux-server.yml -f tag=v1.1.3 -f attach=true
|
||||
```
|
||||
|
||||
### 8. 文档站
|
||||
### 8. 官网与文档站
|
||||
|
||||
**不用做任何事。** 推送 master 时只要 `docs/**` 或 docs 的 workflow 变过,
|
||||
[`docs.yml`](https://github.com/LoveChengke/classhelper/blob/master/.github/workflows/docs.yml)
|
||||
会自动用 docfx 构建并部署到 GitHub Pages。
|
||||
**不用做任何事。** 推送 master 时只要 `website/**`、`docs/**`、`scripts/build-pages.mjs` 或
|
||||
`package.json` 变过,
|
||||
[`pages.yml`](https://github.com/LoveChengke/classhelper/blob/master/.github/workflows/pages.yml)
|
||||
就会把两者构建成**同一个** GitHub Pages 站点发出去:
|
||||
|
||||
文档站顶栏的版本徽标取自根 `package.json`,所以第 1 步改完就跟着变了。
|
||||
```
|
||||
https://lovechengke.github.io/ClassHelper/ ← 官网
|
||||
https://lovechengke.github.io/ClassHelper/docs/ ← 文档站
|
||||
```
|
||||
|
||||
(一个仓库在 Pages 上只有一个站点,所以是拼在一起发的 —— 官网在根、文档站在 `/docs/` 下。)
|
||||
|
||||
文档站顶栏的版本徽标取自根 `package.json`,所以第 1 步改完就跟着变了;
|
||||
官网首屏那排芯片、顶栏徽标与页脚里的版本号也是**由 `pnpm version:bump` 一起改的**
|
||||
(它们是那 13 个落点里的三个)。
|
||||
|
||||
### 9. 检查
|
||||
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@
|
||||
"_appFooter": "<div class=\"ch-footer\"><span>班级小助手(Class Helper)· 文档</span><span class=\"ch-footer-sep\">·</span><a href=\"https://github.com/LoveChengke/classhelper\">GitHub 仓库</a><span class=\"ch-footer-sep\">·</span><a href=\"https://github.com/LoveChengke/classhelper/releases\">下载与更新日志</a><span class=\"ch-footer-sep\">·</span><span>构建于 docfx</span></div>"
|
||||
},
|
||||
"sitemap": {
|
||||
"baseUrl": "https://lovechengke.github.io/ClassHelper/",
|
||||
"baseUrl": "https://lovechengke.github.io/ClassHelper/docs/",
|
||||
"changefreq": "weekly",
|
||||
"priority": 0.5
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* 文档站本地预览用的最小静态服务器(构建产物 docs/_site)。
|
||||
* 正式发布走 GitHub Pages(.github/workflows/docs.yml),不需要这个文件。
|
||||
* 正式发布走 GitHub Pages(.github/workflows/pages.yml:官网在根、文档站在 /docs/),不需要这个文件。
|
||||
*
|
||||
* node docs/build.mjs --serve → 构建后直接预览(推荐)
|
||||
* node docs/serve.mjs → http://127.0.0.1:5181(要求已经构建过)
|
||||
|
||||
@@ -100,6 +100,10 @@
|
||||
</form>
|
||||
{{/_enableSearch}}
|
||||
</div>
|
||||
<!-- 官网入口。文档站被发布在官网下面一层(<站点根>/docs/),所以从任意一页
|
||||
回到官网就是「先退到文档站根(_rel),再退一层」。这个耦合与控制它的
|
||||
.github/workflows/pages.yml 是同一件事,那边改布局这边要跟着改。 -->
|
||||
<a class="ch-nav-site" href="{{_rel}}../" title="产品官网">官网</a>
|
||||
<a class="ch-nav-github" href="https://github.com/LoveChengke/classhelper" target="_blank" rel="noopener noreferrer" title="GitHub 仓库" aria-label="GitHub 仓库">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="18" height="18" fill="currentColor" aria-hidden="true"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27s1.36.09 2 .27c1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8Z"/></svg>
|
||||
</a>
|
||||
|
||||
+20
-1
@@ -108,10 +108,29 @@ header.bg-body {
|
||||
color: var(--bs-secondary-color);
|
||||
}
|
||||
|
||||
/* 顶栏右侧那一组(官网链接 + GitHub 图标)。
|
||||
`margin-left: auto` 只挂在组里的**第一个**元素上 —— 挂两个各推各的会散开。 */
|
||||
.ch-nav-site {
|
||||
margin-left: auto;
|
||||
padding: 6px 10px;
|
||||
border-radius: 6px;
|
||||
font-size: 14px;
|
||||
color: var(--bs-secondary-color);
|
||||
text-decoration: none;
|
||||
white-space: nowrap;
|
||||
transition:
|
||||
color 0.15s ease,
|
||||
background-color 0.15s ease;
|
||||
}
|
||||
|
||||
.ch-nav-site:hover {
|
||||
color: var(--bs-body-color);
|
||||
background: var(--ch-accent-soft);
|
||||
}
|
||||
|
||||
.ch-nav-github {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
margin-left: auto;
|
||||
padding: 6px 8px;
|
||||
border-radius: 6px;
|
||||
color: var(--bs-secondary-color);
|
||||
|
||||
Reference in new issue
Block a user