為什麼選擇利用GitHub + Hexo 作為寫blogger的呢?
一直以來都在找工具來做技術的筆記,我有用過 Google blogger、Medium、Gitbook、HackMD來寫過。
會使用的原因:
- 對我來說能讓程式碼跟IDE那樣,
粒粒分明是很重要的。
我在使用上面那些工具的經驗上是程式碼都沒有Highlight的效果,還是我用得太淺了。
Meduim 可以透過額外工具(ex. gist)才能達到Highlight的效果 - 後期用了Gitbook、HackMD所以比較熟悉markdown的語法
- 剛好看到六角學院的影片 六角學院 - Github Pages - 免費網頁空間隨你開 ,就衝一發了
先說自己架站寫技術文章的缺點就是要自己處理SEO問題
起手式 安裝 git & node.js
安裝git
因為我使用Mac來開發,所以我是使用之前裝的 Homebrew 軟體來安裝 Git
1 | # 安裝 git |
安裝 node.js
https://nodejs.org/en/download/
準備Github與新增Repository
可以看這個來做 六角學院 - Github Pages - 免費網頁空間隨你開
- 註冊一個github帳號
- 建立一個 Repository名稱為
${yourAccount}.github.io
,以我的帳號來說就是sinyilin.github.io
- 進入該Repository 設定source 為
master branch
各種安裝
安裝 Hexo
1 | # 安裝 |
安裝 Hexo Git
1 | $ npm install hexo-deployer-git --save |
初始化 Hexo
1 | $ hexo init blog #會建立一個blog資料夾 |
如何與github連接
設定連結
進入blog 資料夾,修改blog 資料夾下的_config.yml(全域的config),如下:
在全域的config
1 | deploy: |
部署
1 | $ hexo d -g |
推上去後可以至 https://{yourname}.github.io/ 查看結果
設定樣式
選擇主題
一開始會有一個預設的主題
如果看不順眼可以自行選擇主題
https://hexo.io/themes/
我看蠻多人好像都會使用nexT (在我建置的當下已經到v7.4.0)
https://github.com/theme-next/hexo-theme-next
透過指令將主題載下來
1 | $ git clone https://github.com/theme-next/hexo-theme-next themes/next |
我看到另一個感覺也不錯的主題
設定blog主題
在blog資料夾中,有個檔案_config.yml,這個檔案是整個專案的設定檔
將裡面的theme 改成next,後重新部署
1 | # Extensions |
1 | #重新部署 |
有時重新部署不會很快更新,這時可以直接在local run做測試
1 | # local run |
可以透過本機的 http://localhost:4000 查看
next又分為四個小主題
💟 Muse | 🔯 Mist | ♓️ Pisces | ♊️ Gemini
可以由next 資料夾中的_config.yml設定
直接搜尋Pisces
不註解掉的就是要使用的主題
在next的config
1 | # --------------------------------------------------------------- |
各種設定
剛剛有提到有一個是全域的config
在主題next內有一個config,這是針對使用該主題的設定
設定整體的blog 基礎資訊
在全域的config
1 | # Site |
程式碼呈現方式
在next的config
搜尋 codeblock
,
總共有這幾種樣式可供選擇 normal | night | night eighties | night blue | night bright
我是使用night eighties
的
也可選擇要不要開啟複製按鈕
1 | highlight_theme: night eighties |
設定menu
在next的config
搜尋 Menu Settings
,並修改
1 | menu: |
移除預設”嗯..! 目前共有 2 篇文章。 繼續努力。”
在next的config
設定cheers
為false
1 | # Enable "cheers" for archive page. |
取消底下的由 Hexo 強力驅動 v3.7.1 | 主題 — NexT
在next的config
搜尋powered
與theme
改為false
1 | powered: |
自動新增繼續閱讀
在首頁的部分會列出所有文章,此時文章都會完全地顯示,很佔版面。
解決方法:
可以在文章中直接添加,顯示閱讀全文按鈕
1
<!-- more -->
一勞永逸作法:
則搜尋 auto_excerpt:,設成true
可以在length設定預設斷開的長度
設置樣式總結
這篇NexT 實用的設定與功能有列出一些blog的設定配置可以參考
另外,這一篇HEXO搭配主題next基礎配置教學也有列出一些設定可以參考
這篇文中有提到講到一重點,就是不要太客製化,不然之後升版可能會有問題
新增tags、categories、archives 頁面
terminal cd至blog根目錄
1 | $ hexo new page tags |
到source資料夾下新出現的這3個目錄,裡面的index.md各自加上type: “tags”(categories、archives同理)
主題會自動渲染成相關頁面
1 | --- |
發表文章
發新文章
1 | # postName是文章的名稱 |
這時在 source / _post 資料夾中可以看到你剛剛新增的檔案.md
檔
寫完內容後,重新部署就可以更新blog了
1 | # 重新部署 |
設定每篇文章基本資訊 :文章分類 categories 與 tags
每一個.md
檔 上面都可以設定基礎資訊,如:
1 | --- |
編輯已發表的文章
直接編輯.md
檔案
再重新部署
刪除文章
直接刪除目錄中的.md
然後下指令
1 | $ hexo clean # 清除快取檔案和已產生的靜態檔案。 |
草稿
我目前都是在HackMD 上面寫完草稿,完成後就直接發,所以比較少用到這個功能
可以參考這篇 Hexo 文章保存为草稿
安裝第三方套件
設定每篇文章閱讀量
如果想要觀察自己的blogger有多少人看的話可以設定
設定又分成兩種
一種是全站的 不蒜子统计
一種是文章單獨分開計算的 LeanCloud
配置LeanCloud
可參考這兩篇
使用leancloud给博客添加阅读次数
Hexo Next leancloud文章阅读次数配置以及插件无效问题解决
不過因為leanCloud 現在創建應用需要實名認證,實名認證需要掃支付寶,因此我放棄使用
留言板 Disqus
可以參考此篇 部落格第三方服務介紹進行Disqus的申請
在設定的部分,打開Disqus
1 | # Disqus |
設定完後你可能會發現,部分頁面不想給別人下評論ex. tag 跟category頁面
可以透過設定.md
檔的基礎資訊來排除
1 | --- |
讓大家找得到你的blog SEO
對google search的設定
我先依照這篇來做 Hexo博客的优化方法,以Google搜索为例
網站整體的調整
這兩篇也有提到一些注意事項
當文章越來越多時 該怎麼管理
本站還沒開始做,但未來可能會參考這篇來做
Hexo - 使文章依文章分類為資料夾名稱置放