Skip to content

hansai-art/AstrologyChart2

 
 

Repository files navigation

Astrology Chart 2

Astrology Chart 2 是一套以 JavaScript 撰寫、API 簡潔且零相依的占星盤繪製函式庫,專門用來產生占星圖盤

這個函式庫只負責把你已經準備好的資料畫成圖表,不會計算行星在宇宙中的實際位置,因此通常會搭配你自己的星曆或後端資料來源一起使用。

版本:0.7.3(alpha)

  • 純 JavaScript 實作,無額外執行相依
  • 採用 OOP 風格 API
  • 使用 SVG 輸出,方便縮放與後續加工
  • 內建測試
  • 設定項完整,可高度自訂

這是 AstroChart 的更新版,以較新的 JavaScript 語法與重新設計的 API 全面重寫。

如有問題、想法或使用情境,歡迎前往 Discussions 討論;若是錯誤回報,請建立 Issue

範例頁面

使用方式

最基本的使用流程如下:

  1. 在頁面中建立一個要放置圖盤的容器元素。
  2. 載入 dist/astrochart2.js
  3. 準備 pointscusps 資料。
  4. 建立 Universe,再選擇 radix()transit() 並呼叫 setData()
<script src="../dist/astrochart2.js"></script>
<script>
new astrology.Universe('paper').radix().setData(data)
</script>

資料格式範例

{
  "points":[{name:"Moon", angle:0}, {name:"Sun", angle:30}, {name:"Mercury", angle:60}, ... ],
  "cusps":[{angle:300}, {angle:340}, {angle:30}, {angle:60}, {angle:75}, {angle:90}, {angle:116}, {angle:172}, {angle:210}, {angle:236}, {angle:250}, {angle:274}]
}

Point(點位)

{
  name:{String},
  angle:{Number},
  [isRetrograde]:{Boolean=false}
}

Cusp(宮位)

{
  angle:{Number}
}

點位資訊顯示內容

properties

  • 所在星座內的角度
  • 逆行標記
  • 廟旺陷落資訊(r:守護/廟、d:失勢、e:旺、f:陷)

已知點位

Sun、Moon、Mercury、Venus、Earth、Mars、Jupiter、Saturn、Uranus、Neptune、Pluto、Chiron、Lilith、NNode、SNode。

圖盤設定

可前往 settings 查看所有設定常數。

const settings = { RADIX_POINTS_FONT_SIZE: 24 };
const chart = new astrology.Universe('paper', settings);

注意:所有設定鍵名皆為大寫。

命名空間

Astronomicon 字型

感謝 Roberto Corona 的成果,讓專案可以移除原本直接寫在 SVGPath 的符號,改用這套字型來呈現: 原始 SVGPath 符號實作

測試

npm run test

JSDoc 文件

npm run doc

未來規劃

  • 建置並發布公開的占星 API 伺服器(Ephemetris)
  • 建立一套結合新觀念與現代操作方式的開源占星應用
  • 設計可協助解讀占星盤的電腦系統

About

Astrology Chart 2 是一套以 JavaScript 撰寫、API 簡潔且零相依的占星盤繪製函式庫,專門用來產生占星圖盤。 這個函式庫只負責把你已經準備好的資料畫成圖表,不會計算行星在宇宙中的實際位置,因此通常會搭配你自己的星曆或後端資料來源一起使用。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 100.0%