由於GitHub 的約定,一個賬戶只能擁有一個GitHub Pages,那么,如果你有多個想部署的靜態網站(博客和文檔等),它們是互相隔離的,如何用同一個GitHub賬戶進行部署呢?
從之前如何搭建GitHub Pages的系列文章用GitHub Pages搭建博客(一),我們知道Jekyll或者Hexo實現的靜態網站的配置中,常常要指定一個當前網站的目錄。
如果我們的相關內容直接在當前項目的根目錄下,jekyll將從當前目錄進行加載,如果在某個子目錄下,在jekyll的配置文件中指定該目錄即可正確加載。
而如果我們需要部署一個博客+
一個文檔(如docsify)在同一個GitHub Pages域名下時,我們可以將內容拆分為不同的子項目存儲。
訪問示例:
主域名 -> 博客項目
主域名/路徑 -> 文檔項目
比如,我創建了一個GitHub Pages項目(名稱dev2007.github.io
),然后在配置中開啟了GitHub Pages,那么這個項目就是對應的主域名訪問,如下:
示例鏈接:https://dev2007.github.io/
如果想給主項目增加子目錄的訪問,則是項目中增加子目錄,然后在jekyll的配置文件中指定子目錄相關信息。
然后,我需要一個項目的專門文檔項目,使用相應的工具(如docsify)進行文檔編寫。我需要將它也部署到GitHub Pages中進行訪問,只需要直接在該項目的Settings
中GitHub Pages
標簽中,指定分支和目錄,開啟該項目的GitHub Pages。系統會自動按項目名稱分配域名子路徑。如下:
示例鏈接:https://dev2007.github.io/es-book/
通過以上方式,我們就將兩個項目部署到了同一個GitHub Pages中。如果進一步想使用子域名,在項目的
Custom domain
中進行配置即可。
2021-05-18 補充
關於多項目下,如何設置自定義域名。
由於github的所有項目只能有一個 github pages 域名(如我的項目:dev2007/dev2007.github.io,域名為https://dev2007.github.io),其他開啟 github pages 的項目都是這個域名的子目錄(如項目dev2007/imgs,域名為https://dev2007.github.io/imgs)。
而我想將他們分別配置為我的子域名:
項目 | github域名 | 自定義域名 |
---|---|---|
dev2007/dev2007.github.io | https://dev2007.github.io | https://blog.shiyueshuyi.xyz |
dev2007/imgs | https://dev2007.github.io/imgs | https://images.shiyueshuyi.xyz |
我們只需要在域名服務商的管理界面上,將子域名指向 github pages 域名。即配置CNAME:
blog -> CNAME -> dev2007.github.io
images -> CNAME -> dev2007.github.io
然后在 github 的相應項目的 Pages 配置添加相應的域名:
dev2007/dev2007.github.io -> 配置自定義域名 blog.shiyueshuyi.xyz
dev2007/imgs -> 配置自定義域名 imags.shiyueshuyi.xyz
稍等 DNS 生效后,就可以使用子域名訪問相應的 github pages主項目、子項目網站了。
歡迎關注我的博客:Awu's Blog | 阿嗚的邊城
歡迎關注我的公眾號:阿嗚的編程
這里沒有枯燥的技術分享,這里只有程序員的生活與浪漫,如“邊城”一般。
題圖來源 :unsplash