【问题标题】:Use multiple themes on one website jeykll在一个网站上使用多个主题 jekyll
【发布时间】:2019-10-06 21:54:43
【问题描述】:

我最近发现了jekyll,并想用它制作一个项目登录页面。我想有一个使用一个主题(例如ubuild)的主页,并有另一个使用不同主题(例如just-the-docs)的文档页面(通过顶部的导航栏访问)。我该怎么做?

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

【问题讨论】:

  • 你成功了吗?
  • 是的,我刚刚发布了一个答案。完全忘记了,谢谢提醒!让我知道该解决方案是否适合您。实际上我有一段时间没有接触 Jekyll,所以我可能错过了一些东西:)

标签: ruby jekyll jekyll-theme


【解决方案1】:

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

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

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

【讨论】:

  • 好主意!我会试试的,然后会回复你。
【解决方案2】:

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

  1. 在 GitHub 页面上使用名为 <org-name>.github.io 的存储库创建组织。这个 repo 应该包含主页的主题(在我的例子中是ubuild)和它的所有内容。

  2. 使用名为 docs 的 jeykll 站点创建另一个 repo。这个网站应该有你想要的其他页面的主题(在我的例子中是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 网址:

  6. 要链接到docs 页面,您现在应该可以使用/docs

【讨论】:

  • 只有当你在 GitHub 页面上有一个项目时,如果你有多个项目,这才有效,这是没用的,因为它只是劫持了主 GitHub 页面。
【解决方案3】:

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

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

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

【讨论】:

  • 如何在 github pages 这样的服务上部署两个网站?另外,如果我这样做,我可以通过相对链接直接链接到另一个网站吗?如果不是,我如何链接到保存文档的其他网站?
  • 好的,我想让它能够托管在 github 页面上(对不起,我应该将它添加到我的问题中)。
  • 我认为这是不可能的(如上所述)。
  • 我也许可以为文档创建一个网站并组织和使用不同的base_url,然后作为绝对链接链接到它(例如org_name.github.io/docs/home 作为不同的网站) .我觉得有点像this,在组织下有不止一个回购,但这是我想避免的事情,而且看起来有点 hacky。
  • 我认为主题通常假设您将它们用于整个回购。我在这里没有看到明显的解决方案。
【解决方案4】:

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

但是,如果你不使用 GitHub,只使用 jekyll,只需将每个文件夹配置为新的 Jekyll 项目,并指示它们写入 _site 文件夹中的相应子文件夹。为了解决所有问题,您需要从主文件夹启动 Jekyll Server,然后分别构建每个子文件夹,因此它会在不删除主文件夹的情况下更新

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-31
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    • 1970-01-01
    • 1970-01-01
    • 2011-09-05
    相关资源
    最近更新 更多