【问题标题】:Running Jekyll on ONLY sub-directory of custom domain through GitHub通过 GitHub 仅在自定义域的子目录上运行 Jekyll
【发布时间】:2020-04-26 17:33:11
【问题描述】:

我正在尝试建立一个个人网站(具有自定义域并托管在 GitHub Pages 上),它允许我显示以下内容:

  • username.com - 使用我自己的代码的自定义域(不是通过 Jekyll)
  • username.com/blog - 子目录博客(通过 Jekyll)

我不知道该怎么做。我尝试过其他在线教程,但大多数都是处理子域(不是子目录),使用默认的 github.io 项目域(不是自定义域),或者根本不起作用。任何帮助将不胜感激。

【问题讨论】:

    标签: github jekyll


    【解决方案1】:

    您需要做的就是在您的 Jekyll 配置文件中包含以下内容:

    # _config.yml
    
    url: "https://username.com"
    baseurl: "/blog"
    

    然后确保为链接引用使用relative_urlabsolute_url 过滤器。例如:

    <a href="{{ page.url | relative_url }}">{{ page.title }}</a>
    

    最后生成一个产品_site

    bundle exec jekyll build
    
    # or if you don't have a Gemfile
    jekyll build
    

    【讨论】:

    • 我仍然无法将 GitHub 存储库显示在 username.com/blog 而不是 username.github.io/blog
    • 我应该将 Jekyll 站点设置为 username.com 站点文件夹的子目录吗?我目前将它设置为一个名为 blog 的单独存储库。
    【解决方案2】:

    我最终自己解决了这个问题:我发现我遇到的主要问题是我的username.com 网站是作为项目站点而不是用户/组织托管的网站。修复方法是创建一个名为username.github.io用户/组织站点 存储库,然后应用重定向到username.com 的CNAME/DNS 更改。 (虽然有点难过,我使用 username.github.io 作为测试站点。)

    从那里,发布到gh-pages 分支的所有存储库都将显示为用户/组织站点 的子目录。如果 CNAME/DNS 保持不变,名为 blog 的存储库将显示为 username.github.io/blog;由于我更改了 CNAME/DNS 设置,名为 blog 的存储库显示为 username.com/blog

    希望能帮助其他遇到类似问题的人!祝大家好运!

    【讨论】:

      猜你喜欢
      • 2014-06-18
      • 2017-09-21
      • 1970-01-01
      • 1970-01-01
      • 2013-12-27
      • 2019-04-26
      • 1970-01-01
      • 2023-04-11
      • 2017-05-20
      相关资源
      最近更新 更多