western-signs
Version:
Simple interface for western astrological signs.
143 lines (100 loc) • 4.32 kB
Markdown
# Western ✨ Signs
Simple interface for [western astrological](https://en.wikipedia.org/wiki/Western_astrology) signs.
[](https://www.npmjs.com/package/western-signs)
[](LICENSE)
[](https://github.com/marcmarine/western-signs/releases)
[](https://marcmarine.github.io/western-signs)

The **Western Signs** library provides detailed information about each astrological sign, including its `name`, `element`, `modality`, `rulingPlanet` and `glyph`, among other things. Additionally, you can specify the language for translations.
<details close>
<summary>WordArt</summary>

</details>
## Installation
To install dependencies:
```bash
npm install western-signs
```
## Usage
To use the `getSignByName` function, import it along with the `SIGNS` constant from the `western-signs` package:
```js
import { getSignByName, SIGNS } from 'western-signs'
```
Call the function with the desired astrological sign and optionally specify a language code. If no language code is provided, it defaults to English.
```js
const data = getSignByName(SIGNS.TAURUS)
```
It should returns an object with the following properties:
```js
{
bodyPart: 'Throat',
character: 'Bull',
element: 'Earth',
endDate: 2020-05-20T22:00:00.000Z,
glyph: '♉',
modality: 'Fixed',
name: 'Taurus',
number: 2,
pole: 'Negative',
rulingPlanet: 'Venus',
season: 'Spring',
startDate: 2020-04-20T22:00:00.000Z
}
```
### Symbols
The `getSymbol` function allows you to retrieve SVG representations of astrological symbols, with options to customize their appearance.
```js
import { getSymbol, SIGNS } from 'western-signs'
const symbol = getSymbol(SIGNS.TAURUS, {
width: 16,
height: 16,
stroke: 'currentColor',
strokeWidth: 1,
})
console.log(symbol.toString())
// Outputs: An SVG string with customized attributes
console.log(symbol.toDataURL())
// Outputs: A Data URL representation of the SVG
```
Use method chaining to modify the attributes of the symbol for a more fluent coding style.
```js
const chainedSymbol = getSymbol('taurus')
.setWidth(16)
.setHeight(16)
.setStroke('currentColor')
.setStrokeWidth(1)
console.log(chainedSymbol.toString())
// Outputs: The SVG string with updated stroke attributes
```
### Translations
You can easily translate aspects and other astrology-related terms using the `t` function provided by the library. The `t` function takes template strings and values to be translated based on the current language setting.
To translate an aspect into the current language:
```js
import { ASPECTS, i18n } from 'western-signs'
const aspect = i18n.t`${ASPECTS.CONJUNCTION}`
console.log(aspect)
// Output: Conjunction
```
To change the language, use the `setLanguage` function:
```js
i18n.setLanguage('es')
const aspectInSpanish = i18n.t`${ASPECTS.CONJUNCTION}`
console.log(aspectInSpanish)
// Output: Conjunción
```
## API Reference
### Functions
- [getHouses](https://marcmarine.github.io/western-signs/functions/getHouses)
- [getPlanet](https://marcmarine.github.io/western-signs/functions/getPlanet)
- [getPlanets](https://marcmarine.github.io/western-signs/functions/getPlanets)
- [getSignByDate](https://marcmarine.github.io/western-signs/functions/getSignByDate)
- [getSignByName](https://marcmarine.github.io/western-signs/functions/getSignByName)
- [getSigns](https://marcmarine.github.io/western-signs/functions/getSigns)
- [getSymbol](https://marcmarine.github.io/western-signs/functions/getSymbol)
### Interfaces
- [House](https://marcmarine.github.io/western-signs/interfaces/House)
- [Planet](https://marcmarine.github.io/western-signs/interfaces/Planet)
- [Sign](https://marcmarine.github.io/western-signs/interfaces/Sign)
For more detailed API information, please check out the [documentation](https://marcmarine.github.io/western-signs).
## License
MIT License © 2024 [Marc Mariné](https://github.com/marcmarine)