在jekyll中从模板生成子页面

时间:2015-11-02 22:30:43

标签: jekyll

是否可以在Jekyll中设置一个模板,该模板将针对具有不同数据的特定类别的每个子页面进行填充..

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

所以我想要的是portfolio/work1portfolio/work2从同一个模板生成,然后我会迭代_data yml files来填写每项工作的详细信息......

杰基尔有可能吗?我无法找到关于该主题的任何文章。

2 个答案:

答案 0 :(得分:3)

您可以将default setup用于portofolio文件夹。

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

_

3.在 portofolio / indexhtml 页面中

如果要覆盖布局,只需执行以下操作:

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

答案 1 :(得分:2)

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

在您的情况下:您需要一个portfolio页面,其中包含每个作品的子页面。在Portfolio中创建一个名为_config.yml的集合,如下所示:

# Collections
collections:
  portfolio:
    output: true

然后在jekyll文件中创建一个名为_portfolio的文件夹。然后,您可以在前面的内容中澄清每一项工作,即work1.md_portfolio,它可以显示图像,标签等内容以及您在Jekyll中撰写帖子的内容。在每个工作示例的前提中,您可以定义要用于工作示例的模板/布局。