用 Hexo+Github 部屬靜態 Blog
2020-02-26 23:27:00
778 words / 3-minute read
目錄 Table of contents
前言
這篇文單純記錄用hexo在github上架設靜態網站遇到的問題以及一些指令和輔助工具,以防忘記。
另外這也是第一篇用Hexo Admin打的文章,作為嘗試。
安裝Hexo
其實不用多作介紹,網路上查的到很多教學,這邊就隨便放幾個:
甚至Hexo官網就有很齊全的教學了。
所以就不多作介紹了。
但這邊有個小問題當初卡了我一陣子,是語言和時區(timezone)到底要寫什麼才合法,
教學不是沒寫就是對岸的教學。總之是設定成這樣:
language: zh-tw
timezone: 'Asia/Taipei'
Commands
前提是該設定的都設定好了,如部署設定之類的。
生成/架設/部署網站
生成靜態網頁
hexo generate [-d] [-w]
或用縮寫
hexo g [-d] [-w]
使用-d
參數會在生成後進行部署(deploy)。
架設在Local端
hexo server [-p] [-s] [-l]
或用縮寫
hexo s [-p] [-s] [-l]
便會啟動伺服器,預設是 http://localhost:4000/
參數不常用,有興趣就參考官方文件。
部署到遠端(Github)
hexo deploy [-g]
或用縮寫
hexo d [-g]
使用-g
參數會在部署網站前先產生靜態檔案。
使用這項指令前要先設定好部署到github,之後只要輸入這個指令就會自動commit並push上去。如圖
清除快取以及靜態檔案
hexo clean
有些檔案更改後再次generate也不會修改,需要先清除才行。
寫作
建立文章
hexo new [layout] <title>
建立一篇新的文章。如果沒有設定 layout 的話,則會使用 _config.yml 中的 default_layout 設定代替。如果標題包含空格的話,請使用引號括起來。
文章檔案放在source/_posts
裡面
Layout
Layout分為3種,post
、draft
、page
。
post
為一般文章存放區draft
為草稿區,之後會用publish
指令將草稿移至post
。page
為特別的頁面區,如tags、categories和about之類的頁面。
發表草稿
hexo publish [layout] <filename>
草稿檔案放在source/_drafts
裡面。
遇到的問題集
-
Q1. 使用某些主題時(如我現在使用的melody主題)會發生打開網頁時跳出以下訊息
extends includes/layout.pug block content include includes/recent-posts.pug include includes/pagination.pug
A1. 你的環境缺少部分hexo套件,用以下指令安裝。(參考來源)
npm install hexo-renderer-jade hexo-renderer-stylus --save or yarn add hexo-renderer-jade hexo-renderer-stylus
-
Q2. 部署上去的網站與local網站長的不同
A2. 靜態文件沒有刷新,先
hexo clean
再部署一次 -
Q3. 將網站添加至google搜尋結果
A3. 參考這篇教學
第三方工具
- Disqus: 靜態網站留言版,大多數的hexo主題都有直接支援,不需要改網頁內容。小缺點是目前不知道為什麼不能設定成繁中。
- Hexo Admin: Hexo線上編輯器,可以直接在網頁修改文章並發佈。