リファレンス

Global Variables

変数 説明
pages ページの配列
nodes ノードの配列
parts パーツ管理
part 描画中のパーツ
node 描画中のノード
page 描画中のパーツ
values 描画中のフォームの入力値
value 描画中のブロックの入力値

pages

記事リストやカテゴリーページリストなどページの一覧を表示するノードのループ HTML で使用でき、 既定では次のようなレイアウトを描画します。

{% for page in pages %}
<article class="item-{{ page.css_class }} {% if page.new? %}new{% endif %} {% if page.current? %}current{% endif %}">
  <header>
    <time datetime="{{ page.date }}">{{ page.date | ss_date: "long" }}</time>
    <h2><a href="{{ page.url }}">{{ page.index_name | default: page.name }}</a></h2>
  </header>
</article>
{% endfor %}

nodes

カテゴリーリストなどノードの一覧を表示するノードのループ HTML で使用でき、 既定では次のようなレイアウトを描画します。

{% for node in nodes %}
<article class="item-{{ node.css_class }} {% if node.current? %}current{% endif %}">
  <header>
     <h2><a href="{{ node.url }}">{{ node.name }}</a></h2>
  </header>
</article>
{% endfor %}

parts

だいたいどこでも使用できパーツの一覧へのアクセスを提供します。 ただし、ループで全パーツを取り出すといった利用方法はできません。

共通で利用できる部分をパーツとして定義しておき、ループ HTML で利用したり、 定型フォームで利用したりすることを想定しています。

{{ parts["loop_header"].html }}

{% for node in nodes %}
<article class="item-{{ node.css_class }} {% if node.current? %}current{% endif %}">
  <header>
     <h2><a href="{{ node.url }}">{{ node.name }}</a></h2>
  </header>
</article>
{% endfor %}

