将多个布局应用于jekyll中的相同集合项

时间:2017-04-14 04:12:57

标签: jekyll

我有一个jekyll集合_persons,有多个民族'配置文件。现在我想为每个人创建多个布局,例如,"出版物"和" Bio"同一个人的子页面。

如何将不同的布局与同一个人对象相关联?我还想使用子网址,例如:

  • \personA\publications\
  • \personA\bio\

1 个答案:

答案 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/personAexample.com/bios/personA等永久链接。您可以像往常一样循环浏览site.publicationssite.bios

您需要定义biopublication布局,这些布局可以访问您在bio集合项的前端定义的任何数据。

相信这个想法:https://github.com/jekyll/jekyll/issues/3041#issuecomment-267730851

将集合_persons作为单一事实点并从该集合中创建两个符号链接可能更具语义性。

祝你好运!