是否可以在Jekyll中设置一个模板,该模板将针对具有不同数据的特定类别的每个子页面进行填充..
说我有portfolio
页面,然后我从那里链接到我的作品,每个单独的work
页面都使用相同的模板,只是文字和图片正在改变。
所以我想要的是portfolio/work1
,portfolio/work2
从同一个模板生成,然后我会迭代_data yml files
来填写每项工作的详细信息......
杰基尔有可能吗?我无法找到关于该主题的任何文章。
答案 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中撰写帖子的内容。在每个工作示例的前提中,您可以定义要用于工作示例的模板/布局。