如何在单个Jekyll项目中组织多个输出?

时间:2018-01-19 10:40:30

标签: jekyll documentation-generation jekyll-paginator

我使用Jekyll为软件产品创建文档。我有30+ 具有共同LIQUID模板但内容不同的不同产品。每个产品文档都有自己的目录

对于一个项目,一切都很好。我有一个内容文件夹以及css / js文件夹。我跑了" jekyll serve"并发布一个项目。

问题在于,我不希望将30个Jekyll项目一个接一个地存储在另一个具有类似css,configs,js文件夹的项目中,并且只会在内容部分中有所不同。

问题是:我如何组织内部结构,以便我有一个 单一项目,具有共同的布局和' x'单个项目中的不同内容文件夹?

像:

_product1 /

  • some_subdir

    ' topic.md'

_product2 /

  • some_subdir

    ' topic.md'

如果可能,我该如何管理输出?我需要发布产品1和产品2 ...产品' x'分开。

感谢您的帮助。

UPD:这是GitHub上的演示项目:https://github.com/plywoods/JekyllDocumentationDemo

1 个答案:

答案 0 :(得分:4)

在Jekyll中进行内容分离的方法是使用Collections

以下是使用集合的Jekyll网站示例: https://github.com/netponto/netponto.github.io

_meetings_members_sessions是不同的集合,类似于您的_product1_product2等。

您的Jekyll网站的

You can customize the output / how the URL is going to be in the _config.yml。例如:

collections:
  meetings:
    output: true
    permalink: /reunioes/:path/
  sessions:
    output: true
    permalink: /sessoes/:path/

显示集合的项目,例如"会话"集合,你做something like this

{% for session in site.sessions %}
  <p>{{ session.title }}</p>
{% endfor %}

如果您在实施收藏集时遇到问题,请在GitHub上放置一个可重现的示例,以便其他人可以看到您尝试做的事情,并指出缺少的内容。