6

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

对于一个项目,一切正常。我有一个内容文件夹以及 css/js 文件夹。我运行“jekyll serve”并发布了一个项目。

问题是,我不想让 30 个 Jekyll 项目一个接一个地存储,并且具有相似的 css、configs、js 文件夹,并且只会在内容部分有所不同。

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

喜欢:

_product1/

  • some_subdir

    '主题.md'

_product2/

  • some_subdir

    '主题.md'

如果可能的话,我该如何管理输出?我需要分别发布产品 1 和产品 2 ...产品“x”。

感谢您的帮助。

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

4

1 回答 1

4

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

这是一个使用 Collections 的 Jekyll 网站示例: https ://github.com/netponto/netponto.github.io

_meetings, _members, 和_sessions是不同的集合,类似于您的_product1,_product2等。


您可以自定义输出/URL 在_config.ymlJekyll 站点中的显示方式。例如:

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

要显示集合的项目,例如“会话”集合,您可以执行以下操作:

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

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

于 2018-01-22T20:47:24.613 回答