mkdocs/ja/template.md
Template
========
一部の設定ではjinja2形式のテンプレート表現を受けつけます。
対応内容の詳細は[jinja2公式サイト](http://jinja.pocoo.org/docs/2.10/templates/)をご覧下さい。
:fontawesome-solid-pencil: Property rules
--------------------------
条件を記載するwhenプロパティと、値を記載するその他プロパティで記載の仕方が少し異なります。
### when系プロパティ
`when`だけでなく`when_any`や`when_all`も対象に含まれます。
* 条件式を記載
* 全てが式であるため`{{ }}`で囲まない
* 文字列はクォートで囲む
Typeが[Trial][trial]であるtrial変数を使った場合の一例です。
`OK`
```
- when: "trial.name == 'json'"
```
`NG`
```
- when: "trial.name == json"
```
```
- when: "{{ trial.name == json }}"
```
### when系以外のプロパティ
* 値の一部として記載
* 基本は値であるためテンプレート部分は`{{ }}`で囲む
* 文字列はクォートで囲まない
* ただし、条件式などで利用するテンプレート内の文字列は囲む必要あり
Typeが[Trial][trial]であるtrial変数を使った場合の一例です。
プロパティ名はtagです。
`OK`
```
- tag: "TAG: {{ trial.name }}"
```
```
- tag: "{{ trial.name == 'hoge' }}"
```
`NG`
```
- when: "TAG: trial.name"
```
```
- when: "trial.name == hoge"
```
```
- when: "{{ trial.name == hoge }}"
```
:fontawesome-solid-filter: Filters
-------------------
JumeauxオリジナルのFilterをいくつか利用できます。
### reg(regstr)
正規表現に完全一致する場合はTrueを返します。
#### Examples
年齢(age)が2桁がどうか
`age|reg("[0-9]{2}")`
:fontawesome-solid-calculator: Functions
-------------------------
Jumeauxオリジナルの関数をいくつか利用できます。
### calc_distance_km(lat1: float, lon1: float, lat2: float, lon2: float)
座標(lat1, lon1)~座標(lat2, lon2)間の概算距離を計算します。
* 測地系はWGS84
* 単位はdegree
* 返却値は浮動小数点
* 返却値の単位はkm
#### Examples
```python
calc_distance_km(35.694253, 139.784099, 35.664131, 139.759302)
```
### equals_without_host(one: str, other: str)
文字列oneとotherについて、ホスト部分を除き一致するかどうかを判定します。
#### Examples
```python
equals_without_host("https://hoge.com/hoge", "https://fuga.com/hoge")
// -> True
equals_without_host("https://hoge.com/hoge", "https://hoge.com/fuga")
// -> False
```
[trial]: ./models/trial