jekyll / github-metadata

Jekyll plugin to propagate the `site.github` namespace and set default values for use with GitHub Pages.

Home Page:https://jekyll.github.io/github-metadata/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

site.url set to github.com

asbjornu opened this issue · comments

For some reason, I'm getting the following URLs in my Jekyll site:

 Code URL
page.url | absolute_url https://github.com/pages/SwedbankPay/swedbank-pay-design-guide-jekyll-theme/
site.url https://github.com
'/assets/css/main.css' | relative_url /pages/SwedbankPay/swedbank-pay-design-guide-jekyll-theme/assets/css/main.css

There are several things that are puzzling me here:

  1. Why is site.url set to https://github.com and not the configured GitHub Pages domain https://swedbankpay.github.io/? I get the same behaviour on sites with custom domain names as well; site.url is set to https://github.com regardless.
  2. Why isn't site.url set to github.pages_hostname or an Octokit pages.html_url equivalent?
  3. Where is /pages/ coming from and in which configurations of GitHub Pages or Jekyll does that base_url make any sense?
  4. These URLs seems to have been mangled as we went from relying on GitHub Pages to build our .html files to us building them ourselves by manually invoking jekyll build. What do we have to do to make our custom Jekyll build work?

We could of course remove jekyll-github-metadata, but then we would loose github.public_repositories and other useful objects used to dynamically build parts of our Jekyll site. It would be better if we could just completely turn off jekyll-github-metadata's URL configuration, or at least somehow tweak it to give us the right values.

Right now I'm looking at jumping through quite a few hoops in order to set site.url to github.pages_hostname. Any pointers to how I can do that the simplest way possible would be highly appreciated.

After some serious amount of digging it seems that if the environment variable JEKYLL_GITHUB_TOKEN is passed into the build, the behavior changes dramatically. By forking this repo and adding a few more log statements we were able to get the following result. Without JEKYLL_GITHUB_TOKEN defined:

GitHub Metadata: Adding url and base url fallbacks...
GitHub Metadata: Url is set to https://github.com
GitHub Metadata: baseurl is set to /pages/SwedbankPay/swedbank-pay-design-guide-jekyll-theme

With JEKYLL_GITHUB_TOKEN defined:

GitHub Metadata: Adding url and base url fallbacks...
GitHub Metadata: Url is set to https://swedbankpay.github.io
GitHub Metadata: baseurl is set to /swedbank-pay-design-guide-jekyll-theme

Why GitHub Metadata is touching site.url and baseurl when JEKYLL_GITHUB_TOKEN is not defined seems like a serious bug to me. Under which circumstance will the fallback values used when JEKYLL_GITHUB_TOKEN is not set make any sense whatsoever?

The log statements seen in here is added in #189

This issue has been automatically marked as stale because it has not been commented on for at least two months.

The resources of the Jekyll team are limited, and so we are asking for your help.

If this is a bug and you can still reproduce this error on the master branch, please reply with all of the information you have about it in order to keep the issue open.

If this is a feature request, please consider whether it can be accomplished in another way. If it cannot, please elaborate on why it is core to this project and why you feel more than 80% of users would find this beneficial.

This issue will automatically be closed in two months if no further activity occurs. Thank you for all your contributions.