尚未检测到更新。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).