Hexo + Github 安裝大補帖
可以直接看最後面的murmur…
一份安裝過程紀錄,並把安裝過程分享給大家。本身是物理出生而不是CS,只好摸索該怎麼架站並記錄下來。會選用Hexo+github的原因是原本用在Blogger實在是讓人不爽,為什麼不能直接遠端上傳markdown文件阿!我需要的文件只需要markdown,但Blogger弄很多複雜的東西有點令人感到不爽(當然也是很方便拉),也因此在因緣際會底下就開始使用了這個台製的Hexo架構[^1],試用了兩個月發現其實還不賴!就算是整個站掛點還是可以很快速的救回來!
平常使用有多簡單?
為了使大家能夠入坑,說明一下平常文章發佈跟寫作到底需要哪些指令呢?就4+1個指令,跟簽五年碩士一樣,是不是真的很簡單呢? ^2 如果遇到要debug真的是痛苦到讓人想要殺人
四步驟的部屬指令
$hexo g(generate) 產生靜態檔案$hexo s(sever) 在local運行網誌(不一定要先產生靜態檔案也可以)$hexo d(deploy) 部屬至github(或是其他地方)$hexo clean 清除靜態檔案
一步驟產生新文章
$hexo new [預設格式(選擇性)] <標題>
這樣,有覺得心動想要繼續看下去吧XD
先看看作者Tommy Chen[^1] 發展這個架構的心得吧!
下載與安裝基本配置
本篇安裝過程以fedora27爲範本作為安裝程序。其他安裝詳情可以查閱[官方文件][Hexo-docs]與其他神手的心得^5。
必備程式(這兩個應該是不會玩到壞掉拉…)
利用Wget安裝Nodejs
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
一旦安裝完成,重啟終端機並執行下列指令以安裝 Node.js與npm^3。nvm install stableGit
sudo dnf install git-core
安裝hexo
透過 npm 安裝 Hexonpm install -g hexo-cli
建立專案(你的blog資料夾)
1 | hexo init <folder> |
到上面為止基本上架構就完成了
調校整理
外掛安裝方式
由於Hexo是一個掛在npm底下的一隻程式(應該是可以這樣理解),也因此有很多大神幫忙製作了許多好用的插件(外掛)在Hexo上,有需要的話就參考看看吧,這是個人常用的一些外掛。
外掛安裝方式請在自己的blog子資料夾中開始以下的動作。npm install [外掛名稱]
或者是簡潔一點npm i [外掛名稱]
下面這個加了-g的是全域安裝。沒有global的就是只有在目標資料夾底下安裝所需的package。npm i -g
外掛
大部分的外掛都可以在官方外掛頁面上查詢到。可以查看我的另外一篇網誌。 這裏只有說明要怎麼順利將網誌上傳至Github
[hexo-deployer-git][deployer-git]
為了守護github,讓你的資料能夠正常的放到github上,這個東西「必裝」。除了安裝這個外掛外,在Github上也需要增加SSH Key才能讓通訊協定達成。有需要可以看[github-ssh說明文件][github-ssh],或是參考下面Github的部份
個人在_config.yml中的設置如下:
1 | deploy: |
順利上傳網誌至Github
- 看你的電腦裡面有沒有鑰匙
ls -al ~/.ssh
如果有如同下列這些的檔案,那就可以跳到步驟3.id_dsa.pub
id_ecdsa.pub
id_ed25519.pub
id_rsa.pub - 安裝ssh-keygen
sudo dnf install ssh-keygen - 在終端上產生新的key
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" - 將ssh鑰匙加到ssh-agent
背景執行ssh-agent
eval "$(ssh-agent -s)"
將私人SSH鑰匙加入ssh-agent,注意檔名。
ssh-add ~/.ssh/id_rsa - 複製貼上
超強複製貼上神器(其實我第一次見到它是在github的說明文件…,不過蠻好用的)
sudo dnf install xclip
複製你的鑰匙吧,貼到Settings -> SSH and GPG keys -> New SSH key 上面
xclip -sel clip < ~/.ssh/id_rsa.pub - check
ssh -T git@github.com
基本上順著這個流程走應該是沒問題,個人沒有碰到什麼奇怪事
npm 砍掉重練
基本上就是把node_modules整個砍掉就是了^4,好孩子沒事不要學。
npm ls -gp --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
Murmur…..
這個Blog主要規劃拿來寫讀書心得跟學習筆記,但要自己DIY弄網誌,就必須要學會基本的語法設定,所以一開始不得不寫電腦相關的技術文章。寫紀錄,除了花費大量時間撰寫相較來說是缺點外,建立自己的知識庫與未來若發生問題,可以有跡可循(就跟寫實驗紀錄一樣拉),這也是寫文章的原因。
之前,Hexo架設幾乎就是整個砍掉重練大概花了一個早上的時間(其實只有兩個小時剩下時間都在摸魚…),用hexo+github,可以在短時間內把玩爛掉的網站直接重新架設好,真的很感謝,打文件花的時間似乎跟安裝一樣,不要小看短短的一篇文章,越是清晰有架構的解釋文,網路上的大神所花費的時間就越多,真的很佩服大神們願意無條件的分享自己的學習經驗在網路上阿。
這樣什麼時候開始打天文物理相關的文章呢…
Murmur2 2018.03.27新增
前幾天想要安裝markdown-it的時候又爆炸,實在是哭不出來。對於不是走網頁前後端的人來說,使用這個系統還是有些吃力(當然如果要無腦使用是不需要花費這麼多經歷拉,無腦架設網誌,應該也不會選擇用Hexo就是XD)。原本想說NEXT從此就爆炸不能用了,沒想到應該是我安裝某些套件使得相容性產生問題。最近一直在修復這些問題,還在努力中。希望可以趕快把這個平臺架設起來!另外,要記得一件很重要的事-記得備份
Hexo與其他類似管理系統比較
Techiediaries - How to Choose the Right Static Generator: Jekyll vs. Hugo vs. Hexo
Segmentfault - 更換博客系統——從jekyll到hexo
P.S. 根據上面的比較,Hexo是很有發展潛力的一種部落格框架,並且他唯一的缺點是缺少英文文件的支援(我似乎可以把文件改成英文的阿哈哈哈XDDD). I’ll try to rewrite this page into English instead of Mandarin/Chinese.
- 標題: Hexo + Github 安裝大補帖
- 作者: Kuei Jiang | 姜奎
- 撰寫於 : 2017-09-09 10:21:32
- 更新於 : 2018-03-28 10:00:00
- 連結: https://fractalrhythm.junyilabs.blog/2017/09/09/hexo-setup/
- 版權宣告: 本作品採用 CC BY-NC-SA 4.0 進行許可。