有一個個人博客或許是作為現(xiàn)代人的標配,今天就來一步一步地講講利用github和cloud9創(chuàng)建自己的博客竹伸。
Step1 在github上創(chuàng)建帳戶
plan里選擇unlimited public repositories for free
接下來就需要驗證你的電子郵件。
Step2 利用github page創(chuàng)建博客
Github Pages 是面向用戶辙售、組織和項目開放的公共靜態(tài)頁面搭建托管服務瑟蜈,站點可以被免費托管在Github 上,你可以選擇使用Github Pages 默認提供的域名github.io 或者自定義域名來發(fā)布站點谋梭。
注意repository name需要填寫的是:你的用戶名.github.io
創(chuàng)建完repository后,就需要用到博客模板了倦青。
現(xiàn)在github上主流的博客框架有hexo和jekyll瓮床,兩個都使用過后,覺得還是hexo更加簡單方便,所以這里主要介紹用hexo搭建博客隘庄。
Hexo 是一個快速踢步、簡潔且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章丑掺,在幾秒內(nèi)获印,即可利用靚麗的主題生成靜態(tài)網(wǎng)頁。
hexo的安裝需要Node.js和Git街州,在linux和mac上可以用代碼實現(xiàn)安裝兼丰,而在windows上比較蛋疼,所以我用到了cloud9唆缴,一個網(wǎng)頁版的linux虛擬機鳍征。
Step 3 利用cloud9安裝hexo
首先,需要在cloud9上創(chuàng)建一個工作環(huán)境面徽,選項如下:
其中艳丛,clone from git or mercurial URL里填的不用管,留空白就行
hexo的安裝需要Node.js和Git趟紊,下面將介紹這兩個東西的安裝
3 .1 安裝git
在命令行里輸入
sudo apt-get install git-core
3.2 安裝Node.js
終端中輸入:
nvm install stable
3.3 安裝hexo
有了上面兩個軟件后氮双,安裝hexo只需在終端中輸入:
npm install -g hexo-cli
Step 4 用hexo建站
安裝完hexo后,就可以利用hexo建站霎匈。代碼也很簡單戴差,只有三條
hexo init yourname
初始化,其中yourname是你的文件夾名字可隨意取
cd yourname
進入到你的文件夾
npm install
這里需要特別提一下铛嘱,官方的文檔里并沒講解如何配置與Github pages
進行關(guān)聯(lián)暖释,在此特意說一下配置信息。進入到你的站點(使用hexo init yourname命令時弄痹,這里的yourname文件夾目錄,然后以文本編輯器打開_config.yml
文件嵌器,并滾動到最下面添加如下配置信息(注意最下邊有deploy
和type字段肛真,覆蓋這兩個字段或者刪除這兩個字段然后復制下面的四個字段也行。):
deploy:
type: git
repo: 在github中復制粘貼
branch: master
把其中repo字段的值替換成你的github pages提交代碼的git地址爽航。
然后在命令行中輸入:
hexo clean
hexo g
hexo d
第一條是清楚緩存(clean)蚓让,第二條命令是生成本地發(fā)布文件夾(generate),第三條命令才是最后的發(fā)布到github pages上(depoly)
陷阱提醒
剛開始始終deploy不上讥珍,網(wǎng)上找了半天才知道有兩個陷阱:
(1)
ERROR Deployer not found: git
解決辦法是安裝一個擴展:
npm install hexo-deployer-git --save
(2)
ERROR: Permission to zhang-yinping/zhang-yinping.io.git denied to xxx
Could not read from remote repository.Please make sure you have the correct access rights and the repository exists.
則是因為沒有設(shè)置好public key所致历极。在本機生成public key(參考github幫助):
#ssh-keygen -t rsa -b 4096 -C "xxx@xxx.com"
然后在.ssh目錄下會生成兩個文件,id_rsa.pub和id_rsa.然后登陸github衷佃,在SSH設(shè)置頁面添加上剛才的public key文件也就是id_rsa.pub的內(nèi)容即可趟卸。
這里可以用指令:
ls -al ~/.ssh
然后點開id_rsa.pub文件:
復制里面內(nèi)容,粘貼到github的ssh設(shè)置里就可以了:
能正常運行hexo d之后,你的網(wǎng)頁也就上傳到github了锄列,可以輸入網(wǎng)址:
https://用戶名.github.io/
查看才建的博客:
是不是感覺很難看图云?接下來我們就要套用模板了
Step5 使用next模板
next是我發(fā)現(xiàn)的比較漂亮的hexo模板,詳見:next
Hexo 安裝主題的方式非常簡單邻邮,只需要將主題文件拷貝至站點目錄的 themes 目錄下竣况, 然后修改下配置文件即可。具體到 NexT 來說筒严,安裝步驟如下丹泉。
首先下載主題:
git clone https://github.com/iissnan/hexo-theme-next themes/next
接下來,將配置文件_config.yml中的theme改為next
接下來鸭蛙,就是用那老三條指令:
hexo clean
hexo g
hexo d
之后查看網(wǎng)站
https://用戶名.github.io/
更多設(shè)置詳見官網(wǎng)
至此摹恨,博客已搭建完畢,當然還有很多其他設(shè)置规惰,像綁定獨立域名睬塌,添加404公益頁面,添加about頁面等歇万,可以看這里
Step6 發(fā)布新博文
建站之后有默認的一篇博文「Hello World」揩晴,里面詳述了如何創(chuàng)建新博文。除了利用這篇博文中介紹的hexo new post NAME的命令之外贪磺,你還可以通過在「站點根目錄」的source/_posts文件夾中創(chuàng)建 Markdown 文件來創(chuàng)建新博文硫兰,不過要在文件開頭加上這么幾行:
---
title: 用github和cloud9創(chuàng)建自己的博客
date: 2017-08-2
tags:
- blog
- markdown
---
最后,還是用那老三條指令:
hexo clean
hexo g
hexo d
就能在網(wǎng)頁里看到新的博文了寒锚,并且有目錄:
ps:測試博客可以用指令:
hexo server -i $IP -p $PORT
總結(jié)
- 論壇里經(jīng)常有人問劫映,換了電腦怎么更新blog,用cloud9這種辦法就可以完美解決刹前,只要那臺電腦上有瀏覽器泳赋。
- cloud9里存的文件是一直在那個項目里的,他相當于你的一臺虛擬電腦喇喉,里面裝的各種軟件也會一直存在祖今。
- 當然可以用cloud9去做linux下的一些事情,新建一個項目就好拣技。
- 剛開始找建博客資料時遇到各種命令行代碼千诬,而我用的又是windows,走了不少彎路膏斤,用這種方法只要把代碼拷貝到cloud9里運行就好徐绑。
- 希望每個人都可以完成自己的blog建立
附錄
最后想說說設(shè)置ssh時的坑。
設(shè)置ssh是為了在用hexo d時不用輸入用戶名和密碼莫辨,在開始時傲茄,我用了https的方法毅访,每次都需輸入用戶名密碼,repo在換成ssh之后烫幕,各種不行俺抽,最后發(fā)現(xiàn),這都是權(quán)限問題较曼。
剛開始輸入hexo d時遇到的問題類似:
permission denied, open '/home/ubuntu/workspace/zhang-yinping/db.json'
一看permission denied磷斧,想當然在前面加了sudo,沒想到這讓我進入了另一個坑捷犹。
這下錯誤變成了:
Error: Permission denied (publickey). fatal: Could not read from remote repository
網(wǎng)上找了半天解決辦法弛饭,最后終于找到,詳見這里
原因:
生成ssh公鑰時萍歉,用的命令是 ssh-keygen -t rsa -C “xxx@xx.com”
沒有加sudo侣颂,生成的公鑰是當前用戶的,路徑是 ~/.ssh枪孩。而sudo hexo deploy命令執(zhí)行的時候應該會去讀取的root用戶的公鑰憔晒,很顯然root下還沒有對應的公鑰信息生成。
解決方法
生成ssh公鑰時蔑舞,用命令 sudo ssh-keygen -t rsa -C “xxx@xx.com”
提取公鑰信息并配置到github中通過
sudo cat /root/.ssh/id_rsa.pub
先顯示公鑰拒担,再直接復制,然后就成功啦攻询。
此時再回到最開始的問題从撼,如果我們不用sudo呢?
于是我找到了chown
sudo chown ubuntu:ubuntu -R ./zhang-yinping
其中的兩個ubuntu分別是用戶名和組名钧栖,可以通過whoami和groups找到
chown的詳細用法見這里
這樣修改以后低零,hexo d這條指令就可以正常使用了。