- 双引擎切换:一键切换 Google 和 Bing 搜索引擎
- 智能识别:自动识别网址和搜索关键词
- 快捷操作:回车即搜,流畅体验
- 全年视图:53周 × 7天的完整年度日历
- 多彩标记:
- 🔴 法定假期 - 红色标记
- 🔵 个人假期 - 蓝色标记
- ⚫ 调休工作日 - 深灰色标记
- 🟢 当前行程 - 绿色标记
- 🟡 计划行程 - 黄色标记
- 交互体验:
- 悬停显示详细信息
- 点击聚焦,周围渐变效果
- 自动定位到今天
- 今日高亮蓝色边框
- 桌面端:横向滚动的完整热力图
- 移动端:3列 × 4行的月度网格布局
- 自适应:完美适配各种屏幕尺寸
- 自定义数据源:支持本地或远程 JSON 文件
- URL 参数:通过
?holiday=your-data.json快速切换 - 持久化存储:配置自动保存到浏览器
- 克隆仓库
git clone https://github.com/tagorewang/go-holiday.git
cd go-holiday- 打开页面
# 直接用浏览器打开 index.html
open index.html # macOS
# 或
start index.html # Windows
# 或
xdg-open index.html # Linux# 使用 Python 启动本地服务器
python -m http.server 8000
# 或使用 Node.js
npx serve
# 然后访问 http://localhost:8000- 将项目部署到 GitHub Pages 或任意静态托管服务
- 在浏览器设置中将首页设为部署后的 URL
- 享受每次打开浏览器的愉悦体验 ✨
- 在搜索框输入关键词或网址
- 按
Enter键执行搜索或跳转 - 点击右上角开关切换搜索引擎
- 桌面端:鼠标悬停在日期格子上查看详情
- 移动端:点击日期格子显示信息
- 聚焦效果:点击任意日期,周围会产生渐变聚焦效果
- 点击右上角 ⚙️ 设置按钮
- 输入你的
holidays.json文件路径或 URL - 点击保存,页面自动刷新
{
"2026-01-01": {
"type": "holiday",
"name": "元旦"
},
"2026-02-14": {
"type": "personal",
"name": "情人节"
},
"2026-06-15": {
"type": "trip_current",
"name": "新疆旅行"
},
"2026-09-10": {
"type": "trip_next",
"name": "新加坡旅行"
},
"2026-01-04": {
"type": "workday",
"name": "调休补班"
},
"2026-10-20": {
"type": "color_life",
"name": "自定义事件",
"color": "#8E44ADCC"
}
}| 类型 | 说明 | 颜色 |
|---|---|---|
holiday |
法定假期 | 🔴 红色 |
personal |
个人假期 | 🔵 蓝色 |
workday |
调休工作日 | ⚫ 深灰色 |
trip_current |
当前行程 | 🟢 绿色 |
trip_next |
计划行程 | 🟡 黄色 |
color_life |
自定义颜色 | 🎨 由 color 字段决定(缺省为紫色) |
- 仅当
type为color_life(或填写了未知的 type)时,会读取同级的color字段作为格子颜色。 - 其余预制 type 的颜色固定,不受
color字段影响。 color支持格式:#RGB、#RGBA、#RRGGBB、#RRGGBBAA(#可省略),以及rgb()/rgba()/hsl()/hsla()。- 格式非法时自动回退到该 type 的默认颜色。
{
"2026-07-20": { "type": "color_life", "name": "生日", "color": "#ffffffff" },
"2026-07-21": { "type": "color_life", "name": "纪念日", "color": "rgba(255, 99, 132, 0.8)" }
}日期小于或等于「今天」的格子会自动轻微弱化:略微降低饱和度并叠加稍低的不透明度,用于表达「这段时间已经过去」。弱化幅度较小,原本的颜色依然清晰可辨,未来的日期则保持全饱和度显示。
# 使用自定义数据源
index.html?holiday=https://example.com/my-holidays.json
# 使用本地文件
index.html?holiday=my-custom-holidays.json
- HTML5 - 语义化结构
- Tailwind CSS - 原子化样式框架
- Vanilla JavaScript - 无依赖纯 JS
- Font Awesome - 图标库
- LocalStorage - 配置持久化
go-holiday/
├── index.html # 主页面
├── script.js # 核心逻辑
├── style.css # 自定义样式
├── holidays.json # 默认假期数据
├── .gitignore # Git 忽略配置
└── README.md # 项目文档
欢迎提交 Issue 和 Pull Request!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'feat: 添加某个很棒的特性') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
本项目采用 MIT License 开源协议。
这个项目的灵感来自于:
- GitHub 的贡献热力图
- Google 简洁的搜索首页
- 对美好假期的向往 🏖️