我有一个在 Jekyll 站点中使用的自定义液体过滤器,
{{ 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
语句。有什么建议么?