我有一个jekyll集合_persons
,有多个民族'配置文件。现在我想为每个人创建多个布局,例如,"出版物"和" Bio"同一个人的子页面。
如何将不同的布局与同一个人对象相关联?我还想使用子网址,例如:
\personA\publications\
\personA\bio\
答案 0 :(得分:3)
假设" bios"是您要编辑的内容类型,您可以在项目根目录中创建从_bios
到_publications
的符号链接:
# Unix/Linux
ln -s _bios _publications
如果您使用的是Windows,则需要查看mklink
。
然后像这样设置你的config.yml:
collections:
bios:
output: true
publications:
output: true
defaults:
-
scope:
path: "_bios"
values:
layout: bio
permalink: /biographies/:title/
-
scope:
path: "_publications"
values:
layout: publication
permalink: /publications/:title/
在_bios
目录中为您的人员编辑markdown文件,并且不要在其前端指定布局或永久链接。
当您的网站构建完成后,您将获得example.com/publications/personA
和example.com/bios/personA
等永久链接。您可以像往常一样循环浏览site.publications
和site.bios
。
您需要定义bio
和publication
布局,这些布局可以访问您在bio
集合项的前端定义的任何数据。
相信这个想法:https://github.com/jekyll/jekyll/issues/3041#issuecomment-267730851
将集合_persons
作为单一事实点并从该集合中创建两个符号链接可能更具语义性。