使用带有液体标签的液体过滤器

时间:2017-03-07 12:01:56

标签: ruby jekyll liquid

我在组合液体标签和液体过滤器/管道时遇到了麻烦。

虽然我认为这是一个通用问题而与特定插件无关,但如果它是相关的,我使用的是jekyll-exiftag

标记为:{% exiftag date_time_digitized,{{image_dir}},{{image_name}} %}。此命令为我提供了拍摄给定照片的日期时间。它有效。所以下面的代码:

<p>{% exiftag date_time_digitized,{{image_dir}},{{image_name}} %}</p>

正确生成此输出: 2017-03-04 12:09:23 +0100

我正在尝试使用Liquid日期过滤器来格式化日期。

要测试,请输入以下代码:

<p>{{ '2013-11-29 00:00:00 -0500' | date: '%B %d, %Y' }}</p>

正确生成此输出: 2013年11月29日

但是,我无法将输出的日期时间输入日期过滤器。

我尝试了两种方法:

方法1:

<p>{% exiftag date_time_digitized,{{image_dir}},{{image_name}} | date: '%B %d, %Y' %}</p>

方法2:

{% assign image_date = exiftag date_time_digitized,{{image_dir}},{{image_name}} %}
<p>{{ image_date | date: '%B %d, %Y' }}</p>

即使是以下,没有过滤器,也没有输出。

{% assign image_date = exiftag date_time_digitized,{{image_dir}},{{image_name}} %}
<p>{{ image_date }}</p>

我觉得这是一个Liquid语法问题,但我无法自己解决这个问题。我很感激任何对这个问题的见解!

1 个答案:

答案 0 :(得分:0)

我能够使用capture来执行此操作:

{% capture image_date %}
  {% exiftag date_time,{{image_dir}},{{image_name}} %}
{% endcapture %}

<p>{{ image_date | date: '%-m/%-d/%y' }}</p>