我认为设置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
答案 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