Jekyllサイトで使用しているカスタムLiquidフィルターがあります。
{{ page.url | git_modified }}
これは、gitログ(プラグインコードはこちら)から変更日を生成します。
多くの場合、コンテキストに応じて、これを文字列またはXMLスキーマに変換するための追加のフィルターを追加することがあります{{ page.url | git_modified | date_to_string }}
。git_modified
なんらかの理由でフィルターが投稿の時間オブジェクトを返さない場合を除いて、すべてが厄介です。その場合、私はまともな失敗条件を書き込もうとしていますが、これを完全に理解することはできません。
if
呼び出しを液体ステートメントでラップして、変数が最初に定義されているかどうかを確認したいと思います。
{% if defined?( {{ page.url | git_modified }} %}
{{
しかし、 Liquidブロックオプション({%
、 )内でLiquidタグ()を使用できないようです%}
。私はLiquidでこれを回避できると思いましたcapture
:
{% capture page_modified %}{{ page.url | git_modified }}{% endcapture %}
{% if defined?(page_modified) %}
{{ page.url | git_modified | date_to_string }}
{% endif %}
if
しかし、前述の変数はステートメントで使用できないようです。助言がありますか?