{{ parts["loop_footer].html }}

part

パーツのループ HTML 内などで、描画中のパーツを表します。 また、parts["loop_header"] などは part を返します。

変数 説明
part.html パーツの HTML
part.id パーツの ID
part.name パーツの名前
part.url パーツの URL
part.full_url パーツのフルURL
part.basename パーツのURLのベース名
part.filename パーツのファイル名
part.depth パーツの階層
part.parent パーツがフォルダー内にある場合、そのフォルダー

page

定型フォームのレイアウト内で、描画中のページを表します。 また、pages をループで展開した場合は page を返します。

変数 説明
page.id ページの ID
page.name ページの名前
page.index_name ページの一覧名
page.url ページの URL
page.full_url ページのフルURL
page.basename ページのURLのベース名
page.filename ページのファイル名
page.depth ページの階層
page.order ページの並び順
page.date ページの日時
page.released ページの公開日時
page.updated ページの更新日時
page.created ページの作成日時
page.parent ページがフォルダー内にある場合、そのフォルダー
page.css_class ページの CSS クラス
page.new? ページが新着の場合 true
page.current? ページが現在の場合 true
page.summary ページのサマリー
page.description ページの概要
page.thumb ページのイメージ
page.html ページの HTML
page.values ページのフォームに入力された入力値
page.categories ページに関連付けられたカテゴリー
page.event_name ページに設定されたイベントタイトル
page.event_dates ページに設定されたイベント日
page.event_deadline ページに設定されたイベントの申込締切
page.event_recurrences 繰り替えしイベント情報
page.map_points ページに設定された地図の地点
page.map_zoom_level ページに設定された地図のズームレベル
page.contact_state ページに設定された連絡先の表示設定
page.contact_group ページに設定された連絡先の所属
page.contact_charge ページに設定された連絡先の担当
page.contact_tel ページに設定された連絡先の電話番号
page.contact_fax ページに設定された連絡先のファックス番号
page.contact_email ページに設定された連絡先のメールアドレス
page.contact_link_url ページに設定された連絡先のリンクURL
page.contact_link_name ページに設定された連絡先のリンク名
page.tags ページのタグ
page.groups ページの管理グループ
page.summarized_categories サマリーページを設定したカテゴリー

node

nodes をループで展開した場合は node を返します。 また、part.parentpage.parentnode を返します。

変数 説明
node.id ノードの ID
node.name ノードの名前
node.index_name ノードの一覧名
node.url ノードの URL
node.full_url ノードのフルURL
node.basename ノードのURLのベース名
node.filename ノードのファイル名
node.depth ノードの階層
node.order ノードの並び順
node.date ノードの日時
node.current? ノードが現在の場合 true
node.summary ノードのサマリー
node.description ノードの概要
node.released ノードの公開日時
node.updated ノードの更新日時
node.created ノードの作成日時
node.parent ノードがフォルダー内にある場合、そのフォルダー
node.css_class ノードの CSS クラス
node.nodes ノードのサブノート
node.pages ノード内にあるページ、または、カテゴリーとして関連付けられているページ、または、検索条件 URL として設定されているノード内のページ、または、検索条件 URL として設定されているノードにカテゴリーとして関連付けられているページ、または、これらすべてのページ
node.groups ノードの管理グループ
node.summary_page ノードのサマリーページ

values

定型フォームのレイアウトではグローバル変数として存在しています。 また pages.valuesvalues を返します。

value

ブロックのレイアウトではグローバル変数として存在しています。 共通で取得できる値と、型に応じて取得できる値とがあります。

共通

変数 説明
value.name ブロックの名称
value.alignment ブロックの配置。flow, center, left, right のいずれかの文字列。
value.html 設定にしたがって入力値を HTML 化したもので既定値です。{{ value }} と同じです。
value.type ブロックの型を表す文字列

一行入力

変数 説明
value.html 設定にしたがって入力値を HTML 化したもので既定値です。既定では {{ value.value | sanitize }} と同じです。
value.value 入力された文字列

日付入力

変数 説明
value.html 設定にしたがって入力値を HTML 化したもので既定値です。既定では {{ value.date | ss_date: "long" }} と同じです。
value.date 入力された日時
value.value {{ value.date | ss_date: "long" }} と同じ文字列

URL入力

変数 説明
value.html 設定にしたがって入力値を HTML 化したもので既定値です。既定では <a href="{{ value.link_url }}">{{ value.link_label | default: value.link_url }}</a> と同じです。
value.link_url リンクURL
value.link_label リンクテキスト
value.link_target リンクターゲット。_blank か空文字列。

複数行入力

変数 説明
value.html 設定にしたがって入力値を HTML 化したもので既定値です。既定では {{ value.value | newline_to_br | sanitize }} と同じです。
value.value 入力された文字列

ドロップダウン

変数 説明
value.html 設定にしたがって入力値を HTML 化したもので既定値です。既定では {{ value.value | sanitize }} と同じです。
value.value 選択された選択肢

ラジオボタン

変数 説明
value.html 設定にしたがって入力値を HTML 化したもので既定値です。既定では {{ value.value | sanitize }} と同じです。
value.value 選択された選択肢

チェックボックス

変数 説明
value.html 設定にしたがって入力値を HTML 化したもので既定値です。既定では {{ value.value | sanitize }} と同じです。
value.values 選択された選択肢(複数)
value.value {{ value.values | join: ", " }} と同じ文字列

ファイルアップロード

変数 説明
value.html 設定にしたがって入力値を HTML 化したもので既定値です。既定値は下を参照。
value.file_type アップロードの種類。image, attachment, video, banner のいずれかの文字列。
value.file ファイル
value.file_label ファイルのタイトル
value.text (ビデオアップロードの場合のみ有効)ビデオの説明
value.image_html_type (画像アップロードの場合のみ有効)画像のリンク形式。image または thumb のいずれかの文字列。
value.link_url (バナーの場合のみ有効)リンクURL

value.file_type が image の場合の value.html

<img src="{{ value.file.url }}" alt="{{ value.file_label || default: value.file.humanized_name }}">

value.file_type が attachment の場合の value.html

<a href="{{ value.file.url }}">{{ value.file_label | default: value.file.name  }} ({{ value.file.extname | upcase }} {{ value.file.size | human_size }})</a>

value.file_type が video の場合の value.html

<div>
  <video src="{{ value.file.url }}" controls="controls"></video>
  <div>{{ value.text | newline_to_br }}</div>
</div>

value.file_type が banner の場合の value.html

<a href="{{ value.link_url }}">
  <img src="{{ value.file.url }}" alt="{{ value.file_label | default: value.file.humanized_name }}">
</a>

見出し入力

変数 説明
value.html 設定にしたがって入力値を HTML 化したもので既定値です。既定では <{{ value.head }}>{{ value.text | sanitize }}</{{ value.head }}> と同じです。
value.head h1, h2, h3, h4 のいずれか
value.text 入力された文字列

リスト入力

変数 説明
value.html 設定にしたがって入力値を HTML 化したもので既定値です。既定では
<{{ value.list_type }}>
{% for list in value.lists %}
<li>{{ list | sanitize }}</li>
{% endfor %}
</{{ value.list_type }}>
と同じです。
value.list_type リスト種類。ol か ul のどちらか。
value.lists リストが配列で返る。

YouTube埋め込み

変数 説明
value.html 設定にしたがって入力値を HTML 化したもので既定値です。既定では <iframe src="https://www.youtube.com/embed/{{ value.youtube_id }}" width="{{ value.width }}" height="{{ value.height }}" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="allowfullscreen"></iframe> と同じです。
value.youtube_id YouTube Id です。
value.width ビデオの横幅です。
value.height ビデオの高さです。
value.auto_width ビデオを画面の横幅に合わせるかどうかを示し、”enabled” のとき、横幅に合わせるようにします。

自由入力

変数 説明
value.html 設定にしたがって入力値を HTML 化したもので既定値です。既定では {{ value.value }} と同じです。
value.value 入力されたHTML
value.files アップロードされたファイル

変数 説明
value.html 設定にしたがって入力値を HTML 化したもので既定値です。既定では {{ value.value | newline_to_br }} と同じです。
value.value 入力されたHTML

groups

page.groupsnode.groupsgroups を返し、グループの一覧を表します。

group

変数 説明
group.name グループ名
group.full_name グループ名の “/” を “ “ に置き換えたもの
group.section_name グループ名の先頭の要素を除いて “/” を “ “ に置き換えたもの
group.trailing_name グループ名からグループ階層を除いた末端の名前
group.last_name グループ名の最後の要素

files

自由入力の value.filesfiles を返し、ファイルの一覧を表します。

file

変数 説明
file.name ファイルの日本語名
file.extname ファイルの拡張子
file.size ファイルのサイズ
file.humanized_name ファイルの日本語名の可読形式
file.filename ファイルの物理名
file.basename ファイルのベース名
file.url ファイルの URL
file.thumb_url ファイルのサムネイル URL(ただしファイルが画像の場合)
file.image? ファイルが画像の場合 true

event_recurrence

page.event_recurrences の要素です。

変数 説明
event_recurrence.start_date イベントの開始日
event_recurrence.start_datetime イベントの開始日時
event_recurrence.end_date イベントの終了日(含まない)
event_recurrence.end_datetime イベントの終了日時(含まない)
event_recurrence.until_date イベントの繰り返し終了日
event_recurrence.day_of_weeks 曜日(日から土)
event_recurrence.includes_holiday 祝日を含むかどうか
event_recurrence.exclude_dates 除外日
event_recurrence.to_long_html 繰り返しイベントの内容を簡潔に表す説明

start_date と start_datetime は同じ値を返し、前者は日付型で後者は日時型で取得します。end_date と end_datetime も同様で同じ値を返し、前者は日付型で後者は日時型で取得します。

例えば 2022/6/1 から 2022/6/30 までの繰り返しイベントを設定した場合、start_date, end_date そして until_date はそれぞれ以下のようになります。

変数
event_recurrence.start_date 2022/06/01
event_recurrence.end_date 2022/06/02
event_recurrence.until_date 2022/06/30

Filters

フィルター 説明
ss_date 日付を文字列に変換
ss_time 日時を文字列に変換
delimited 数値を 3 桁区切り文字列に変換
human_size 数値を人が視認しやすいサイズ表現に変換。
例: 123456789118 MB
ss_append 末尾に指定された文字列を追加
ss_prepend 先頭に指定された文字列を追加
ss_img_src HTML 形式の文字列から先頭の <img> タグの src 属性を抜き出す。
expand_path 相対パスを絶対パスに変換
sanitize HTML として不適切な文字を削除
public_list フォルダーのページ一覧を取得
filter_by_column_value 定型フォームの値でページ一覧を絞り込み
sort_by_column_value 定型フォームの値でページ一覧を並び替え
same_name_pages ページとタイトルが一致するページ一覧を取得
event_active_recurrences 有効な繰り返しイベントのみを選択します。
例: page.event_recurrences | event_active_recurrences のようにして使用します。
event_recurrence_summary 繰り返しイベントの内容を簡潔に表す説明。
例: <p>page.event_recurrences | event_active_recurrences | event_recurrence_summary</p>

Liquid 標準のフィルターも使用できます。

ss_date / ss_time についての補足

ss_date と ss_time とは、日時データを指定されたフォーマットにしたがって文字列に変換するフィルターで、 {{ page.date | ss_date: <format> }} のように指定します。

format には日時データのフォーマット文字列を指定し、strftime メソッドと同じフォーマット文字列を使用することができます。また、事前に定義されたフォーマット文字列がいくつか提供されており、{{ page.date | ss_date: "default" }} のようにして利用することもできます。

format を省略すると “default” が指定されたものとみなされます。

ss_date で利用できる事前定義フォーマット:

format フォーマット文字列
“default” ‘%Y/%1m/%1d’
“iso” ‘%Y-%m-%d’
“long” ‘%Y年%1m月%1d日’
“short” ‘%1m/%1d’
“picker” ‘%Y/%m/%d’

ss_time で利用できる事前定義フォーマット:

format フォーマット文字列
“default” ‘%Y/%1m/%1d %H:%M’
“iso” ‘%Y-%m-%d %H:%M’
“long” ‘%Y年%1m月%1d日 %H時%M分’
“short” ‘%y/%m/%d %H:%M’
“picker” ‘%Y/%m/%d %H:%M’

標準のフィルターに date というフィルターがありますが、標準フィルター date との違いは次の点です。

public_list についての補足

public_list はフォルダーのページ一覧を取得するフィルターで、 {{ assign items = node | public_list: <limit> }} のように指定します。

limit には取得するページの件数を指定します。

limit を省略するとページを全件取得します。

filter_by_column_value についての補足

filter_by_column_value は定型フォームの値でページ一覧を絞り込みするフィルターで、 {{ assign items = pages | filter_by_column_value: "<key>.<value>" }} のように指定します。

key には定型フォームの項目の名前を指定します。 value には定型フォームの項目の値を指定します。 key で指定した定型フォームの項目の値が value と一致しているものを絞り込みます。

sort_by_column_value についての補足

sort_by_column_value は定型フォームの値でページ一覧を並び替えするフィルターで、 {{ assign items = pages | sort_by_column_value: "<key>" }} のように指定します。

key には定型フォームの項目の名前を指定します。 key で指定した定型フォームの項目の値を昇順で並び替えます。

same_name_pages についての補足

same_name_pages はページとタイトルが一致するページ一覧を取得するフィルターで、 {{ assign items = page | same_name_pages: "<filename>" }} のように指定します。

filename には取得するページのフォルダー名を指定します。

filename を省略すると名前の一致するページを全件取得します。