手把手教你從零開始搭建個人博客,20分鐘上手

一、前言
二、Hexo基本介紹
三、Hexo+Github搭建博客網(wǎng)站流程
四、開始動手動腦
4.1 基礎(chǔ)準(zhǔn)備
4.2 安裝Hexo
4.3 初始化一個Hexo Blog
4.4 Hexo基本命令介紹
4.5 Hexo基本配置介紹修改
4.6 將Hexo博客部署到GitHub
4.7 設(shè)置應(yīng)用自己的域名
五、下集預(yù)告
一、前言
大家好,我是愛思思愛貓愛技術(shù)的老表,最近一直在研究個人博客搭建,目前正在進(jìn)行的有Django個人博客搭建系列,最近了解到還有很多現(xiàn)成的博客搭建框架,準(zhǔn)備后面依次給大家分享下。
本文是基于Hexo框架來構(gòu)建個人博客的,整個過程十分簡單,如果順利的話,可能只需要10-20分鐘就可以完美構(gòu)建部署好一個專屬于你的個人博客了,記得點(diǎn)贊~

二、Hexo基本介紹
Hexo 是一個快速、簡單且功能強(qiáng)大的博客框架。你用Markdown(或其他標(biāo)記語言)寫帖子,Hexo 會在幾秒鐘內(nèi)生成帶有漂亮主題的靜態(tài)文件。
三、Hexo+Github搭建博客網(wǎng)站流程

四、開始動手動腦
首先我們進(jìn)入Hexo的官網(wǎng):https://hexo.io/

就可以看到對于Hexo的詳細(xì)介紹,直接下滑,然后點(diǎn)擊Get Started,即可進(jìn)入Hexo使用介紹文檔,也可以直接訪問:https://hexo.io/docs/ 進(jìn)入。

4.1 基礎(chǔ)準(zhǔn)備
在正式開始前,確保你已經(jīng)準(zhǔn)備好了:
1、一個GitHub賬號,可以直接去官網(wǎng)注冊:https://github.com/
2、安裝好了Git、Node.js
Git安裝方法很多,最簡單的是直接官網(wǎng)下載軟件包,然后安裝(Mac和Windows及其他版本都有),
https://git-scm.com/downloads
Mac電腦還可以直接利用brew install git 進(jìn)行安裝(默認(rèn)應(yīng)該自帶git),或者yum、apt-get等包管理工具安裝。
Node.js也可以直接去官網(wǎng)下載對應(yīng)系統(tǒng)安裝包,然后一步步安裝即可。
https://nodejs.org/zh-cn/download/
下載好后直接點(diǎn)擊軟件包,默認(rèn)會給我們安裝好Node.js和npm(Node.js的包管理工具)。
Windows系統(tǒng)可能需要自己設(shè)置環(huán)境變量,將對應(yīng)安裝目錄添加到系統(tǒng)環(huán)境變量即可,瀏覽器搜索下對應(yīng)方法即可。
查看下Git、Node.js版本,確保安裝無誤。
git?--version
node?-v??
npm?-v

4.2 安裝Hexo
首先我們需要新建一個項(xiàng)目目錄,以我為例:我會在桌面的Project目錄下新建一個HexoBlog文件夾用于存放改項(xiàng)目相關(guān)文件。
cd?Desktop/Project/
mkdir?HexoBlog&&cd?HexoBlog
這個時候如果直接運(yùn)行下面語句安裝Hexo,你可能會遇到rollbackFailedOptional。
npm install -g hexo-cli
這是因?yàn)榫W(wǎng)絡(luò)問題(npm的服務(wù)器位于國外下載慢),可以使用cnpm(淘寶團(tuán)隊(duì)做的國內(nèi)鏡像)的獲取鏡像或者直接修改npm的資源獲取地址為國內(nèi)的。
#?安裝cnmp
npm?install?-g?cnpm?--registry=https://registry.npm.taobao.org
#?直接修改npm資源獲取地址(推薦)
npm?config?set?registry?http://registry.npm.taobao.org
另外我自己還遇到了文件寫入權(quán)限問題,直接修改目錄文件權(quán)限即可,如:
chmod?-R?777?/usr/local/lib
解決上面問題后,我們在安裝就可以成功啦~(如下截圖所示)
4.3 初始化一個Hexo Blog
前面已經(jīng)準(zhǔn)備好了所有相關(guān)環(huán)境,接下來我們就正式來初始化一個Hexo博客吧~初始化的命令格式為hexo init <項(xiàng)目名稱>,這里我們暫且叫做blog。
hexo?init?blog
成功初始化后,會在當(dāng)前文件夾下生成一個新的文件夾blog,目錄結(jié)構(gòu)如下:
├──?_config.landscape.yml:主題配置文件,如果
├──?_config.yml:站點(diǎn)配置文件,對站點(diǎn)進(jìn)行配置。
├── node_modules:用來存儲已安裝的各類依賴包。
├── package-lock.json:包版本依賴鎖文件。
├── package.json:應(yīng)用數(shù)據(jù),Hexo的版本以及相關(guān)依賴包的版本等。
├── scaffolds:博客模版文件夾,包含page.md,post.md,draft.md三種。
├──?source:資源文件夾,存放靜態(tài)資源如博客md文件、圖片等。
└── themes:主題文件夾,Hexo通過將網(wǎng)站內(nèi)容與主題組合來生成靜態(tài)網(wǎng)站。
初始化項(xiàng)目后,我們只需在本地執(zhí)行下面命令即可在本地進(jìn)行預(yù)覽,
cd?blog
hexo?s
首先我們需要進(jìn)入到新建的項(xiàng)目目錄下,然后執(zhí)行hexo s即可啟動項(xiàng)目,然后我們訪問http://localhost:4000/即可查看網(wǎng)站啦~
目前是默認(rèn)的主題,另外還有一篇默認(rèn)的博客Hello World。
4.4 Hexo基本命令介紹
本地啟動項(xiàng)目,s表示server
hexo?s

