在一个网站上使用多个主题 jekyll

Use multiple themes on one website jeykll

我最近了解到 jekyll, and want to make a project landing page with it. I would like to have a home page using one theme (e.g. ubuild) and have another page for the docs (accessed via a navigation bar at the top) that uses a different theme (e.g. just-the-docs)。我该怎么做?

编辑:我想为此使用 Github 页。

解决方案是创建两个单独的网站。第一个站点仅包含主页,应部署到 Web 文件夹的根目录。第二个站点包含所有文档,应部署到子目录,如“/docs/”。您可能想为此使用 baseurl:https://byparker.com/blog/2014/clearing-up-confusion-around-baseurl/

我认为您不能在 Github 页面上使用此解决方案。您可以尝试向两个存储库添加相同的 CNAME,因为我不是 100% 确定。任何其他静态托管环境都应该可以工作。

您可以 link 通过 linking 到“/”从文档转到主页。您可以通过 linking 到“/docs/pagename/”(假设您使用 permalink: pretty)从主页 link 到文档。

由于您打算只在一个页面上使用其中一个主题,我认为最好的解决方案是使用两个基本布局而不是两个主题。

最初需要做一些小工作,但会大大简化以后的维护工作。

首先设置站点以呈现 所有页面just-the-docs 主题,包括着陆页。然后将 _layouts/home.html 修改为 父布局 (类似于 default 布局) 从 ubuild.. 主题呈现标记。

使用 Jekyll 和 GitHub Pages 在同一个站点上维护两个布局的最简单方法是为新布局创建一个新的存储库,因此主站点位于 GitHub需要使用不同布局的组织和页面必须在您的存储库中。

不过,如果你不使用GitHub,只是jekyll,只需将每个文件夹配置为一个新的Jekyll项目,并指示它们写入_site文件夹中的各个子文件夹即可。为了一切顺利,你需要从主文件夹启动 Jekyll Server,然后分别构建每个子文件夹,这样它就会在不删除主文件夹的情况下更新

我在@JoostS 的回答的帮助下解决了这个问题,但做了一些修改:

  1. 在 GitHub 页面上建立组织,并使用名为 <org-name>.github.io 的回购协议。这个 repo 应该包含主页的主题(ubuild 在我的例子中)和它的所有内容。

  2. 使用 jeykll 站点创建另一个 repo,名为 docs。该网站应该有您想要的其他页面的主题(just-the-docs 在我的例子中)以及所有内容。

  3. docs 存储库中,baseurl: "/docs" 添加到您的 _config.yml

  4. <org-name>.github.io 存储库现在应托管在 <org-name>.github.io/:

  5. docs 存储库现在应托管在 <org-name>.github.io/docs url:

  6. 到link到docs页面,你现在应该可以使用/docs了。