# 雪羊科技开源项目门户 开源项目门户站源码。当前收录 **iotLCM**(物联网卡全生命周期管理平台)、**秀杰 DTU 管理平台**、**XiuAdmin**(中后台开发框架)。 - 站点框架:VitePress 1.6(与 iotLCM 的文档站同构) - 产物:纯静态文件 - 许可:Apache-2.0 ## 目录 ```text . ├── data/projects.ts # 项目注册表 —— 门户唯一项目清单来源 ├── pages/ │ ├── index.md # 门户首页 │ ├── projects/index.md # 全部项目 │ ├── projects//index.md # 各项目详情页 │ ├── guide/portal-deploy.md # 门户自身的构建与部署 │ └── about.md # 关于、许可、贡献说明 ├── .vitepress/theme/components/ # 项目卡片与列表组件 ├── scripts/check-registry.mjs # 注册表与详情页一致性校验 ├── deploy/docker-compose.yml # 容器部署编排 └── Dockerfile # 多阶段构建镜像 ``` ## 新增一个项目 两步,不需要改动站点其它部分: 1. 在 `data/projects.ts` 里加一条记录(名称、定位、说明、代码仓、许可证、技术栈、状态、详情页路径、子页面) 2. 写 `pages/projects//index.md` 详情页 首页卡片、项目列表页、侧边栏都会自动带上新项目。 构建前会自动校验注册表与详情页目录是否一一对应,不一致直接报错: ```bash npm run check ``` ## 本地开发 ```bash npm ci npm run dev # http://127.0.0.1:5173 ``` ## 构建 ```bash npm run build # 产物在 .vitepress/dist/ ``` ## 部署 ```bash docker compose -f deploy/docker-compose.yml up -d --build ``` 默认发布在宿主机 `127.0.0.1:8020`。站点资源前缀由 `SITE_BASE` 决定: | 形态 | 参数 | 访问方式 | | --- | --- | --- | | 子路径(过渡,无独立域名) | `/www/`(默认) | 由已有网关转发 `/www/` 到本容器 | | 独立域名 | `/` | 域名根路径 | ```bash SITE_BASE=/ docker compose -f deploy/docker-compose.yml up -d --build ``` 详见 [门户部署](pages/guide/portal-deploy.md)。