創(chuàng)建一個新的博客,n表示new
hexo?n?[layout]?
如:hexo new "我的第一篇博客?Hexo?Hello!"
layout表示文章布局,可選(post page draft),默認(rèn)使用 _config.yml 中的 default_layout 參數(shù)代替(post)。
title表示文章標(biāo)題,如果標(biāo)題包含空格的話,請使用引號括起來。

生成靜態(tài)文件,g表示generate
hexo?g

部署Hexo網(wǎng)站,d表示deploy
hexo?d
清除緩存文件 (db.json) 和已生成的靜態(tài)文件 (public)
hexo?clean
更多相關(guān)指令大家可以前往官網(wǎng)查看:https://hexo.io/zh-cn/docs/commands
4.5 Hexo基本配置介紹修改
【必改部分】 站點(diǎn)的基本設(shè)置,首頁標(biāo)題、子標(biāo)題、簡介、關(guān)鍵詞(英文,隔開)、作者、語言和時區(qū),都需要修改,這樣才算自己的網(wǎng)站嘛。
#?Site
title:?老表的博客
subtitle:?'愛思思愛貓愛技術(shù)'
description:?'記錄老表生活、Python和Go學(xué)習(xí)筆記,由Hexo+Github搭建。'
keywords:?生活,養(yǎng)貓,Python,Go,數(shù)據(jù)分析,Web開發(fā)
author:?老表
language:?zh-CN
timezone:?'Asia/Shanghai'
踩個坑,
keywords:和生活之間必須要有空格,不然會報(bào)錯。
重啟下Hexo服務(wù),我們刷新頁面,就會發(fā)現(xiàn)上面的修改生效啦~如果沒有生效,你可以先運(yùn)行下hexo clean先清除緩存,然后再執(zhí)行hexo s啟動服務(wù)器。
【選改部分】
訪問路徑相關(guān)設(shè)置
#?URL
##?Set?your?site?url?here.?For?example,?if?you?use?GitHub?Page,?set?url?as?'https://username.github.io/project'
url:?http://example.com
root:?/
permalink:?:title/
permalink_defaults:
pretty_urls:
??trailing_index:?false?#?Set?to?false?to?remove?trailing?'index.html'?from?permalinks
??trailing_html:?false?#?Set?to?false?to?remove?trailing?'.html'?from?permalinks
原主題太簡陋了,我從官網(wǎng)主題地址:https://hexo.io/themes/中下載了amber主題,所以我們需要將配置中的主題改為amber,大家也可以選擇其他主題。
#?Extensions
##?Plugins:?https://hexo.io/plugins/
##?Themes:?https://hexo.io/themes/
theme:?amber
4.6 將Hexo博客部署到GitHub
首先我們先需要新建在GitHub上新建一個項(xiàng)目:https://github.com/new,項(xiàng)目名稱格式需要注意,必須是用戶名.github.io,如下圖所示:

同時我們需要配置下SSH密鑰,具體配置方法可以查看:mac 如何快速生成SSH key,配置github SSH公鑰連接(解決git push 413問題)
接著我們要修改下配置文件_config.yml,下滑到最后,將部署信息改為:
#?Deployment
##?Docs:?https://hexo.io/docs/one-command-deployment
deploy:
??type:?git
??repo:?git@github.com:你的用戶名/你的用戶名.github.io.git
??branch:?main

