Asgard 內建輔助函數
Asgard 為 Handlebars 模板系統提供 8 個專用的內建輔助函數。
📖 基礎 Handlebars 語法
建議先閱讀 Handlebars 官方指南 了解基本語法。
對話歷史函數
history
透過指定的索引區間,取得目前頻道的歷史對話紀錄清單
參數:
start:起始位置(0 開始,支援負數倒數)end:結束位置(包含該位置,支援負數倒數)
historySize
取得目前頻道的歷史對話紀錄數量
資料處理函數
toJson
將任意值轉換成 JSON 格式的字串
urlEncode
將字串進行 URL 編碼
xpathExtract
利用 XPath 在 XML 文件中進行查找
參數:
xml:XML 文件內容path:XPath 查詢語法
範例:
<!-- 輸入 XML:<root><item>1</item><item>2</item></root> -->
<!-- 輸出:1\n2 -->
vecToStr
將向量陣列轉換為字串格式
參數:
vector:向量陣列prefix:開頭字符suffix:結尾字符delimiter:分隔符
日期時間函數
isoNow
回傳特定時區當前日期時間的 RFC3339 格式字串
isoToday
回傳特定時區當前日期的 RFC3339 格式字串
實用範例
系統狀態報告
API 查詢處理
最佳實踐
- 對話歷史:使用
history和historySize實現上下文感知 - 資料安全:URL 參數務必使用
urlEncode編碼 - 時區處理:明確指定時區參數
- JSON 格式:使用
toJson確保正確的 JSON 輸出 - XML 查詢:確保 XPath 語法正確
- 向量處理:根據需求選擇適當的分隔符
這些內建函數讓您能在 Handlebars 模板中輕鬆處理對話歷史、資料轉換和格式化需求。