Hexo + Github 安裝大補帖

Kuei Jiang | 姜奎 Lv4

可以直接看最後面的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] 發展這個架構的心得吧!

Hexo 颯爽登場

下載與安裝基本配置

本篇安裝過程以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 stable

  • Git
    sudo dnf install git-core

安裝hexo

透過 npm 安裝 Hexo
npm install -g hexo-cli

建立專案(你的blog資料夾)

1
2
3
hexo init <folder>
cd <folder>
npm install

到上面為止基本上架構就完成了


調校整理

外掛安裝方式

由於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
2
3
4
deploy:
type: git
repo: git@github.com:zerothtest/.git
branch: master

順利上傳網誌至Github

  1. 看你的電腦裡面有沒有鑰匙
    ls -al ~/.ssh
    如果有如同下列這些的檔案,那就可以跳到步驟3.

    id_dsa.pub
    id_ecdsa.pub
    id_ed25519.pub
    id_rsa.pub

  2. 安裝ssh-keygen
    sudo dnf install ssh-keygen
  3. 在終端上產生新的key
    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  4. 將ssh鑰匙加到ssh-agent
    背景執行ssh-agent
    eval "$(ssh-agent -s)"
    將私人SSH鑰匙加入ssh-agent,注意檔名。
    ssh-add ~/.ssh/id_rsa
  5. 複製貼上
    超強複製貼上神器(其實我第一次見到它是在github的說明文件…,不過蠻好用的)
    sudo dnf install xclip
    複製你的鑰匙吧,貼到Settings -> SSH and GPG keys -> New SSH key 上面
    xclip -sel clip < ~/.ssh/id_rsa.pub
  6. 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.

[^1]: Github-Tommy Chen; https://zespia.tw/

  • 標題: 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 進行許可。