部署到GitHub,需要安裝相關(guān)工具h(yuǎn)exo-deployer-git。
npm?install?hexo-deployer-git?--save
接下來直接輸入指令配置就行了,hexo clean清除緩存數(shù)據(jù),hexo g生成相關(guān)靜態(tài)文件。
hexo?clean?
hexo?g
如果繼續(xù)輸入hexo d進(jìn)行部署的時候,會報(bào)錯,Deployer not found: git
這個時候不要慌,這是因?yàn)樵诒镜豀exo項(xiàng)目目錄還沒有初始化git造成的,我們運(yùn)行下面命令進(jìn)行初始化即可。
git?init
我們再次輸入hexo d進(jìn)行部署即可,會要求輸入GitHub賬號和密碼,直接輸入即可,上傳完成后,再刷新GitHub頁面會發(fā)現(xiàn)多了一些文件,原來的readme也不見了,這是因?yàn)镠exo每次部署都會將hexo g生成的靜態(tài)文件(在blog/public目錄下)上傳到GitHub,并覆蓋原先所有的內(nèi)容。
這個時候,我們在瀏覽器內(nèi)訪問
https://<你的用戶名>.github.io/
#?如:https://xksa-me.github.io/
即可訪問我們的博客首頁啦,點(diǎn)擊博客也可以進(jìn)入對應(yīng)的博客頁面。

通過上面,我們已經(jīng)得到了一個在線的、可以隨時隨地訪問的個人博客,整個操作過程還是很簡單的,麻煩的就是上傳更新文章和部署項(xiàng)目了,每次部署都需要輸入賬號密碼,另外由于GitHub服務(wù)器在國外,國內(nèi)訪問速度也很堪憂,不用擔(dān)心,在后面的博客優(yōu)化中我們一起來解決這些問題,讓模型先跑起來。
4.7 設(shè)置應(yīng)用自己的域名
如果你有域名的話,還可以設(shè)置專屬域名,比如我之前在阿里云買過域名,當(dāng)然大家也可以選騰訊云的域名,都是大廠。
首先我們需要在阿里云域名管理后臺,進(jìn)行域名解析,我們直接從我們自己的域名解析到博客的github地址。
然后我們需要到GitHub對應(yīng)項(xiàng)目中設(shè)置項(xiàng)目的域名,進(jìn)入項(xiàng)目-> Settings -> Page -> Custom domain,將我們設(shè)置的CNAME域名寫入即可。

最后我們還需要在本地項(xiàng)目中的blog/source文件夾下新建一個CNAME文件,編輯寫入我們的域名,就是剛剛填入GitHub的。
再執(zhí)行下面命令,重新更新和部署項(xiàng)目,
hexo?g
hexo?d

部署成功后,我們直接訪問https://blog.python-brief.com/來查看我們的博客啦~

五、下集預(yù)告
經(jīng)過上面操作,你會發(fā)現(xiàn)搭建確實(shí)很簡單,但是訪問真的是慢?。?!而且界面很簡陋。
主要原因是GitHub服務(wù)器在國外,這個解決還比較簡單,我們可以同時將項(xiàng)目部署到國內(nèi)碼云:https://gitee.com/或者Coding:https://coding.net/,整個過程和將項(xiàng)目部署到GitHub差不多。
具體操作我們下節(jié)再分享,這周內(nèi)更新,記得給本文點(diǎn)贊哦~還有什么好的博客搭建框架也可以留言區(qū)推薦給老表,我來踩坑!
最后給大家推薦一款2022年日歷,北京大學(xué)出版社出版的箋譜日歷,簡直美爆了,還可以作為明年每日記錄一點(diǎn)小靈感和想法的筆記本。

作者編篆說明

實(shí)拍圖,超級美
很幸運(yùn)得到了北京大學(xué)出版社的一本贈禮,如果你也喜歡的話,可以點(diǎn)擊下面小程序直接購買,太合我這種文藝小青年的心了~
--END--
掃碼即可加我微信
老表朋友圈經(jīng)常有贈書/紅包福利活
近期優(yōu)質(zhì)文章:
值得收藏的30道Python練手題(附詳細(xì)答案,文末贈書)
【通通免費(fèi)】9個冷門絕佳找資源網(wǎng)站,你未必全知道?。。?/a>
原創(chuàng)回答|用 Python 進(jìn)行數(shù)據(jù)分析,學(xué)習(xí)書籍或資料推薦?
學(xué)習(xí)更多:
整理了我開始分享學(xué)習(xí)筆記到現(xiàn)在超過250篇優(yōu)質(zhì)文章,涵蓋數(shù)據(jù)分析、爬蟲、機(jī)器學(xué)習(xí)等方面,別再說不知道該從哪開始,實(shí)戰(zhàn)哪里找了 “點(diǎn)贊”就是對博主最大的支持?

