hexo是什麼?
Hexo 是一個快速、簡單且強大的網誌框架。Hexo 使用 Markdown 標記語言解析您的文章,並在幾秒鐘內,透過漂亮的主題產生靜態檔案。(來自 https://hexo.io/zh-tw/docs/ 說明)
本文將會知道
- 如何使用 Hexo 產生部落格 (超快速,只要看到這邊就建好囉!)
- 如何使用 markdown 撰寫文章
- 如何部署到 github 個人網頁
- 如何更改主題與內文風格
安裝hexo與初始化部落格
產生基本部落格結構
1 | 安裝工具 (使用npm安裝 可先安裝Node:https://nodejs.org/en/) |
啟動部落格 Run server
1 | $ hexo server |
More info: Server
(紀錄)顯示版本資訊
(有需要的話,可以查詢對應安裝版本)知道自己安裝的版本,對於之後查詢問題是很有幫助的喔!
1 | $ hexo version |
開始撰寫文章
新增文章
1 | $ hexo new "My New Post" |
More info: Writing
撰寫文章
在剛剛新增的檔案開始採用 markdown語法開始撰寫文章.
可以找線上編輯器工具幫助撰寫及預覽,「自己習慣用這一個https://markdown-editor.github.io/」 ,編輯完再貼過來內文.
如對語法有一點熟悉,就直接用vscode打開檔案開始撰寫內文,並可以安裝vscode markdown preview 插件,邊改邊預覽.
編寫完再啟動部落格並在瀏覽器查看效果.
部署網站
建立與設定 Git 空間
- 先在github上新增一個專案叫與帳號一樣命名叫做“[yourname].github.io”
- 配置 _config.yml
1
2
3
4deploy:
type: git
repo: https://github.com/yourname/yourname.github.io
branch: master
產生靜態文件 Generate static files
1 | $ hexo generate 或是hexo g |
More info: Generating
一鍵部署
1 | $ hexo deploy |
其他空間部署說明(ex:heroku) More info: Deployment
個人網站網址
這樣就大功告成啦!🎉🎉🎉(註:有時要稍等一下才會看到更新)
清理靜態文件 Clean static files
1 | $ hexo clean |
更換主題及個人化設定
更換主網站設定檔
主網站設定檔位置:/your folder/_config.yml,可以在此編輯基本網站說明.
1 | title: Nagi's 程式筆記 |
更換主題
Hexo 預設主題是landscape
想要更換主題依下列步驟即可:
- 在 hexo 網站上挑選主題:https://hexo.io/themes/
- 然後依照教學 clone對方的主題到自己的 theme 資料夾(通常都有git指令,在自己資料夾照下即可)
- 修改主網站設定_config.yml來更換
本部落格採用Next,它是一個相當熱門的主題,且有很多中文文檔說明,我也是看了範例網站,真的太喜歡才決定架hexo的,紀錄操作步驟如下.
- (初次遇到錯誤,可跳置下方) 試著更換主題
git clone https://github.com/iissnan/hexo-theme-next themes/next:
config.yml 換成 theme:next,但是啟動hexo s後,開啟的網站卻是亂碼參數頁面@@
啟動畫面也出現以下訊息:1
2
3
4
5
6WARN ========================= ATTENTION! ==========================
===============================================================
WARN NexT repository is moving here: https://github.com/theme-next
===============================================================
WARN It's rebase to v6.0.0 and future maintenance will resume there
===============================================================原因應該是找到的文章教學,clone來源太舊了?改參考官方更新步驟从 NexT v5.1.x 更新
- (再來一次)試著更換主題
- Clone v7.8.0 最新的倉庫(如放在 next-reloaded):
$ git clone https://github.com/theme-next/hexo-theme-next themes/next-reloaded
(v.5.1.4) - 在 Hexo 的主配置文件中设置主题:
theme: next-reloaded - 重新開啟就正常了
之後想更換別的主題也是這樣喔
主題設定
主題設定位置:/hexo-web/themes/next-reloaded/_config.yml
更換NexT版面
1 | NextT 提供不同風格可以更換 |
新增文章標籤與分類
新增標籤與分類頁面
1
2hexo new page tags
hexo new page categories為文章加上Tag與categories
在_posts/xxx.md 文章上方新增,差別在於標籤是並行的標示,而分類會有階層式關係.1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17---
title: 使用Hexo 撰寫部落格
tags:
- Testing
- Another Tag
比較特別以下這種寫法代表階層關係Web->blog
categories:
- Web
- blog
或是多分類表示法:代表Diary->Food...
categories:
- [Diary, Food]
- [Diary, Games]
- [Life]
---開啟頁面
1
2
3
4
5
6
7
8
9_config.yml
# Usage: `Key: /link/ || icon`
# icon 也可以自由置換 https://fontawesome.com/v4.7.0/icons/
menu:
home: / || fa fa-home
categories: /categories/ || fa fa-th
archives: /archives/ || fa fa-archive
tags: /tags/ || fa fa-tags
about: /about/ || fa fa-user
新增個人頁面
新增關於我頁面
1
hexo new page about
編輯頁面內容
[your folder]/source/about/index.md1
2
3
4
5---
title: About Me
date: 2020-09-06 13:53:06
---
bla bla bla bla...開啟頁面
1
2
3
4
5
6
7
8
9_config.yml
# Usage: `Key: /link/ || icon`
# icon 也可以自由置換 https://fontawesome.com/v4.7.0/icons/
menu:
home: / || fa fa-home
categories: /categories/ || fa fa-th
archives: /archives/ || fa fa-archive
tags: /tags/ || fa fa-tags
about: /about/ || fa fa-user
文章中顯示引言
1 | 有分號的上下引言,兩種皆可 |
文章開頭標記
1 | {% note class_name %} Content (md partial supported) {% endnote %} |
Content (不設定)
default
primary
success
info
warning
danger
文章中貼上圖片
1 |
|
開啟文章與網站訪問數字
1 | 主題內建不蒜子計數器 |
在標頭放上可愛的git連結
1 | _config.yml |
顯示部落格作者照片
1 | _config.yml |
放上個人社群連結
1 | social |
顯示閱讀進度百分比
1 | back2top: |
外部資源設定
標籤雲
1.安裝插件
1 | npm i hexo-tag-cloud --save |
2.配置主網站_config.yml
要注意不要改錯檔案,不然可以看到標籤雲卻改不了樣式
1 | # hexo-tag-cloud 標籤雲:see https://github.com/MikeCoder/hexo-tag-cloud |
修改主題側邊欄的語言內容
以 NexT 主题為例修改layout/_macro/sidevar.swig 文件中在sidebar-inner新增1
2
3
4
5
6
7
8
9
10
11
12{% if site.tags.length > 1 %}
<script type="text/javascript" charset="utf-8" src="{{ url_for('/js/tagcloud.js') }}"></script>
<script type="text/javascript" charset="utf-8" src="{{ url_for('/js/tagcanvas.js') }}"></script>
<div class="widget-wrap">
<div id="myCanvasContainer" class="widget tagcloud">
<canvas width="220" height="250" id="resCanvas" style="width=100%">
{{ list_tags() }}
</canvas>
</div>
</div>
{% endif %}作者git上的Readme說明 [by version 2.1.2]
建議可以關注 https://github.com/MikeCoder/ 說明動作操作1
2完成安装和显示,可以通过 hexo clean && hexo g && hexo s 来进行本地预览, hexo clean 为必须选项。
**PS:不要使用 hexo g -d 或者 hexo d -g 这类组合命令。**详情见: Issue 7
個人化設定
預設新增文章模板
修改 /scaffolds/post.md 新增自己預設內容
1 | --- |
意外發現的方法,藉由這樣修改hexo new post時就可以把基本的設定加好了
Quick Start
Welcome to Hexo! Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub