背景
寫blog雖然經歷了N多不同時代的產品,恆久不變的始終是自己無人問津的網站。雖然沒幾個人看,還是隔斷時間就要折騰一下。從最開始的wordpress,到tale,到現在的hexo,網站變得越來越簡單,越來越輕量級,這里主要說說hexo的使用。
hexo介紹
主頁: https://hexo.io/zh-cn/
主頁中有非常詳細的介紹,主頁中有介紹內容我這里就不贅述了,這里主要說說主頁中沒有詳細說明內容。
- hexo 可以理解為是基於node.js制作的一個博客工具,不是我們理解的一個開源的博客系統。其中的差別,有點意思。
- hexo 正常來說,不需要部署到我們的服務器上,我們的服務器上保存的,其實是基於在hexo通過markdown編寫的文章,然后hexo幫我們生成靜態的html頁面,然后,將生成的html上傳到我們的服務器。簡而言之:hexo是個靜態頁面生成、上傳的工具。
源碼結構

| 文件/文件夾 | 說明 |
|---|---|
| _config.yml | 配置文件 |
| public | 生成的靜態文件,這個目錄最終會發布到服務器 |
| scaffolds | 一些通用的markdown模板 |
| source | 編寫的markdown文件,_drafts草稿文件,_posts發布的文章 |
| themes | 博客的模板 |
我們正常使用,修改最多的源碼是_config.yml文件,不管是博客的基礎配置,還是模板,都是修改這個文件。
source是我們日常寫文章要用的目錄,是我們日常操作的文件夾。
如果針對下載的模板修改,那么就需要操作themes了。hexo是用node.js編寫的程序,所以theme的修改也是比較容易的。
使用
基本安裝和使用直接參考官網即可,這里我主要說兩個部分:
編寫BLOG
官方新編寫BLOG,建議的是使用命令:
hexo new [layout] <title>
其實,你可以直接在_drafts新建markdown文件,就是草稿了,在_posts新建markdown文件,就是發布的文章了。當然,記得在頂部加上相關的描述,如:
---
title: hexo——輕量、簡易、高逼格的博客
date: 2018-08-31 17:54:54
tags:
- IT技術
- 前端
---
效果和命令新建文件,是一樣一樣的。
模板安裝和使用
hexo為我們提供了非常多好看實用的模板,官網提供了很多模板,但是,針對模板的使用,只進行了非常簡單的說明,這里以我自己的使用的模板Concise為例,進行詳細的補充。

其實,模板的使用,簡單來說,只需要兩個步驟:
- 將模板copy到themes目錄,如:
git clone https://github.com/HmyBmny/hexo-theme-concise.git themes/concise
- 修改_config.yml中的theme:
theme: concise
所有的模板,共有的操作方式就只有這兩個,但是不同的模板,會有很多不同的設置,這里就需要針對模板的使用說明進行修改了。建議通過github找到模板,看下readme。如,我使用的Concise就需要修改:
author:
name: 公眾號:itmifen
work: IT狗,程序猿,苦B奮斗的偽文中老年
location: 深圳, shenzhen
avatar_url: http://oe749te3z.bkt.clouddn.com/logo.png
links:
github: https://github.com/itmifen
基本上,這樣就能在本機進行預覽使用了。
發布
現在比較流行的方式,都是將代碼發布到git,因為我同時要傳到github和自己的博客,所有我的處理方式就是:
先將代碼傳到github,再在自己的服務器獲取github代碼,服務器上自己部署一個nginx,解析靜態網頁即可。
先安裝git插件:
npm install hexo-deployer-git --save
git的配置,修改_config.yml文件:
deploy:
- type: git
repository: git@github.com:itmifen/blog.git
branch: master
當然,只是這樣肯定不行,你要確保你本地能git push到服務端,所以需要配置本地的ssh github私鑰。沒有操作過的同學,請自行搜索。 這樣,我就可以將本地的文章通過hexo官方推薦的方式push到github:
hexo deploy
這樣應該就能在你的github上看到上傳的代碼了,這時看到的應該是純靜態的一個站點。
既然代碼已經上傳了,那么只要在我的服務器配置好github和ssh私鑰,就能順利的pull代碼了,當然,還需要寫個crontab定時來拉取,不需要自己登錄服務器操作了。
常見問題
執行deploy命令了,但是代碼未上傳?
先執行hexo generate命令,生成靜態文件了,再執行hexo deploy上傳,上傳是只會上傳public中生成的文件。
修改了模板,但是沒有生效?
修改了模板以后不生效,建議先hexo clean,然后再hexo generate。只執行hexo generate,可能模板后者靜態文件不會被替換。
預覽不太方便?
開發環境提供了實時預覽的方式,不需要每次都generate,執行命令:
hexo generate -w
系統會實時生成新的HTML,非常方便。
歡迎訂閱我的公眾號:ITmifen

