邏輯運算

Hugo 可以自訂頁面顯示不同的資料,所以可以根據頁面的邏輯不同去顯示不同的資料,在設計樣板時可以透過這個邏輯去做資料的運算及顯示處理

字串處理

replace 取代

replace INPUT OLD NEW [LIMIT]

replace (原始字串) (搜尋的字串) (取代的字串) [最多取代次數]

<!-- 將 o 取代成 u,最多取代 2 次 -->
{{ replace "hugo hugo hugo" "o" "u" 2 }}
<!-- 結果: "hugu hugu hugo" -->

len 字串長度

len INPUT

len (原始字串)

<!-- 計算字串 "hugo" 長度 -->
{{ len "hugo" }}
<!-- 結果: 4 -->

split 透過指定字元拆解字串成陣列

split STRING DELIM

split (原始字串) (指定拆解字元)

<!-- 將字串「tag1,tag2,tag3」透過「,」字元拆解成陣列 -->
{{split "tag1,tag2,tag3" "," }}
<!-- 結果: ["tag1" "tag2" "tag3"] -->

slice 將指定資料轉換成陣列

slice ITEM…

slice (資料列…)

<!-- 將「"hugo" "static" "site" "generator"」字串資料列轉換成陣列 -->
{{ slice "hugo" "static" "site" "generator") }}
<!-- 結果: [hugo static site generator] -->

比較

lt 小於

lt INTEGER_1 INTEGER_2

lt (整數1) (整數2)

<!-- 列印 true (i.e., 1 小於 2 為 true) -->
{{ lt 1 2 }}

ge 大於等於

gt INTEGER_1 INTEGER_2

gt (整數1) (整數2)

<!-- 列印 true (i.e., 10 大於 5 為 true) -->
{{ if ge 10 5 }}true{{ end }}

Math 數學運算

add 加法

add INTEGER_1 INTEGER_2

add (整數1) (整數2)

<!-- 1 + 2 = 3 -->
{{add 1 2}}

sub 減法

sub INTEGER_1 INTEGER_2

sub (整數1) (整數2)

<!-- 3 - 2 = 1 -->
{{sub 3 2}}

mul 乘法

mul INTEGER_1 INTEGER_2

mul (整數1) (整數2)

<!-- 2 x 3 = 6 -->
{{mul 2 3}}

div 除法

div INTEGER_1 INTEGER_2

div (整數1) (整數2)

<!-- 6 / 3 = 2 -->
{{div 6 3}}

參考資料