WallpaperMachine
The wallpapers you love. A new home on your Mac.
View the family tree of Жаржан and Мереке
Translation pending
AI summary · website content
LifestyleJavaScript · CSSGitHub @jarjanOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full 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).