# 家庭教育日历

像「故宫日历」一样一天一页的家庭教育日历：**每天一句诗 + 一个全家的小约定**。
纯前端、双击即用（Chrome / Edge，file:// 直接打开，无需服务器、无需构建）。

产品是「**设计日历的工具**」：内容在设计台生产、发布为 JSON 内容包，翻阅台照包成书。
每年出一卷，同一套引擎，预览与成书逐字节一致。

## 快速开始

| 打开 | 文件 |
|---|---|
| **引导页**（推荐入口） | `node tools/server.js` → http://localhost:8007 |
| **翻阅台**（日常翻页/打卡/密语/打印） | `app/日历书.html` |
| **设计台**（内容生产与发布） | `app/设计台.html` |

双击 html 走 file:// 即用；引导页是本地预览服务（端口 **8007**，零依赖），启动时会打印手机可访问的局域网地址，页面上可一键装载内容包。

现成内容包：`app/内容包/2026Q4.json`（内置 2026 秋冬 92 页）与 `app/内容包/2027.json`（2027 全年 365 页 · 53 周）。
内容包可经设计台「导入 JSON」装载后重新发布，详见 [docs/使用说明.md](docs/使用说明.md)。

## 目录结构

```
家庭教育日历/
├── README.md               ← 本文件
├── index.html              ← 引导页（预览服务默认首页：入口 + 一键装载内容包）
├── app/                    ← 产品本体（两页一包 + 共享引擎）
│   ├── 设计台.html          # 内容编辑器（家长用）
│   ├── 日历书.html          # 翻阅台（全家用）
│   ├── 日历核心.js / .css   # 共享引擎：解析 + 渲染 + 校验（window.FamCal）
│   └── 内容包/              # famcal.pack v1 存档（2026Q4 / 2027）
├── docs/                   ← 文档
│   ├── 使用说明.md          # 生产流程、数据存放、密语、打印、开发者命令
│   ├── 命名与域名.md        # 品牌命名决策（尽调撞车表、候选、商标/域名清单）
│   ├── 密语表.md            # 2026Q4 每周密语明文（家长保管，勿入包）
│   ├── 密语表-2027.md       # 2027 全年 53 周密语明文（家长保管）
│   ├── 方案.md / 方案.docx  # 原始策划蓝本
│   ├── 需求.txt             # 最初需求
│   └── 档案/原型.html       # 第一版功能型原型（已废弃，仅存档）
└── tools/                  ← 构建与测试（Node，无第三方依赖）
    ├── core-template.js    # 引擎源模板（改引擎改这里）
    ├── regen-core.js       # 重新生成 app/日历核心.js + 92 页黄金回归
    ├── build2027.js        # 2027 内容包生产脚本（诗句/密语/断言）
    ├── test-viewer.js      # 翻阅台冒烟测试
    ├── test-editor.js      # 设计台冒烟测试
    ├── test-2027.js        # 2027 包端到端（4 种运行模式）
    ├── server.js           # 零依赖静态预览服务器（默认 8007，/ → index.html）
    ├── golden.json         # 92 页黄金基线（旧版逐字节快照）
    └── q4.js               # 一次性迁移工具（已存档，勿运行）
```

## 每日一页的结构

- **每日一句**：诗句/名言 + 出处，按月主题编排；
- **今日约定**：一件当天可执行的小事，可按 **学龄前 / 小学 / 初中** 三档切换；
- 每周节奏：周三聊天夜 · 周六活动日 · 周日家庭会议 · 周中习惯轮换；
- **密语彩蛋**：每周一个四字密语解锁奖励券与下周看点（包内只存哈希，明文仅家长侧 `密语表-*.md`）；
- 约定解析优先级：逐日覆写 > 节点（家庭>节日>节气）> 周节奏 > 兜底。

## 验证状态（2026-11-11）

- 新旧引擎 92 页黄金基线**逐字节一致**（`node tools/regen-core.js`）；
- 翻阅台 12 项、设计台 35 项、2027 包端到端 39 项（4 模式）、内容构建 29 项断言全部通过；
- 2027 历法双源核实（香港天文台 × 紫金山）：除夕=腊月廿九（无年三十）、10-08 寒露+重阳双节点等哨兵全过。

## 部署（可选）

纯静态，GitHub Pages / Cloudflare Pages 拖入 `app/` 即可，绑域名自动 HTTPS；
品牌与域名选型见 [docs/命名与域名.md](docs/命名与域名.md)。
