1. 程式人生 > >我的Hexo部落格建站日誌

我的Hexo部落格建站日誌

前言

我是一枚安卓猿,js css以及基於Nodejs的Hexo對我來說完全是個新領域.由於之前查資料查到看到一個人的部落格很不錯MOxFIVE,於是就決定模仿人家的部落格進行搭建自己的Hexo部落格.程式設計師就是愛折騰.於是查了很多資料,最終實現了自己的Hexo部落格.下面我就把一個完全不懂nodejs以及之前根本沒聽說過Hexo的人建站的歷程給大家分享下.

我是在Mac環境下搭建的,Win環境跟Mac的差不多,如果大家是win環境,我建議大家參看粉絲日誌

Hexo 介紹

Hexo 是一個簡單的,輕量級,基於Nodejs的一個靜態的部落格框架.我們可以很方便的使用Hexo搭建個人部落格.

對一個外行來說,在一開始使用Hexo的時候心理難免有很多疑問.那我來說,我剛接觸Hexo的時候我一直在想:Hexo到底是什麼?他是如何把網站部署到github或者conding上的?Hexo怎麼進行部落格內容的編輯啊?於是經過幾番折騰,我對Hexo有了初步的瞭解.希望我的理解對大家剛剛搭建有所幫助吧.
- 首先,Hexo是一個基於Nodejs的框架,我們通過Hexo裡面的命令在Vim上進行hexo初始化,hexo生成index.html靜態頁面,然後再通過命令釋出到github或者conding
- Hexo裡面整合有git的外掛,所以你釋出到你的 yourname.github.io的時候只需要把_config.yml中的配置配置好.然後使用

$ hexo g
$ hexo d

就可以將通過Hexo編譯好的檔案推送到git專案中

  • hexo裡面的內容怎麼編輯?hexo裡面的檔案是以md結尾的.是markdown語法.所以大家編輯的時候可以先看看markdown語法.我這邊是使用的mac的Mou一款免費的markdown軟體.大家也可以使用phpStorm,裡面在plugins中可以下載markdown的外掛.建議大家下載個PHPStorm IDE,因為將來涉及到圖片更換,主題更換,目錄結構的檢視等等,都會比較直觀.

配置環境

  1. 安裝Node (必須) 作用是用來生成靜態頁面.到Node.js官網上下載相應平臺的最新版本,一路安裝即可,沒有難度…此處略過!但是一定要裝啊.

  2. 安裝Git (必須) 作用是把本地hexo內容提交到git上去,安裝xcode就自帶Git了,就不多說了~

  3. 申請Github(想同時釋出到coding上的,可以再申請個coding賬號,後面會講到)

  4. 配置github SSH keys(可以不配置,不配置的話就的每次提交的時候手動輸入賬號密碼了,如果配置了就不需要了,就會很方便)GitHub-Help-SSH配置

Hexo的安裝

系統環境

Mac OS

Hexo安裝,要用全域性安裝,加引數-g

$ sudo npm install-g hexo  

檢視Hexo的版本

$ hexo version
hexo-cli: 1.0.1
os: Darwin 14.5.0 darwin x64
http_parser: 2.5.2
node: 4.4.3
v8: 4.5.103.35
uv: 1.8.0
zlib: 1.2.8
ares: 1.10.1-DEV
icu: 56.1
modules: 46
openssl: 1.0.2g 

或者

$ hexo v
hexo-cli: 1.0.1
os: Darwin 14.5.0 darwin x64
http_parser: 2.5.2
node: 4.4.3
v8: 4.5.103.35
uv: 1.8.0
zlib: 1.2.8
ares: 1.10.1-DEV
icu: 56.1
modules: 46
openssl: 1.0.2g 

這個時候可能會出現

