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: 妥当な JSON を出力するために
toJsonを使います - XML: XPath の構文が正しいことを確認します
- ベクトル: 受け取り側に合わせた区切り文字を選びます
これらのヘルパーにより、Handlebars テンプレートの中で対話履歴、データ変換、整形を扱えます。