less than 1 minute read

沒事不要亂學東西!

有學習目標時,再針對需求進行學習!

鍾獻慶

當把網頁架設在GitHub上,使用GitHub Pages來顯示靜態網頁時。如何設定Jekyll的_config.yml檔中的url及baseurl,就成了一個問題。

遭遇問題與嘗試解法

原本網站是架在https://[username].github.io這個網域上。所以Jekyll的_config.yml檔,僅需設定url,不用設定baseurl

url                      : "https://[username].github.io" # the base hostname & protocol for your site e.g. "https://mmistakes.github.io"
baseurl                  : # the subpath of your site, e.g. "/blog"
repository               : "[username]/[username].github.io" # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes"

但另外開一個叫ProjectSite的專案(就假設這個專案名稱叫ProjectSite),並設定其為GitHub Pages後,GitHub預設會將這個GitHub Pages架在https://[username].github.io/ProjectSite下面。所以Jekyll的_config.yml檔,就需要設定urlbaseurl。設置如下。

url                      : "https://[username].github.io" # the base hostname & protocol for your site e.g. "https://mmistakes.github.io"
baseurl                  : "/ProjectSite" # the subpath of your site, e.g. "/blog"
repository               : "[username]/ProjectSite" # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes"

案例

Minimal MistakesA Jekyll theme這個站點,網址為https://mmistakes.github.io/minimal-mistakes/

其Jekyll的_config.yml檔,裡面的urlbaseurl設置如下:

url                      : "https://mmistakes.github.io" # the base hostname & protocol for your site e.g. "https://mmistakes.github.io"
baseurl                  : "/minimal-mistakes" # the subpath of your site, e.g. "/blog"
repository               : "mmistakes/minimal-mistakes" # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes"

詳細解釋url及baseurl

網友Parker對url及baseurl有詳細解釋,可參考他的說明。

Clearing Up Confusion Around baseurl – Again

相關連結

Static files url does not support baseurl #2553

add baseurl error #3110

Baseurl and url in config doesn’t work for Jekyll on Github

Leave a comment