从markdown文件

时间:2017-10-19 08:10:03

标签: ruby jekyll liquid

我对jekyll相当新,但我真的很喜欢你能够用它做的事情,以及部署的速度。

所以,我的网站使用siteleaf进行管理并部署到github页面。现在,我正在努力构建页面来展示我过去的项目,我需要能够创建动态内容 - 能够添加多个具有相同名称的元字段,即多个名为{{1}的字段或center_image我可以根据创建页面的管理面板/ markdown文件中的排序顺序显示。这是我到目前为止编写的代码,它目前正确地显示了内容,但它不允许我1.具有相同元字段的多次迭代或2。动态排序内容。

text_block

所以,总而言之,我需要能够对这些内容进行排序,并且还包括相同内容类型的多次迭代。有没有人有任何想法?

谢谢! 杰西

1 个答案:

答案 0 :(得分:2)

联系支持后,这是我发现的内容。

首先,我需要将YAML前端问题从关键字段更改为对象字段。这会创建一个内容数组,如此

project_content:
- type: full-width-image
  image: "/uploads/hero.jpg"
- type: text
  body: This is another test content block.
- type: text
  body: text two. 

然后,我的标记就是这样......

{% for block in project.content %}
  {% case block.type %}
  {% when 'full_width_image' %}
    <img src="{{ block.image }}">
  {% when 'text' %}
    {{ block.text | markdownify }}
  {% endcase %}
{% endfor %}

我的输出变为:

<div class="full-width-image content-block">
  <img src="/uploads/hero.jpg">
</div>

<div class="text content-block">
  <p>This is another test content block.</p>
</div>

<div class="text content-block">    
  <p>text two.</p>
</div>

这正是我需要做的,我可以更改siteleaf管理员中项目的排序顺序!