Hexo 是一個快速、簡潔且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在幾秒內,即可利用靚麗的主題生成靜態網頁。
GitHub 是一個面向開源及私有軟件項目的托管平台, 它提供的 GitHub Pages 是一個靜態站點托管服務,旨在直接從GitHub存儲庫托管個人、組織或項目頁面。
安裝Hexo
安裝前提
安裝 Hexo 相當簡單。然而在安裝前,先檢查是否已安裝下列應用程序:
- Node.js
- Git
如果您的電腦中已經安裝上述必備程序,那么只需要使用 npm 即可完成 Hexo 的安裝。
$ npm install -g hexo-cli
安裝 Hexo 完成后,請執行下列命令,Hexo 將會在指定文件夾中新建所需要的文件。
$ hexo init <folder>
$ cd <folder>
$ npm install (貌似不需要這步,執行init就會install了)
新建完成后,指定文件夾的目錄如下:
.
├── _config.yml
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts
└── themes
開始
寫文章
$ hexo new "My New Post"
如果沒有設置 layout 的話,默認使用 _config.yml 中的 default_layout 參數代替。如果標題包含空格的話,請使用引號括起來。
本地運行服務
$ hexo server
本地運行清除緩存
$ hexo clean
在某些情況(尤其是更換主題后),如果發現您對站點的更改無論如何也不生效,您可能需要運行該命令。
部署
$ hexo generate --deploy
$ hexo deploy --generate
上面兩個命令可以簡寫為
- $ hexo g -d
- $ hexo d -g
** 如果使用Git服務存放,在執行部署前需要先安裝 hexo-deployer-git **
$ npm install hexo-deployer-git --save
修改網站根目錄下的_config.yml配置:
deploy:
type: git
repo: <repository url>
branch: [branch]
參數 | 描述 |
---|---|
repo | 庫(Repository)地址 |
branch | 分支名稱 |
自定義域名
域名解析
開啟 Github Pages,創建一個命名為:username.github.io 的資源庫,這里的username就是你的用戶名。如果想使用自定義域名需要在域名解析管理新增 CNAME 解析:
記錄類型 | 主機記錄 | 記錄值 |
---|---|---|
CNAME | @ | username.github.io |
CNAME | www | username.github.io |
GitHub Pages 配置
完成域名解析后還需要在 GitHub Pages 倉庫根目錄下創建CNAME文件,文件內容為自定義的域名,例如:hellozhang.xin
GitHub Pages 開啟HTTPS:
- 在 GitHub Pages 存儲庫的主頁面下,單擊設置。
- 在“GitHub頁面”下,選擇強制HTTPS。
如果使用Chrome瀏覽器未能在地址欄出現 綠色小鎖 或出現小嘆號提示網站與建立完全安全的鏈接,請檢查自己的網站引用的資源文件有沒有使用了 http 協議,請替換成相應的 https 資源。可通過F12開發者工具檢查。
Asset type | HTTP | HTTPS |
---|---|---|
CSS | <link rel=”stylesheet” href=”http://example.com/css/main.css"> | <link rel=”stylesheet” href=”https://example.com/css/main.css"> |
JavaScript | <script type=”text/javascript” src=”http://example.com/js/main.js"> | <script type=”text/javascript” src=”https://example.com/js/main.js"> |
Image | <A HREF=”http://www.somesite.com"><IMG SRC=”http://www.example.com/logo.jpg" alt=”Logo”> | <A HREF=”https://www.somesite.com"><IMG SRC=”https://www.example.com/logo.jpg" alt=”Logo”> |