使用Node.js+Hexo+Github搭建個人博客


一、為什么要花時間去搭建個人博客?

首先說說為什么我想要嘗試着去搭建屬於自己的Blog,古人雲:“好記性不如爛筆頭”。一開始我把筆記做在本子上、電腦上,發現要用的時候特別地不方便,而且越記越多、越多越雜。於是將其整理到有道雲筆記、百度網盤上,還有手機App可以隨時記筆記、搜索查看,挺好。后來慢慢發現自己記的筆記其他人又看不到,不能更好地分享與交流,無意間看到《為什么你應該寫博客》一文很是激勵着我。所以,我注冊了CSDNcnBlogsGithub,希望有自己的個人博客網站並且多向大牛們交流學習。廢話不多說,咱們轉入正題~

說明:該文章的內容介紹僅限 Windows 用戶,Mac 及 Unix/Linux 用戶請參考其他資料如:Hexo 文檔

個人博客示例: Mauger`s Blog

更新於:2017/12/19 23:21

 

二、准備工作

1. Git 下載(Git for windows 國內下載)、安裝(安裝時請勾選Add to PATH選項)、配置生成SSH公鑰

2. Github 賬號申請配置SSH Keys

3. Node.js 下載安裝

4. Markdown 下載安裝

說明:本想着講一下詳細的下載、安裝和配置工作,卻發現還是官方文檔說明更好,已附上相關鏈接。

 

三、HEXO 簡介及安裝使用

1. Hexo 簡介

Hexo 是一個快速、簡潔且高效的Node.js靜態博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在幾秒內,即可利用靚麗的主題生成靜態網頁。

2. Hexo 安裝

我的 Hexo 安裝版本為:vs_3.4.3;Node.js 版本為:vs_8.9.3。安裝 Hexo 之前請先確保 Git 及 Node.js 安裝成功,接下來只需要使用 NPM 即可完成 Hexo 的安裝。在計算機的某個盤符下(其他盤符/文件夾下亦可)新建文件夾 blog,進入到文件夾 blog 中使用 Git Bash (在任意位置單擊右鍵,選擇 “Git Bash Here” 即可)進行操作如下:

$ npm install -g hexo-cli

Hexo 更新至最新版本,命令如下:

$ npm update hexo -g

3. Hexo 初始化

安裝 Hexo 完成后,請執行下列命令,Hexo 將會在指定文件夾中新建所需要的文件。

$ hexo init blog
$ cd blog
$ npm install

輸入以下命令生成靜態頁面:

$ hexo generate

新建完成后,指定文件夾的目錄如下:

.
├── _config.yml 網站的配置信息,您可以在此配置大部分的參數
├── package.json 應用程序的信息
├── scaffolds 模板文件夾
├── source 資源文件夾,存放用戶資源
|   ├── _drafts
|   └── _posts
└── themes 網站主題文件夾

接着輸入命令啟動服務:

$ hexo server

打印信息如下表示服務啟動成功:

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

然后在谷歌瀏覽器中訪問:http://localhost:4000/,注意這里不能直接使用快捷鍵 Ctrl+C 去復制鏈接,需要單擊鼠標右鍵選擇復制或手動輸入。注意看打印信息 Press Ctrl+C to stop. 所以你如果隨手 Ctrl+C,服務就停了,也就無法訪問了。如果操作無誤且正確啟動服務后仍無法訪問,那么請您繼續往下看:四、常見問題及解決方法)

或者(防止80端口被占用,更改端口號)

$ hexo s --p 8081
INFO  Start processing
INFO  Hexo is running at http://localhost:8081/. Press Ctrl+C to stop.

然后在谷歌瀏覽器中訪問:http://localhost:8081/

4. Hexo 配置_config.yml 文件

title              網站標題
subtitle           網站副標題
description        網站描述
author             您的名字
language           網站使用的語言
timezone           網站時區。Hexo 默認使用您電腦的時區。時區列表。比如說:America/New_York, Japan, 和 UTC 。

其中,description主要用於SEO,告訴搜索引擎一個關於您站點的簡單描述,通常建議在其中包含您網站的關鍵詞。author參數用於主題顯示文章的作者。

其他相關詳細配置信息請參考:Hexo 配置

5. Hexo 部署至 Github

首先需要在 Github 中新建倉庫 new repository 為:【您的 Github 名稱.github.io】,如:MaugerWu.github.io。然后修改 _config.yml 配置文件 ,打開文件后找到 deploy: 修改如下:(注意冒號后面有一個空格:

# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
  type: git
  repo: https://github.com/MaugerWu/MaugerWu.github.io.git
  branch: master
  message: 

編輯完成后進行保存,接着安裝 hexo-deployer-git,命令如下:

$ npm install hexo-deployer-git --save

等待安裝完成以后,執行如下配置命令:

$ hexo deploy

重新部署一下,命令如下:

$ hexo clean
$ hexo generate
$ hexo deploy

在正常部署完成的情況下,打開瀏覽器輸入:【https://您的 Github 名稱/github.io】進行訪問,例如:https://MaugerWu.github.io。此時你會發現沒有網站主題,只有文字沒樣式並不好看,於是乎,選擇一個自己喜歡的 Hexo主題

  • AnimaStars - Add amazing star rotation animation to the official Landscape theme along with some changes on font and colors. - Demo
  • Coney - A theme based on Pacman,especially for Chinese! change the display style, add baidu share module, baidu search module, baidu analytics module, up to top button and so on. - Demo
  • Landscape-x - A fresh looking and responsive theme for Hexo, Modification of Landscape plus theme - Demo
  • Mala - I'm Magic Lamp, Dark theme, one key switch to White theme. Demo
  • NexT - High quality elegant theme. - Demo
  • Okcjs - Site with an animated banner based in the Landscape layout, but modified. Demo
  • Yilia - Responsive and simple style 優雅簡潔響應式主題 - Demo(本人使用)

 

6. 關於主題更新

博主本次選擇主題為: Yilia ,配置更新請參考:Jacman Theme

當你每次修改完文件夾 ../themes/yilia 下的配置文件 _config.yml 后,請進入到主題 yilia 下執行以下命令:

$ git pull

 

、常見問題及解決方法

1. http://localhost:4000/ 無法訪問?

出現該問題的可能原因是端口號4000被占用,將 index.js 文件(若找不到該index.js文件,請參考我的另一篇博客:Everything 工具使用)中的端口號修改為:4001或者其他,重啟服務后再次訪問即可。

hexo.config.server = assign({
  port: 4001,
  log: false,
  ip: '0.0.0.0',
  compress: false,
  header: true
}, hexo.config.server);

2. 博客出現中文亂碼問題?

若出現該問題請使用編輯器 Notepad++ 或 Sublime Text2/3 編輯 _config.yml 文件,設置編輯器的編碼為 UTF-8 后進行保存即可。

# Hexo Configuration
## Docs: https://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/

# Site
title: Hexo 網站主標題
subtitle: 網站二級標題/副標題
description: 網站描述
author: 網站作者
language: 網站使用語言
timezone: 網站時區,Hexo 默認使用您電腦的時區

3. 博客訪問中出現404錯誤?

若出現該問題,可能是在你修改 _config.yml 文件中 Hexo 主題后導致,比如將 theme: landscape 換成 theme: Next。

# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: landscape

4. 修改個人博客根目錄下的配置文件或主題下的配制文件 _config.yml,刷新頁面后修改的地方沒有生效?

首先進入到主題文件夾的目錄下(如:../blog/themes/yilia/),執行命令:

$ git pull

然后返回到文件夾 ../blog 下,重新部署項目執行命令如下:

$ hexo clean
$ hexo g
$ hexo d

 

五、名詞術語解釋

1. NPM:NPM(node package manager),通常稱為node包管理器。顧名思義,它的主要功能就是管理node包,包括:安裝、卸載、更新、查看、搜索、發布等。參考

2. NVM:Node Version Manager(Node版本管理器),用它可以方便的在機器上安裝並維護多個Node的版本。參考

3. Markdown:一種輕量級的可以使用普通文本編輯器編寫的標記語言。MaHua在線編輯器、或者 MarkdownPad2 工具。參考

 

六、感謝

本博客內容參考了以下幾位大牛寫的文章,在此表示由衷地感謝各位,分別如下:

· cnfeat 的《如何搭建一個獨立博客——簡明Github與Hexo教程》

· leopardpan 的《HEXO搭建個人博客》

· Dreajay`s Blog


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM