Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/SylarLong/iztro
⭐A lightweight open-source JavaScript library for obtaining The Purple Star Astrology (Zi Wei Dou Shu) astrolabe information.. 支持多语言轻量级获取紫微斗数排盘信息的javascript开源库。
https://github.com/SylarLong/iztro
astrolabe astrology chinese-astrology horoscope javascript natal-chart npm typescript ziweidoushu
Last synced: about 2 months ago
JSON representation
⭐A lightweight open-source JavaScript library for obtaining The Purple Star Astrology (Zi Wei Dou Shu) astrolabe information.. 支持多语言轻量级获取紫微斗数排盘信息的javascript开源库。
- Host: GitHub
- URL: https://github.com/SylarLong/iztro
- Owner: SylarLong
- License: mit
- Created: 2023-07-27T08:41:40.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-02T01:08:43.000Z (4 months ago)
- Last Synced: 2024-10-29T15:02:59.128Z (about 2 months ago)
- Topics: astrolabe, astrology, chinese-astrology, horoscope, javascript, natal-chart, npm, typescript, ziweidoushu
- Language: TypeScript
- Homepage: https://iztro.com
- Size: 26.4 MB
- Stars: 1,939
- Watchers: 23
- Forks: 256
- Open Issues: 8
-
Metadata Files:
- Readme: README-en_US.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
![banner2](https://github.com/SylarLong/iztro/assets/6510425/e8457a88-e52e-435e-8f93-e3f375486d70)
A lightweight astrolabe generator of The Purple Star Astrology(Zi Wei Dou Shu).
[![Maintainability](https://api.codeclimate.com/v1/badges/b57f0e6e2e8875ce39ae/maintainability)](https://codeclimate.com/github/SylarLong/iztro/maintainability)
[![Codecov](https://github.com/SylarLong/iztro/actions/workflows/Codecov.yaml/badge.svg)](https://github.com/SylarLong/iztro/actions/workflows/Codecov.yaml)
[![npm](https://img.shields.io/npm/v/iztro?logo=npm&logoColor=%23CB3837)](https://www.npmjs.com/package/iztro)
![Codecov](https://img.shields.io/codecov/c/github/SylarLong/iztro?logo=codecov&logoColor=%23F01F7A)
[![npm](https://img.shields.io/npm/dt/iztro.svg?logo=npm&logoColor=%23CB3837)](https://www.npmjs.com/package/iztro)
[![GitHub](https://img.shields.io/github/license/sylarlong/iztro)](https://www.npmjs.com/package/iztro)
[![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/SylarLong/iztro)](https://www.npmjs.com/package/iztro)
[![npm bundle size](https://img.shields.io/bundlephobia/min/iztro)](https://www.npmjs.com/package/iztro)
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FSylarLong%2Fiztro.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2FSylarLong%2Fiztro?ref=badge_shield)
[![Package Quality](https://packagequality.com/shield/iztro.svg)](https://packagequality.com/#?package=iztro)
[![](https://data.jsdelivr.com/v1/package/npm/iztro/badge)](https://www.jsdelivr.com/package/npm/iztro)---
[简体中文](./README.md) 🔸 [繁體中文](./README-zh_TW.md) 🔸 English
---
### Summary
It's used to obtain the data of `The Purple Star Astrology (Zi Wei Dou Shu)`.
- Input
- birthday(support solar date and lunar date)
- birth time
- gender- Feature list
- get `12 palaces` data of Zi Wei Dou Shu.
- get Chinese `zodiac`
- get `sign`
- get birth time by Chinese date
- get `horoscope`(`decadal`, `turnly`, `yearly`, `monthly`, `daily`, `timely`)
- get horoscope `stars` (`dacadal` and `yearly`)
- check if one `palace` includes specific `stars`
- check if `surrounded palaces` of specific `palace` include specific `stars`
- check if `surrounded palaces` of specific `palace` include specific `mutagen`
- check if spedific star is `mutaged`
- check if `surrounded palaces` of specific `star` include specific `mutagen`
- check star `brightness`
- get `mutagen` by `heavenly stem`
- get `palace` by `star`
- get `surrounded palaces` by `palace`
- get `surrounded palaces` by `star`
- get `opposite` palace by `star`- Other
- multilingual input/output
you can mix multiple languages when passing parameters and specify output language. we support Simplified Chinese, Traditional Chinese, English, Japanese, Korean and Vietnamese. however, English translation is not stardand. so I just translate them by meaning. if you're good at English and well known about Zi Wei Dou Shu, welcome to PR. any language is welcome.
- chain invoking
if you want to check if the `surrounded palaces` of `emperor` is `focused`, you can do it like this:
```ts
import { astro } from 'iztro';const astrolabe = astro.bySolar('2000-8-16', 2, 'male', true, 'en-US');
astrolabe.star('emperor').surroundedPalaces().haveMutagen('focused');
```- Configuration and plugins
There are many Ziwei Dou Shu genres, and the mutagens and star brightness of different genres will be slightly different. In order to meet the needs of different genres and function expansion, iztro has added global configuration and third-party plug-in functions in version v2.3.0. For details, see [Configuration Document](https://ziwei.pro/posts/config-n-plugin.html)
### Quick link
- [Document](https://docs.iztro.com)
- [Discussions](https://github.com/SylarLong/iztro/discussions)
- [Issues](https://github.com/SylarLong/iztro/issues)### Installation
you can choose any package manager to install `iztro`.
- NPM
```
npm install iztro -S
```- Yarn
```
yarn add iztro
```- pnpm
```
pnpm install iztro -S
```### Simple example
This is a very simple example to show how to use `iztro` to get the astrolabe data. please visit [develop document](https://docs.iztro.com) for details.
- ES6 Module
```ts
import { astro } from 'iztro';// get astrolabe data by solar date
const astrolabe = astro.bySolar('2000-8-16', 2, 'male', true, 'en-US');// get astrolabe data by lunar date
const astrolabe = astro.byLunar('2000-7-17', 2, 'male', false, true, 'en-US');
```- CommonJS
```ts
var iztro = require('iztro');// get astrolabe data by solar date
var astrolabe = iztro.astro.bySolar('2000-8-16', 2, 'male', true, 'en-US');// get astrolabe data by lunar date
var astrolabe = iztro.astro.byLunar('2000-7-17', 2, 'male', false, true, 'en-US');
```### [CONTRIBUTING](https://github.com/SylarLong/iztro/blob/main/CONTRIBUTING.md)
If you're interested in `iztro` and wish to join us,it's very welcome. You can contribute by:
- create an issue [here](https://github.com/SylarLong/iztro/issues/new?assignees=SylarLong&labels=%E5%8A%9F%E8%83%BD%EF%BD%9Cfeature&projects=&template=new-feature.md&title=%7B%E6%A0%87%E9%A2%98%7D%EF%BD%9C%7Btitle%7D) if you have any good ideas or suggestions.
- report a bug [here](https://github.com/SylarLong/iztro/issues/new?assignees=SylarLong&labels=%E6%BC%8F%E6%B4%9E%EF%BD%9Cbug&projects=&template=bug-report.md&title=%7Bversion%7D%3A%7Bfunction%7D-) if you found any bugs.
- you can also `fork` this code to your repository and create PRs for your changes.
- also, you can contribute the `localization` files. please refer to [locales](https://github.com/SylarLong/iztro/tree/main/src/i18n/locales) and create the localization files for your lanuage.
- additionally, buy me a coffee is another great way to support me [![Static Badge](https://img.shields.io/badge/PaypalMe-8A2BE2?logo=paypal&link=https%3A%2F%2Fwww.paypal.com%2Fsylarlong)
](https://PayPal.Me/sylarlong)### Summary
You can generate an astrolabe by using the returned data. Of course it's just an example. You can focus on astrolabe design or data analyzation. This program solves the most tedious work for you, so that you can put more energy on the things you need to pay attention to.
### Star History
### [LICENSE](https://github.com/SylarLong/iztro/blob/main/LICENSE)
MIT License
Copyright © 2023 All Contributors
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FSylarLong%2Fiztro.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2FSylarLong%2Fiztro?ref=badge_large)