使用Jekyll的Collection relative_directory来组织页面/集合

时间:2016-07-30 01:26:44

标签: jekyll

我认为设置relative_directory (Jekyll Collection Docs) (github PR)属性设置会帮助我保持文件的整理而不影响我想要的输出,但它似乎被忽略/不用于制作文件。我不希望我的馆藏在根目录中,因为我发现在_assets_data_includes,{{1}附近有~10个馆藏文件夹令人困惑和其他人。

只要输出相同,并且我的页面在他们自己的目录中,而不需要在每个页面上放置_layouts前端内容,欢迎使用修补程序或替代解决方案。

_config.yaml

permalink

目录结构:

collections:
  root:
    relative_directory: '_pages/root'
    output: true
    permalink: /:path.html
  root-worthy:
    relative_directory: '_pages/root-worthy'
    output: true
    permalink: /:path.html
  docs:
    relative_directory: '_pages/docs'
    output: true
    permalink: /docs/:path.html

期望的输出:

├── ...
├── _layouts
├── _pages
│   ├── root
│   │   ├── about.html
│   │   └── contact.html
│   ├── root_worthy
│   │   ├── quickstart.html
│   │   └── seo-worthy-page.html
│   └── docs
│       ├── errors.html
│       └── api.html
├── _posts
└── index.html

1 个答案:

答案 0 :(得分:2)

您提到的PR似乎仍未合并。

对于3.1.6和下一个3.2,jekyll code is still

@relative_directory ||= "_#{label}"

the requester made a plugin看起来像这样:

<强> _plugins / collection_relative_directory.rb

module Jekyll
  class Collection
    def relative_directory
      @relative_directory ||= (metadata['relative_directory'] && site.in_source_dir(metadata['relative_directory']) ||  "_#{label}")
    end
  end
end