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しかし、前述の変数はステートメントで使用できないようです。助言がありますか?