Twitter bootstrap jekyll for loop don';t显示post';书名
我在Twitter bootstrap jekyll for loop don';t显示post';书名,twitter-bootstrap,jekyll,Twitter Bootstrap,Jekyll,我在\u post目录中有一些帖子,我需要使用Bootstrap(和使用Jekyll)在浏览器中以两列显示。这是我的代码: {% capture cant_element %}{{ site.posts.size | divided_by:2 }}{% endcapture %} {% for i in (0..cant_element) %} <div class="row"> <div class="col-md-6"> {% capture new_i
\u post
目录中有一些帖子,我需要使用Bootstrap
(和使用Jekyll
)在浏览器中以两列显示。这是我的代码:
{% capture cant_element %}{{ site.posts.size | divided_by:2 }}{% endcapture %}
{% for i in (0..cant_element) %}
<div class="row">
<div class="col-md-6">
{% capture new_i %}{{ i | times:2 }}{% endcapture %}
{{ new_i }}
{{ site.posts[new_i].title }}
</div>
<div class="col-md-6">
{% capture new_i_plus %}{{ i | times:2 | plus:1 }}{% endcapture %}
{{ new_i_plus }}
{{ site.posts[new_i_plus].title }}
</div>
</div>
{% endfor %}
{%capture cant_element%}{{site.posts.size}除以:2}{%endcapture%}
{(0..cant_元素)%%中的i的%
{%capture new_i%}{{i|次:2}{%endcapture%}
{{new_i}}
{{site.posts[new_i].title}
{%capture new_i_plus%}{i|times:2 | plus:1}{%endcapture%}
{{new_i_plus}}
{{site.posts[new_i_plus].title}
{%endfor%}
我看不到(在浏览器中)变量new\u I
和new\u I\u plus
,但不显示文章标题(site.posts[new\u I\u plus].title
)
为什么??谢谢您混淆了捕获
和分配
标记。
Any{%capture%}此处的任何代码{%endcapture%}
返回字符串
因此,当您试图通过其索引号获取元素时,如{site.posts[new_i].title}
其中new_i
是一个字符串,这就像执行{site.posts['0'].title}
,它不会返回任何内容,因为'0'
字符串不是索引
执行类似于{%assign new|i=i | times:2%}
的赋值将返回一个Fixnum
(一个数字)。您的{{site.posts[new_i].title}
现在将转换为{{site.posts[0].title}
,并将返回一些内容,因为new_i
是一个数字和一个实索引
您的逻辑不会在所有帖子上循环(有时)
{{site.posts.size|u除以:2}}
将返回一个绝对值。如果你有3篇文章,这将返回1,你的循环将总是忽略最后一篇带有奇数索引的文章
完成事情的另一种方式
使用你可以做得更有效
{% for p in site.posts %}
{% assign isEven = forloop.index0 | modulo: 2 %}
{% if isEven == 0 %}
<div class="row">
<div class="col-md-6">
<h2>{{ site.posts[forloop.index0].title }}</h2>
</div>
{% if forloop.rindex0 > 0 %}
<div class="col-md-6">
<h2>{{ site.posts[forloop.index].title }}</h2>
</div>
{% endif %}
</div>
{% else %}
{% continue %}
{% endif %}
{% endfor %}
{%p在site.posts%}
{%assign isEven=forloop.index0 |模:2%}
{%如果isEven==0%}
{{site.posts[forloop.index0].title}
{%if-forloop.rindex0>0%}
{{site.posts[forloop.index].title}
{%endif%}
{%else%}
{%continue%}
{%endif%}
{%endfor%}