Initial commit: Lunar calendar converter project

- Add lunar calendar astronomical calculation engine (lunar_calendar.py)
- Add converter utilities for solar/lunar date conversion
- Add historical era name conversions (chrono_converter.py, converter_with_eras.py)
- Add FastAPI REST API for date conversion services
- Add age calculator using lunar calendar
- Add batch generation script for lunar calendar JSON data
- Add project documentation (CLAUDE.md, pyproject.toml)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-09 13:51:45 +08:00
commit d788399b3a
20 changed files with 2202 additions and 0 deletions

57
.vscode/sftp.example.jsonc vendored Normal file
View File

@@ -0,0 +1,57 @@
{
// 提示:將本檔複製為 .vscode/sftp.json純 JSON勿含註解後再編輯。
// 顯示用名稱(任意字串)
"name": "My Server",
// 伺服器位址IP 或 ~/.ssh/config 的 Host 別名)
"host": "192.168.42.108",
// 傳輸協定sftpSSH 上的檔案傳輸)
"protocol": "sftp",
// SSH 連線埠,預設 22
"port": 22,
// 登入使用者root
"username": "root",
// ——— 擇一方式(請只保留其中一種)———
// A) 使用系統環境中的 ssh-agentSSH_AUTH_SOCK
// "agent": "env",
// B) 直接指定私鑰路徑(例如 ECDSA
"privateKeyPath": "~/.ssh/id_ecdsa",
// 若金鑰有通關詞,請移除此欄並讓 agent 代為解鎖
// "passphrase": "不建議填在設定檔",
// 參考本機 SSH 設定(可選)
"sshConfigPath": "~/.ssh/config",
// 不回退互動式密碼驗證
"interactiveAuth": false,
// ——— 可選:改用 OpenSSH 設定 ——
// 若想完全沿用 ~/.ssh/config 與 multiplex可改為
// "openSsh": true, 並刪除上方 agent/privateKeyPath 等欄位
// 遠端根目錄(所有上下載相對於此路徑)
"remotePath": "/opt/lunar-converter",
// 存檔即自動上傳true 開啟;若不想每次存檔都上傳,改為 false
"uploadOnSave": true,
// 上傳時先用暫存檔再改名false 直接覆寫;若遠端需要原子寫入可設 true
"useTempFile": false,
// 忽略不需上傳的檔案/資料夾
"ignore": [
"**/.git/**",
"**/.DS_Store",
"**/node_modules/**",
"**/.venv/**",
"**/venv/**",
"**/.mypy_cache/**",
"**/.pytest_cache/**",
"**/.ruff_cache/**",
"**/dist/**",
"**/build/**"
]
}