Jekyll:如何使用for循环在markdown内的同一个表中生成表行

时间:2016-02-26 03:20:50

标签: for-loop markdown jekyll

我正在尝试根据我的帖子生成一个表格。现在,这里的挑战是这是在markdown文件中,因此对于我生成的每一行,liquid似乎为每个生成的行生成一个新表。有没有办法将所有行放在一个表中?

这是我的代码:

|Title  |Link  |
|---|---|
{% for my_post in site.posts %}
  {% if my_post.title %}
|{{ my_post.title }}  |[Click Here]({{ my_post.url }})  |
  {% endif %}
{% endfor %}

生成的输出如下所示 enter image description here

正如您所看到的,结果实际上是一个混乱的表头行+两个单独的表。我真的可以生成行并将它们全部放在一个表中吗?或者我最好切换到HTML代码?

1 个答案:

答案 0 :(得分:10)

液体标记在降价时引入了换行符。

修改:您现在可以管理使用whitespace control in Liquid

  

在Liquid中,您可以在标记语法{{--}}{%--%}中添加连字符,以便从左侧或右侧删除空格渲染标签。

|Title  |Link  |
|---|---|
{% for my_post in site.posts -%}
{% if my_post.title -%}
|{{ my_post.title }}  |[Click Here]({{ my_post.url }})  |
{% endif %}
{%- endfor -%}

旧回答

如果您将液体标签放在同一条线上,您将获得一张有效的表格。

| Title | Link |
|---|---|{% for my_post in site.posts %}{% if my_post.title %}
|{{ my_post.title }}  |[Click Here]({{ my_post.url }})  |{% endif %}{% endfor %}