最近突發奇想,想試試GitHub pages來搭建博客。網上一搜一大堆,嗯。。。看來還是挺簡單的。。。於是自己擼起袖子干。。。。。。
結果對於我這種GitHub注冊過,git 沒用過,ruby、jekyll 是么都不知道的小白來說,一路踩坑的感覺,真的不要太酸爽。。。。。。
下面記錄我從零開始搭建博客的過程:
說一句,大神請繞道,不喜勿噴啊,內容有點多。。。
復雜方法:
第一大步:注冊github並創建一個倉庫
1.用自己的郵箱注冊
注:用戶名建議用小寫,后面會提到原因。
2.新建一個倉庫
登錄之后,點擊右邊這個按鈕
然后出現下面的內容
第一個是要創建的倉庫的名稱。名稱不能亂取,需要寫成:用戶名.github.io。假如我用戶名是gioiaup,那么這里倉庫名就需要填入gioiaup.github.io。
第二個表示是否需要創建一個README文件,個人認為可要可不要,因為找的主題模板里面有。
創建之后
這里顯示的url,即當前倉庫的遠程地址,可用於clone或者push。
到此,github的工作就准備完成了90%。還剩SSH公鑰沒配置,后面會提到。
第二大步:安裝jekyll
1.下載並安裝git
安裝完成后,鼠標右鍵就有這兩個選項了
2.安裝ruby
這是下載鏈接:https://rubyinstaller.org/downloads/
由於需要安裝ruby和devkit,我就下載了官方推薦的兩個合成一個的安裝包,如圖:
我電腦是64位的,就選的第一個。
安裝的時候,接受條款之后的下一步
選擇一個文件夾放ruby。我認為可以把utf-8這個選項勾上,雖然我不清楚有什么用,但感覺utf-8和中文有聯系、必須要的樣子 。
再下一步會出現如下的選項:
記得把那個MSYS2勾上,不然后面會出現很多問題,讓你先安裝這個MSYS2。唉,一個坑。
如果安裝的時候出現阻止安裝的情況記得允許。。。
安裝完之后,會自動勾選,點擊finish就行,然后會自動彈出dos窗口,然后讓你選擇
我選擇的1,第二個選項應該是一樣的效果吧。。。
到最后會提醒你安裝成功了,然后點擊enter就行了。
3.安裝jekyll.
打開dos,輸入gem install jekyll,開始安裝jekyll。
稍等一下會出現如下一堆東西
這說明jekyll正在安裝
安裝完jekyll之后,在dos里面輸入jekyll -v,如果出現版本號,則說明jekyll安裝成功。如圖:
4.找自己喜歡的主題
jekyll主題模板下載:http://jekyllthemes.org
這是一部分主題,選一個自己喜歡的主題。比如選擇第一個,進入。這個時候你就有三個選擇
a) 如果選擇homepage,你就進入到該主題的GitHub主頁,然后該頁面有個clone綠色的按鈕,有個url地址,這個地址就能用來克隆該主題的所有文件
克隆方法:在需要放博客的文件夾里,鼠標右鍵選擇 git bash here,然后出現 $ 符號后,輸入git clone url(這個url是上面那個主題clone顯示的url地址,可以copy之后在git里右鍵paste粘貼),如圖:
克隆完成之后,就會在當前文件夾里看到選擇主題的所有文件了
這就克隆成功了。當然在主題那里選擇download的話,就不用克隆了。
b) download就不用說了。直接解壓到所需文件夾里就行
c) 選Fork的話,是最簡單的一種辦法。后面會介紹
5.安裝bundle
在dos里面,輸入gem install bundler
出現這個就算安裝好了。
然后進入clone或者下載的博客的文件中,鼠標右鍵git bash here,輸入bundle install,再次安裝bundle。我搞不懂為什么。
類似這樣的。
如果不安裝bundle的話,在git中執行:bundle exec jekyll s會報錯。又是一個坑。。。。。。
6.修改配置文件
在clone或者下載之后,各種需要的文件都安裝完成之后。修改_config.yml中的配置。比如當前這些文件的路徑。
假如我新建了一個test文件,然后在這個文件里面使用git clone了喜歡的主題,主題的名稱是blog,那么就是 test \ blog下才是所有的主題文件。這時需要把文件的路徑改為“/blog”,注意是 “ / ”,不是 “ \ ”,/blog前面的路徑不管 ! ! !當然,你也可以不用新建文件夾,直接就在桌面clone 。
正常來說clone之后_config.yml的配置都有下面兩個路徑配置。只需關心第一個baseurl就行了。一般都是自動配置好的,就是你clone之后博客主題文件的名稱。比如你要把clone下來的文件名改成其它的名稱,那baseurl就需要修改,否則不用管。
7.本地預覽
配置完成后,在當前主題的文件夾里鼠標右鍵,git bash here,輸入bundle exec jekyll s 這里s是serve的簡寫。然后就可以在 localhost:4000/blog/ (注意blog后面的"/"不能省略,不然顯示不出來)或者127.0.0.1:4000/blog/ 上預覽自己的主題博客了。如果出現404頁面等問題,就是路徑沒配置正確。
上圖就是是url配置成功之后顯示的頁面。如果修改了配置之后,需要重新執行bundle exec jekyll s。
8.配置SSH公鑰
要想實現直接訪問 用戶名.github.io 就出現自己選擇的博客主題,還要經過這一步。
設置ssh鑰匙的原因是讓git獲取push權限,這樣在每次pull或者push的時候就不用每次都輸入密碼。如果push提交代碼的時候會出現permission denied (publickey)權限不允許的問題,也是沒配置SSH導致的。
在git bash here中輸入ssh-keygen -t rsa -b 4096 -C "your_email@example.com" 引號中的是你注冊github時的郵箱。
后面會讓你輸密碼,你可以直接按enter不設置就行。
然后就會出現你的ssh明文。它是被保存在C:\Users\Administrator\.ssh 這里面的。
然后你可以在git中或者用記事本打開,查看你的SSH公鑰
git查看的方式 輸入:cat ~/.ssh/id_rsa.pub。
9.在github中設置SSH公鑰
頭像 --> setting --> SSH and GPG keys -->New SSH key -->
把id_rsa.pub中的內容復制到key中,然后取個名稱。點擊Add SSH key,然后隔幾秒github會給你發個郵件,如下:
說明添加成功了。
然后在git中輸入ssh -T git@github.com,出現下面的內容
則說明SSH設置成功了,這樣就可以push本地的文件到github中了。
10.本地文件push到github指定倉庫中
這個時候,可以在git中輸入 git status,查看文件是否修改過,如果修改過的,就會出現下圖
這時,輸入:git add . (注意這里有個點),先添加修改文件,這時再輸入git status時,那些紅色的文件都變成綠色了。
然后再輸入git commit -m "內容" 內容指的是提交的說明,每次提交文件時都寫個提交說明,以便清楚地了解做了什么修改。
這個時候再查看git status
說明就能提交了。
最后輸入:git push url(這個url是你創建的倉庫的url)
然后等它慢慢上傳。。。
這樣就算成功了,然后在倉庫頁面刷新一下。就上傳上來了。
這個時候就差最后一步了。再次修改_config.yml的url,上一次修改我是為了在本地預覽才修改的,這次是網絡上直接訪問 用戶名.github.io 才修改的
注意:這時的url多數需修改為setting中 GitHub Pages 的那個地址,比如我的主題我就改成:baseurl: "https://isunbeam.github.io/",有些博客主題直接不用填,即baseurl:" " 就行。
然后等到GitHub Pages 中那個地址的背景變成綠色就算成功修改了。
這樣就能成功訪問了。
簡單方式:
不用安裝各種文件,只需擁有github賬戶,然后進入需要fork的jekyll主題的github頁面,然后在該頁面下點擊fork之后,它會自動在你的GitHub里創建一個倉庫,這時候,你需要進入到你fork的倉庫的setting里面
1. 修改當前倉庫的名稱:
注意:再次提一下,假如我的GitHub用戶名為gioiaup,那么這里倉庫的名稱就必須為gioiaup.github.io,即用戶名。github。io.
提醒:用戶名建議小寫,因為有 User, Organization, and Project Pages 功能,而 domain 域名是不區分大小寫,默認是小寫。我最開始用戶名就是駝峰的寫法,因此倉庫名也是駝峰的方式,結果博客搭建好的時候,頁面上顯示告訴我找不到各種文件,一看是把配置文件中url的大寫都自動改成小寫。。。。。。坑
當點擊rename之后,如果成功發布了頁面,那么github就會給你發郵件,類似下圖(這里我已經把用戶名改成isunbeam了,所以發過來的郵件顯示的是isunbeam.github.io,后面會提到怎樣改用戶名)
當郵件發過來之后,你在setting里面github pages選項就能看到如下的提示信息,這就說明博客發布成功了。


在我選擇的這個主題中,配置url的在43行,然后修改該文件下43行處baseurl,
修改之后:
點擊該按鈕就修改完成了,這個時候,只需要等到github給你發郵件,就說明修改成功了。你就能正常訪問 用戶名.github.io了。
如果css或者js文件還是未找到,你看看控制台報錯的路徑,再修改baseurl就行了。多半baseurl都是 用戶名.github.io,但有些不填即置為空才正確。
這些配置完成后就能正確顯示你fork的主題的內容了。
用戶名的修改:
在這setting里面的Account中的
修改之后,如果出現下面的情況
說明用戶名被占用了,如果出現如下的內容,則說明修改成功
呼。。。。。。終於寫完了。雖然建博路程磕磕碰碰,但是終究還是弄出來了。
對了,建博成功之后,修改成自己想要的就很簡單了,可以本地修改再push,也可以就在github上修改。改之后都要等一會,即等到github pages的那個地址背景變綠色之后才有修改的效果。
學到了炒雞多的知識,還是挺欣慰的。O(∩_∩)O哈哈~