{ [Error: Cannot find module './build/Release/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }

解決方法

$ npm install hexo --no-optional

參考Hexo常見問題解決方案

安裝好以後我們就可以使用Hexo建立專案了

$ hexo init nodejs-blog

然後我們開啟Finder發現,剛剛的路徑下多了一個資料夾,並且資料夾有Hexo相應的初始化模組.

初始化完成後進入剛剛建立的資料夾,並啟動伺服器,看看效果

進入剛剛建立的資料夾

$ cd nodejs-blog/
$ ls -a
.   .gitignore  _config.yml   package.json  source
..  .npmignore  node_modules  scaffolds     themes

啟動hexo伺服器檢視效果

$ hexo s
INFO  Start processing
INFO  Hexo is running at http://0.0.0.0:4000/. Press Ctrl+C to stop.

然後通過瀏覽器訪問 http://0.0.0.0:4000/檢視效果

img

Hexo 目錄結構及用法

4.1目錄結構

img

  1. scaffolds 腳手架,也就是一個工具模板

  2. source 存放部落格正文內容 比如說我們新建一個page 那麼改page就會出現在這個檔案中,我們如果想對原先的部落格進行修改的話,就開啟這個資料夾下相應的檔案進行編輯.如果是想刪除的話,那就直接刪除該資料夾下相應的檔案

  3. themes 存放面板的目錄 使用者可以根據自己的喜好更換_config.yml中的themes

  4. _config.yml全域性的配置檔案

  5. db.json 靜態常量

4.2全域性變數_config.yml的配置

  • 站點資訊: 定義標題,作者,語言
  • URL: URL訪問路徑
  • 檔案目錄: 正文的儲存目錄
  • 寫部落格配置:文章標題,文章型別,外部連結等
  • 目錄和標籤:預設分類,分類圖,標籤圖
  • 歸檔設定:歸檔的型別
  • 伺服器設定:IP,訪問埠,日誌輸出
  • 時間和日期格式: 時間顯示格式,日期顯示格式
  • 分頁設定:每頁顯示數量
  • 評論:外掛的Disqus評論系統
  • 外掛和面板:換面板,安裝外掛
  • Markdown語言:markdown的標準
  • CSS的stylus格式:是否允許壓縮
  • 部署配置:github釋出

編輯_config.yml檔案

$ vim _config.yml 

4.3建立新的文章

$ hexo new 我的第一篇Hexo部落格

啟動伺服器

img

4.4文章語法

Markdown語法

怎樣引導新手使用 Markdown?

例項:
title: 新的開始
date: 2014-05-07 18:44:12
permalink: abc
tags:
- 開始
- 我
- 日記
categories:
- 日誌
- 第一天
---

這是**新的開始**,我用hexo建立了第一篇文章。

通過下面的命令,就可以建立新文章

```{bash}
$ hexo new 我的第一篇Hexo部落格

```
感覺非常好。

釋出到Github上

5.1生成靜態的index.thml檔案

$ hexo g

5.2建立githb pages

在Github上建立一個專案 username.github.io 比如我的使用者名稱是pvphero 那麼我建立的專案的名字就是pvphero.github.io pvphero’s GitHub

參考GitHubPages

然後可能有人覺得訪問github過慢,有什麼好的解決方法麼?

github訪問慢的原因是因為CDN: github.global.ssl.fastly.net,被牆了
這裡寫圖片描述

解決方法

  • 我這邊的的解決方法是更改github的hosts快速更改MacHosts
    這裡寫圖片描述
  • 然後訪問IPAddress.com根據域名找到本來的IP
    這裡寫圖片描述
  • 更改Mac的hosts
    這裡寫圖片描述
    5.3釋出到github上

編輯全域性配置檔案_config.yml,找到deploy的部分,設定github的專案地址

deploy:
type: git
repo:
  github:[email protected]:pvpheropvphero.github.io.git,master

接下來使用hexo命令部署

$ hexo d

如果出現

bash
{ [Error: Cannot find module './build/Release/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }
{ [Error: Cannot find module './build/default/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }
{ [Error: Cannot find module './build/Debug/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }

這樣的錯誤

輸入命令列

$ npm install hexo --no-optional

Hexo常見問題解決方案

這樣自己的部落格就部署到github上了.可以通過 username.github.io檢視最後的效果

更換主題

6.1找一個面板

比如我用的面板是spfk,下載下來後直接複製到/nodejs-blog/themes/裡面

6.2_config.yml中設定面板

編輯檔案_config.yml,找到theme一行,改成 theme: pacman

整個Hexo搭建個人部落格就結束了.當然大家還可以個性化設定自己的部落格主題,以及載入更多的Hexo外掛.下一篇將會講如何將部落格同時部署到github上跟coding上.敬請期待~

CodingBlog

GitHubBlog