引言
作為程式員擁有一個屬于自己的個人技術部落格,絕對是百利無一害的事,不僅友善出門裝b,面試時亮出部落格位址也會讓面試官對你的好感度倍增。經常能在很多大佬的技術文章的文末,看到這樣一句話: “歡迎大家通路我的部落格”,每每看到這都會覺得好酷,同樣是搞技術為啥人家那麼優秀。而自己想要建一個部落格,要麼怕花錢,要麼怕過程太麻煩,最後就不了了之。
應粉絲要求,今天手把手,嘴對嘴(放心吧,我才不稀罕親你)的教大家搭建一個屬于自己的技術部落格,隻要你有個
github
位址就行!還等啥呢?騷年,開整吧!
一、Hexo是個啥?
Hexo今天的主角,它是一款基于
Node.js
的靜态部落格(無需與背景互動,全由靜态頁面組成)架構,依賴少易于安裝簡單,更主要的是它免費啊,而且可以輕松的将生成的靜态網頁托管在
GitHub
,
碼雲
和
Coding
上,搭建部落格首選架構之一。
二、準備工作
1、git安裝
git
下載下傳位址:
https://gitforwindows.org安裝完成後,檢查git是否安裝成功,如下顯示即為成功。
$ git --version
git version 2.12.2.windows.2
注意: 這裡建議下邊使用的所有指令,均在
git
指令行中執行,
cmd
中執行指令容易出現錯誤。
2、node.js安裝
node.js
https://nodejs.org/en/
,選擇穩定版本即可,
node.js
的安裝非常簡單,一步一步next即可。
安裝完檢查
node
是否安裝成功,如下顯示即為成功。
$ node -v
v12.16.1
L8000100617811+51536@L8000100617811 MINGW64 /d/myblog
$ npm -v
6.13.4
三、Hexo 本地搭建
在你自己覺得
最可愛
的磁盤裡,建一個檔案夾專門用來存
myblog
部落格相關的檔案。 檔案夾内右鍵打開
Git Bash Here
,在此視窗内執行以下所有指令。
1、安裝 Hexo
用
npm
安裝
hexo
,由于國内網絡高“牆”深院,避免安裝緩慢或失敗,這裡切換阿裡的
NPM
鏡像,沒辦法隻能采用迂回戰術了。
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm
hexo
$ cnpm install -g hexo-cli
安裝可能有一些緩慢,當然這還是取決于你的帶寬,這個過程中會出現的
WARN
提示不用理會。
$ cnpm install hexo --save
到這
hexo
就安裝好了,檢查一下
hexo -v
是否安裝成功
$ hexo -v
hexo-cli: 3.1.0
os: Windows_NT 10.0.18362 win32 x64
node: 12.16.1
v8: 7.8.279.23-node.31
uv: 1.34.0
zlib: 1.2.11
brotli: 1.0.7
ares: 1.15.0
modules: 72
nghttp2: 1.40.0
napi: 5
llhttp: 2.0.4
http_parser: 2.9.3
openssl: 1.1.1d
cldr: 35.1
icu: 64.2
tz: 2019c
unicode: 12.1
2、初始化 Hexo
Hexo
安裝完以後需要進行初始化操作。
$ hexo init
注意:這時需要在
myblog
檔案中,建立一個新的檔案夾用來存放
hexo
部落格檔案。否則執行
hexo init
指令會報錯。
進入
hexo檔案
夾内右鍵打開
Git Bash Here
,在此視窗内執行後邊的所有指令。
$ hexo init
FATAL D:\myblog not empty, please run `hexo init` on an empty folder and then copy your files into it
FATAL Something's wrong. Maybe you can find the solution here: http://hexo.io/docs/troubleshooting.html
Error: target not empty
at Context.initConsole (C:\Users\51536\AppData\Roaming\npm\node_modules\hexo-cli\lib\console\init.js:23:27)
初始化成功後,
hexo檔案
夾内會出現如下的檔案:
node_modules
: 依賴包
public
:存放生成的頁面
scaffolds
:生成文章的一些模闆
source
:用來存放你的文章
themes
:放下下載下傳的主題
_config.yml:
部落格的核心配置檔案(設定主體、标題等屬性)
接着需要執行一下
cnpm install
指令,要不下邊的啟動會提示指令不合法。
cnpm install
最後用
hexo s -g
指令來啟動安裝好的
hexo
。
$ hexo s -g
INFO Start processing
INFO Hexo is running at http://localhost:4000 . Press Ctrl+C to stop.
直接通路
http://localhost:4000
顯示如下頁面,本地部落格搭建成功。
四、Hexo 托管至 GitHub
1、建立GitHub倉庫
這時候需要我們在
GitHub
上建立一個倉庫,設定倉庫的名字以
XXX.github.io
結尾
2、配置 _config.yml
檔案
_config.yml
修改
_config.yml
檔案,添加你建立的
GitHub
倉庫位址
deploy:
type: git
repo: https://github.com/YourgithubName/YourgithubName.github.io.git
branch: master
安裝部署指令
deploy-git
,這樣你才能用指令部署到
GitHub
$ cnpm install hexo-deployer-git --save
上邊修改完畢以後,依次執行以下指令,送出本地
hexo
檔案到
GitHub
hexo clean
hexo generate
hexo deploy
3、線上測試
通路剛建立的倉庫:
https://chengxy-nds.github.io/
,檔案推送至GitHub後頁面顯示會有一定的延遲,稍等幾十秒再次重新整理頁面,看到下邊這些頁面就表示部落格部署成功。
4、設定個人域名
現在我們的部落格位址:
https://chengxy-nds.github.io/
,但是看着是不是覺得有點low,如果有錢自己可以買一個域名。在雲平台随便買一個,看自己喜好,例如:chengxy.com。
将域名指向
GitHub
的伺服器位址,
192.30.252.153
192.30.252.154
進入存放部落格的
GitHub
倉庫,點選
settings
,設定
Custom domain
,輸入域名
chengxy.com
然後在本地部落格檔案
source
中建立一個名為
CNAME
檔案,不要字尾。寫上你的域名。
最後重新編譯上傳檔案,通路:
chengxy.com
即可。
hexo clean
hexo generate
hexo deploy
五、Hexo主題切換
雖然我們的部落格搭建完成,但大家肯定也發現,現有的部落格樣式醜爆了,這時候就需要到官網挑一個自己喜歡的風格了。
1、下載下傳主題
hexo
主體官網:
https://hexo.io/themes/
,我們随便找一個主題替換示範一下,主題都托管在github上,直接clone就好。
_config.yml
_config.yml
可以看到
hexo
隻有一個預設的主題
theme
,現在進入
theme
檔案夾執行
git
克隆指令,或者直接下載下傳一個主題放入
theme
檔案夾内都可以。
git clone https://github.com/yelog/hexo-theme-3-hexo.git
_config.yml
檔案中的
theme
屬性
theme: hexo-theme-3-hexo
打包上傳看看效果:
hexo clean
hexo generate
hexo deploy
3、測試
nice!主題已經替換成功,是比自帶的好卡不少
六、Hexo基本操作
部落格搭建完,接下來就要開始寫部落格,管理部落格了~
建立我們的第一篇部落格,會在
source\_posts
目錄下生成一個
程式員内點事的第一篇部落格.md
hexo n 程式員内點事的第一篇部落格
hexo基本配置
_config.yml
是
hexo
架構最核心的檔案,部落格的配置基本在這裡。
#部落格名稱
title: 我的部落格
#副标題
subtitle: 一天進步一點
#簡介
description: 記錄生活點滴
#部落格作者
author: John Doe
#部落格語言
language: zh-CN
#時區
timezone:
#部落格位址,與申請的GitHub一緻
url: http://elfwalk.github.io
root: /
#部落格連結格式
permalink: :year/:month/:day/:title/
permalink_defaults:
source_dir: source
public_dir: public
tag_dir: tags
archive_dir: archives
category_dir: categories
code_dir: downloads/code
i18n_dir: :lang
skip_render:
new_post_name: :title.md # File name of new posts
default_layout: post
titlecase: false # Transform title into titlecase
external_link: true # Open external links in new tab
filename_case: 0
render_drafts: false
post_asset_folder: false
relative_link: false
future: true
highlight:
enable: true
line_number: true
auto_detect: true
tab_replace:
default_category: uncategorized
category_map:
tag_map:
#日期格式
date_format: YYYY-MM-DD
time_format: HH:mm:ss
#分頁,每頁文章數量
per_page: 10
pagination_dir: page
#部落客題
theme: landscape
#釋出設定
deploy:
type: git
#elfwalk改為你的github使用者名
repository: https://github.com/elfwalk/elfwalk.github.io.git
branch: master
總結
至此,我們整個
hexo
部落格就搭建完了,其實還是比較簡單的,但到這裡我們萬裡長征也隻是走了第一步,後續還有更細緻的操作,例如:部落格建分類、标簽、布局等,讓我們的部落格變得美美哒!