2017-10-19 52 views
2

我对jekyll相当陌生,但我真的很喜欢你能够用它做的事情以及部署的速度。从降价文件中排序前置物

因此,我的网站使用siteleaf进行管理并部署到github页面。现在,我正在努力构建页面以展示我过去的项目,并且我需要能够创建动态内容 - 能够添加具有相同名称的多个元字段,即多个字段,称为center_imagetext_block,我可以根据在创建页面的管理面板/标记文件中的排序顺序进行显示。这是我迄今为止编写的代码,它目前正确地显示内容,但它不允许我1.有相同元字段的多次迭代或2.动态地对内容进行排序。总而言之,我需要能够对这些内容进行排序,并且还需要包含同一内容类型的多次迭代。有没有人有任何想法?

谢谢! jesse

+0

你能提供一个输入和期望输出的例子吗? – marcanuy

回答

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管理中项目的排序顺序!

+0

'page_content'中'project_content:'是否可用? 'project_'去了哪里?错字? – DavChana

+1

相应编辑。感谢您指出了这一点。 –