feat(website): 官网首页首屏下面直接接一段下载区(版本 + 装什么 + 卡片)

- 首屏下面新增 `#download` 一整段,与 /download.html 是同一套类名、同一个 `assets/download.js`:
  访客不跳页就能下;完整的下载页仍然保留(顶栏「下载」指着它);
- `download.js` 改成两个页面都能跑:首屏那颗主按钮只有下载页有,所以它不再是必需元素 ——
  之前首页没有它,整个脚本会静默 return,那一段什么也不渲染;
- **兜底版本号改成"读页面自己显示的那一份"**:下载页读 `<meta name="ch-version">`,
  首页读顶栏那个版本徽标(`.brand-ver`)。两个都是 `pnpm version:bump` 的既有落点,
  所以不必为首页再添一个手写版本号(落点数仍是 14);
- 顺带:首页那条 Linux 安装命令现在也会跟着选中版本钉上 `--version`(原先不带);
- 修一处"字看着被切断":两个分段控件是**横滚**的,而滚动条被藏了起来
  (`scrollbar-width: none`),装不下时末尾那个版本号就是硬切一刀、还没有任何提示。
  现在溢出时右边缘淡出,滚到最右自动撤销;主按钮下面那行 mono 文件名也从 0.68rem 提到
  0.75rem(它原本是全站最小的字,再小就看着像被裁掉一截)。
This commit is contained in:
LoveChengke committed 2026-10-06 19:56:51 +08:00
1 parent 9d5ac7adf9
commit e51879667a
3 files changed
+110 -19

No files matched your search

+41
View File
@@ -182,6 +182,46 @@
</div>
</section>
<!-- ═══════════════════════ 下载:首屏下面直接给安装包 ═══════════════════════
与 /download.html 是同一段(同一套类名、同一个 assets/download.js)——
放这儿是为了让访客不跳页就能下;完整的下载页仍然保留(顶栏「下载」指着它)。 -->
<section class="band band-paper" id="download">
<div class="wrap">
<h2 class="h2">装什么,挑一下</h2>
<p class="lead narrow">
四个交付物互不依赖安装顺序,但
<strong>服务端要先有一台机器跑着</strong>
,另外三个才连得上。 下面的版本与文件清单是当场从本仓库的 GitHub Releases
读出来的:显示什么,就真能下到什么。
</p>
<!-- 版本选择:Tab 由 assets/download.js 按发布列表建出来 -->
<div class="dl-pick">
<p class="sr-only" id="ver-label">选择版本</p>
<div class="dl-seg" role="tablist" aria-labelledby="ver-label" id="ver-tabs">
<span class="dl-seg-indicator" id="ver-indicator" aria-hidden="true"></span>
</div>
<p class="dl-pick-note" id="ver-note" role="status">正在读取版本列表……</p>
</div>
<div class="dl-groups">
<p class="dl-pick-label" id="group-label">装什么</p>
<div class="dl-seg" role="tablist" aria-labelledby="group-label" id="group-tabs">
<span class="dl-seg-indicator" id="group-indicator" aria-hidden="true"></span>
<button class="dl-seg-item" type="button" role="tab" data-value="client">客户端</button>
<button class="dl-seg-item" type="button" role="tab" data-value="server">服务端</button>
<button class="dl-seg-item" type="button" role="tab" data-value="plugin">插件</button>
</div>
<p class="dl-pick-note" id="group-note" role="status"></p>
</div>
<!-- 卡片由 assets/download.js 按「当前版本 + 当前分组」渲染 -->
<div class="dl-grid" id="dl-grid" role="tabpanel" tabindex="0" aria-live="polite"></div>
<p class="dl-note" id="dl-note"></p>
</div>
</section>
<!-- 分幕标题:居中大标题 + 中间一段渐变高亮(照 ClassIsland 官网的分节写法) -->
<section class="band act" aria-label="第一部分:它是怎么工作的">
<div class="wrap">
@@ -680,5 +720,6 @@
<script src="assets/motion.js" defer></script>
<script src="assets/main.js" defer></script>
<script src="assets/download.js" defer></script>
</body>
</html>