2015-11-02 53 views
3

是否有可能具有杰基尔中的一个模板,将被用于填补某一类具有不同数据的每个子页..产生杰奇从模板子页面

说我有portfolio页面,然后我链接到我那里的作品,每个单独的work页面都使用相同的模板,只是文字和图片都在变化。

所以我想拥有的是来自同一个模板生成portfolio/work1portfolio/work2然后我会遍历_data yml files填写每个工作细节...

这有可能在哲基尔?我找不到有关该主题的任何文章。

回答

2

这可以通过Jekyll中的'Collections'来完成。见Jekyll Collections。如果您不确定Collections的用途,那么Ben Balter的explanation可能会有所帮助。

在你的情况:你想要一个portfolio页面与每个工作的子页面。在_config.yml像下面创建一个名为Portfolio集合:

# Collections 
collections: 
    portfolio: 
    output: true 

然后创建一个名为您的化身文件夹_portfolio。然后,您可以在每件作品中详细说明每件作品work1.md,其中_portfolio可以显示图像,标签等内容,例如您将在Jekyll中撰写帖子。在每个工作示例的前台内容中,您可以定义您想要用于工作示例的模板/布局。

+0

也许我没有自己最好的解释,这样我仍然会必须为每个工件定义页面,并重复自己的复制布局和更新每个文本和图片源。我希望一次布局定义结构简单,然后在每个块中迭代不同的数据。 – branquito

+0

幸运的是我找到了我需要的东西.. [avillafiorita/jekyll-datapage_gen·GitHub]很好,看看吧! https://github.com/avillafiorita/jekyll-datapage_gen – branquito

+1

很高兴看到您找到了您要寻找的解决方案。我曾以为收藏是它。 –

2

您可以使用default setup作为portofolio文件夹。

1.在 _config.yml,设置:
defaults: 
    - 
    scope: 
     path: "portofolio" 
     type: "pages" 
    values: 
     layout: "work" 
2.创建 _layouts/work.html模板。

_

3.在 portofolio/indexhtml

如果要覆盖布局,只是做:

--- 
layout: page 
... 
---