About / 关于本站
让每一个浙大开源项目,
都能被找到。
求是开源是一个静态的浙江大学开源项目索引。它不托管代码,也不替项目做宣传,只做三件事:把项目按场景归类,记录它们最近是否仍在维护,并让搜索变得足够快。
这是什么
浙江大学每年都会产生大量课程资料、科研代码、校园工具与效率脚本。它们散落在不同的组织和个人仓库里,很多项目生态位重叠,也有很多已经停止维护。这个站点试图给出一张持续更新的地图。
- 在做新项目之前,先确认是否已经有人做过类似的事。
- 在选用一个项目之前,先判断它是否仍在维护。
- 在寻找学习资料或校园工具时,按分类和标签快速筛选。
维护状态如何判定
每次构建时,站点会读取 GitHub 仓库的默认分支提交时间与最近 90 天提交数量,并结合仓库是否归档,给出一个粗略但直观的维护状态。它不是质量评分,也不代表项目是否适合生产使用。
最近更新时间取默认分支最新提交时间,失败时回退到 GitHub 的 pushed_at。已归档仓库会明确标注为“已归档”,即使它仍然可以正常使用。
数据从哪里来
项目的基本信息来自仓库内的src/data/projects.ts,包括名称、简介、分类、标签与链接。Stars、语言、归档状态、最近提交时间与提交频率在构建时从 GitHub 获取。
构建结果会写入src/generated/repository-stats.json作为缓存。网络不可用或触发速率限制时,页面会继续使用上一次成功同步的数据,因此构建不会因为 GitHub 暂时不可达而失败。
最近一次同步时间:2026.11.04 21:14。当前收录 140 个项目,其中 96 个在最近一年内有提交。
如何收录一个项目
收录标准很宽松:只要项目与浙江大学有关,并且公开可访问,就可以提交。课程作业、科研代码、校园工具、模板与资源集合都欢迎。
- 打开 src/data/projects.ts,按现有格式添加一条项目记录。
- 填写唯一的 slug、仓库的 owner/name、中文简介、分类与至少一个标签。
- 如果项目有部署网站或下载地址,填写到 links.website 或 links.download。
- 运行 pnpm check,然后提交 Pull Request。
{
slug: "my-zju-project",
name: "My ZJU Project",
description: "一句话说明这个项目解决了什么问题。",
repo: "owner/repo",
category: "study",
tags: ["课程资料", "工具"],
links: { website: "https://example.com" },
}如果项目已经不存在、仓库迁移或分类不合适,也可以直接提交修改。收录不是排名,所有项目按最近更新排序,已归档项目会自动沉底。
技术栈
站点使用 Astro 静态生成,Tailwind CSS v4 负责样式,HeroUI v3 提供框架无关的 BEM 组件样式,Lucide 图标通过 astro-icon 管理。页面切换由 Swup 控制,搜索与筛选完全在浏览器端完成,不依赖服务端。
项目数据与展示逻辑按 DDD + MVC 分层:领域层定义项目、分类与维护状态,应用层负责组装与搜索,基础设施层负责 GitHub 同步,表现层负责 Astro 组件与浏览器控制器。
许可与声明
本站代码以GPL-3.0许可发布。项目名称、简介、链接与统计数据仅用于索引与展示,版权归各自作者所有。维护状态只是自动化判断,不构成对项目质量的保证。
收录范围以公开可访问为准,收录不代表推荐、审核或保证合规。部分自动化脚本可能违反平台规则或学术诚信要求,请自行判断并承担使用后果。
本站不是浙江大学官方项目,也不代表学校立场。如果你不希望自己的项目被收录,可以通过仓库 Issue 或 Pull Request 联系我们移除。