# old-almanac **Repository Path**: zhoupc/old-almanac ## Basic Information - **Project Name**: old-almanac - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-28 - **Last Updated**: 2026-10-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OldAlmanac 老黄历 / 万年历,纯静态单页应用(`index.html` + `lunar.js` + `calendar-templates.json` 等),无构建步骤,但**需通过 HTTP 访问**(见下)。 ## 本地运行(macOS) 页面用 `fetch` 读取 `couplets.json`、`calendar-templates.json` 等数据,浏览器在 `file://` 下会以跨源(origin `null`)为由拦截这些请求,导致对联/解梦回退兜底文案、日历模板无法加载。所以**不要双击打开 `index.html`**,请起一个本地 HTTP 服务: **方式一(推荐)**:双击 `start-macos.command`——Terminal 会自动起服务并打开浏览器,关闭窗口或 `Ctrl+C` 即停止。可选参数:`--lan`(同一 WiFi 下的手机也能访问)、`--port=9000`、`--no-open`。 **方式二**:手动起服务。 ```bash cd OldAlmanac python3 -m http.server 8000 open http://127.0.0.1:8000/ ``` 首次加载会读入约 11.5 MB 的 `calendar-templates.json` 与 2 MB 的行楷字体,属正常现象。 想把项目长期挂在另一台 Mac(如 Mac mini)上常驻,见 [DEPLOY.md](DEPLOY.md):Caddy + launchd 守护进程、开机自启、压缩与缓存、电源设置、故障排查。 ### 部署方式(推荐) **本机源码 rsync 过去**,服务器上不留 git 仓库,本机是唯一源码: ```bash rsync -az --delete --exclude '.git/' --exclude '.DS_Store' ./ your-host:/Users/Shared/OldAlmanac/ ssh your-host 'chmod -R a+rX /Users/Shared/OldAlmanac' ``` `your-host` 换成 `~/.ssh/config` 里的别名。静态文件替换后下次请求即生效,无需重启服务。服务端用 Caddy 托管、launchd 常驻。 也可以在服务器上 `git clone` 后 `git pull` 更新(注意 `*.ttf` 走 Git LFS,见文末),两种方式二选一即可。 若 DevTools 里看到 `remixicon-subset.woff2` 404,可忽略:页面图标实际使用内联 SVG,该 `@font-face` 与 `remixicon.css` 是历史遗留,不影响显示。 ## 解读面板 日历右侧工具条第三个按钮(或按 `I` 键)打开「黄历解读」,把卡片上的术语翻成白话: - **今日概览**:农历干支、下一个节气、宜忌条数,以及值神/星宿/建除的综合吉凶判定(含两套体系结论相反时的说明),末尾列出当天的黄道吉时。 - **宜忌逐词释义**:展开「宜」「忌」可见全部条目及每条的白话解释,如嫁娶、冠笄、安床、破土、词讼等,词表覆盖 lunar-javascript 在 1901–2099 全部 114 个宜忌用语。 - **十二时辰明细**:每个时辰的时段、干支、值神、黄道/黑道与宜忌,吉时以绿条标出。 - **逐项解释**:36 个术语按卡片区域分组,展开即看释义与当日取值,如黄道黑道、二十八宿、彭祖百忌、胎神占方、空亡、月相物候。 - **口径标注**:释义来自传统择吉体系的标为默认;本站自定规则的标「本站规则」;无择吉依据的(解梦、对联、潮汐)标「娱乐参考」。 释义文本存在 `glossary.json`(约 18 KB),读取失败时自动回退到内置的精简释义,`file://` 打开也能用。 ## 仓库地址 - Git 仓库: - 默认分支:`main` ```bash git clone https://github.com/jingguanzhang/OldAlmanac.git ``` ## 注意:Git LFS 仓库根目录 `.gitattributes` 将 `*.ttf` 交由 Git LFS 管理(`shengxiao.ttf`、`shengxiao1.ttf`)。 克隆前需先安装 `git-lfs`,否则 `git clone` 会以 `git-lfs filter-process: git-lfs: command not found` 报错、工作区只落盘部分文件。 ```bash # macOS brew install git-lfs ``` 已装好后若工作区不完整,可在仓库目录执行 `git checkout HEAD -- .` 补齐。