尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗An interactive, web-based family tree (Shezhire) visualization tool built with Astro and Preact.
This project provides a dynamic and responsive visualization of family lineages, specifically designed for Kazakh Shezhire but extensible to any family tree structure. It features a dual-language interface (English and Kazakh) and an interactive tree canvas.
src/utils/layout.js)scripts/compile.js)/family-tree/#zharzhan-serik), and the back button returns to previously viewed people./
├── src/
│ ├── components/ # Preact components (TreeCanvas, DetailPanel, etc.)
│ ├── data/ # JSON data source (family.json)
│ ├── locales/ # Translation dictionaries (en.json, kk.json)
│ ├── pages/ # Astro pages (entry point)
│ ├── utils/ # i18n, relationship resolution (relations.js), layout (layout.js)
│ └── styles/ # Global CSS
├── scripts/
│ ├── compile.js # Script for compiling family.txt to family.json
├── family.txt # Indented family tree text representation (source of truth)
└── astro.config.mjs # Astro configuration (base path, integrations)
>=24.0.0 (as specified in package.json)npm install
| Command | Action |
|---|---|
npm run dev | Starts local dev server at localhost:4321/family-tree/ (auto-compiles family.txt) |
npm run build | Builds the production site to ./dist/ (auto-compiles family.txt) |
npm run preview | Previews the production build locally |
npm test | Runs the test suite |
node scripts/generate-icons.js | Regenerates the favicon and app icons in public/ from the vector mark defined in the script |
The family tree data is stored in src/data/family.json. Each member is an object with the following potential fields:
id: Unique identifier (readable slug).name: First name.lastName: Last name.fatherId: ID of the father.motherId: ID of the mother.spouseOf: ID of the spouse.gender: male or female.birthday: YYYY-MM-DD.notes: Additional biographical details.To edit the family tree data:
node scripts/compile.js
(Note: npm run dev and npm run build automatically compile family.txt as well)The compiler fails with a list of problems if the data has duplicate ids, references to ids that don't exist, invalid gender/birthday values, or ancestry cycles.
A child's motherId is filled in automatically only when the father has exactly one wife. With several wives, set motherId: explicitly on each child.
The project is configured for deployment to GitHub Pages at https://jarjan.github.io/family-tree/. The deployment workflow is automated via GitHub Actions (.github/workflows/deploy.yml).