武汉大学校历数据集合,支持导入各种日历应用,轻松管理学校日程。
本项目提供武汉大学官方校历的 iCalendar 格式数据,目前包含从 2021 年到 2026 年(持续更新中)的完整校历信息。
本项目使用数据驱动架构,所有校历数据均存储在 data/*.json 中。
注意:本项目仅提供校历数据,不保证数据的绝对实时性。请以武汉大学官方发布的最新校历为准。
- 官方数据源:基于武汉大学本科生院官方校历数据。
- Sunday-Start 规范:所有教学周严格从周日开始,到周六结束,完美契合武大作息。
- 现代化架构:采用 JSON 结构化存储,支持 1-indexed 月份表示,告别 JS Date 的 0 索引歧义。
- 自动更新:支持在线订阅,校历更新时自动同步。
- 网页预览:通过 calendar.whu.sb 动态加载并提供下载。
访问 项目主页 直接预览并下载所需的校历文件。
本项目也可以作为 NPM 包引入到你的项目中:
npm install @closedwhu/calendar
# 或者
pnpm add @closedwhu/calendar// 引入类型
import type { CalendarData } from '@closedwhu/calendar';
// 直接引入预编译的 JSON 格式历年数据
import allData from '@closedwhu/calendar/data';
import yearsList from '@closedwhu/calendar/years';
// 若配置了相应的打包工具,也可以直接引入 ICS 原始文本
import ics2024 from '@closedwhu/calendar/ics/2024-2025.ics';- 克隆项目
git clone https://github.com/ClosedWHU/WHU-Calendar.git
cd WHU-Calendar- 安装依赖
pnpm install- 构建项目
pnpm run buildwhu-calendar/
├── data/ # 结构化 JSON 校历数据
├── src/ # 引擎源文件
│ ├── engine.ts # 统一构建引擎
│ ├── check-alignment.ts # 自动对齐校验工具
│ └── check-legacy-parity.ts # 溯源审计工具
├── legacy/ # (弃用) 年度 TS 数据源
├── dist/ # 构建输出目录
│ ├── *.ics # 生成的 ICS 文件
│ ├── all.ics # 完整合集
│ └── years.json # 供前端使用的年份元数据
├── index.html # 项目主页
└── README.md
自 2026 年起,本项目弃用了 calendar_YYYY.ts 脚本方式,转而采用 JSON 数据驱动。
| 特性 | Legacy (TS) | Modern (JSON) |
|---|---|---|
| 存储方式 | 硬编码脚本 (legacy/*.ts) |
结构化数据 (data/*.json) |
| 月份索引 | 0-indexed (0=Jan) | 1-indexed (1=Jan) |
| 周起始日 | 视脚本而定 | 强制 Sunday (周日) |
| 校验机制 | 无 | 自动化脚本审计 |
- 在
data/目录下创建新的YYYY-YYYY.json文件(参考现有模板)。 - 日期规范:
- 月份使用真实数字(如 9 代表 9 月)。
- 每个学期的
start日期必须固定为该周的星期天。
- 运行
pnpm run build重新生成资源。 - 运行
npx tsx src/check-alignment.ts进行审计。
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
- 感谢武汉大学本科生院提供官方校历数据。
- 感谢所有贡献者的支持和建议。
- 项目主页:Calendar by WHU.sb
- 问题反馈:GitHub Issues