Files
website/pages/projects/index.md
T
Dai0814 e4757446cf
mirror-to-gitee / mirror (push) Successful in 4s
feat(portal): 补入整站页脚,并让项目列表页不显示页脚
用户反馈 /projects/(项目列表)页底部的品牌/联系/版权区应该去掉。

背景:这几个文件此前一直未提交——远端仓库其实没有页脚,
PortalFooter.vue 只存在于本地,HEAD 版 index.ts 也没引用它。
所以本次把页脚整套补齐,再叠加「按页面决定是否展示」的逻辑。

新增/改动
- .vitepress/theme/components/PortalFooter.vue(新增,274 行)
  品牌区 + 产品体系/文档资源/关于我们/联系我们四栏 + 二维码浮层 + 版权条
- .vitepress/theme/styles/portal.css:补入全部 .pf-foot-* 样式(508 行)
  只搬运页脚相关规则,不夹带工作区里其它未提交的样式改动
- .vitepress/theme/index.ts:挂载页脚 + 页面级显隐判定
- pages/projects/index.md:frontmatter 加 footer: false

页脚显隐判定(isDocPage)
「文档型页面不挂页脚」——这类页面有左侧目录树、右侧本页目录、
底部上一页/下一页翻页,读者正在阅读流里,450px 的品牌收尾区是纯噪音。
命中任一条件即隐藏:
  1) 路径 /projects/<id>/manual/...
  2) frontmatter 有 sidebar / outline / aside
  3) frontmatter 显式 footer: false

frontmatter 的 footer 可双向覆盖(这解决了 /projects/ 的困境):
  该页有 outline: deep,按上面的规则本会被判成文档页而隐藏页脚,
  但它本质是「浏览页」,需要显式 footer: false 才符合预期。
  同理 footer: true 可强制显示。

验证(干净 clone 构建后实测)
- /projects/        无页脚(footer=false,无版权条)
- /                  有页脚(453px,渐变背景正常)
- 文档页(详情/对比/快速开始/手册)均无页脚
- 自定义整页(关于/联系/演示/官方文档)均有页脚
2026-11-06 13:39:41 +08:00

28 lines
1.1 KiB
Markdown

---
title: 全部项目
description: 雪羊科技开源项目清单
outline: deep
# 本页不挂整站页脚:清单页以「浏览项目」为主,底部紧接项目卡片收尾即可,
# 再叠一层品牌/联系/版权会把重点冲淡。
footer: false
---
# 全部项目
雪羊科技对外开源的物联网卡与设备管理平台。三个项目覆盖物联网卡管理、硬件设备管理与中后台开发底座,全部以 Apache-2.0 发布。
<ProjectList />
## 清单怎么维护
项目清单由站点源码里的单一注册表维护(`data/projects.ts`),首页卡片、侧边栏与本页都从它生成。
新增一个项目需要两步:
| 步骤 | 做什么 |
| --- | --- |
| 1 | 在 `data/projects.ts` 里加一条记录(名称、定位、说明、代码仓、许可证、技术栈、状态、详情页路径、子页面) |
| 2 | 写 `pages/projects/<id>/index.md` 详情页,有子页面则在记录的 `sections` 里登记 |
构建前会自动校验「注册表条目」与「详情页目录」是否一一对应,不一致直接报错,避免清单与页面脱节。