是否可以为集合创建单个文件?

时间:2017-11-22 15:07:57

标签: jekyll

我有一组非常类似的页面,只有少数属性不同。在集合文档中,它说我应该为每个项目创建一个文档,如下所示:

_my_collection/
└── some_doc.md
└── more_doc.md

但这不是很方便,我宁愿创建一个包含所有内容的yaml文件:

my_collection.yaml

my_collection:
   some_doc:
      attribute_1: foo
      attribute_2: bar
   more_doc:
      attribute_1: foo
      attribute_2: bar

这一切都可能吗?

2 个答案:

答案 0 :(得分:1)

更新后的问题澄清:

如果您想输出页面,则不会。该文件是构建页面的触发器。正如你所指出的那样,除了插件/扩展名外 - 这对github无效。

是的,如果您只是引用这些值。使用类似的东西:

{{site.myCollection.collectionFile.some_doc.attribute_1}}

虽然这可能更适合作为_data文件夹中的数据文件,例如:

{{site.data.myDataFile.some_doc.attribute_1}}

您也可以在文件中循环遍历值 - 但是在构建文件时要注意散列和数组的不同。

答案 1 :(得分:1)

我最终使用了一个名为data_page_generator

的非常简洁的扩展程序

它可以使用yaml和csv创建页面,并且开箱即用。