喜歡的話請關注我的個人博客我在馬路邊
https://hhongwen.cn/
,此文為博主原創,轉載請標明出處。
更好的閱讀體驗請點擊查看:Hexo+GitHub+Netlify一站式搭建屬於自己的博客網站
“吾生也有涯,而知也無涯。”
都說每個做技術的人都應該有一個屬於自己的博客網站,但是總是因為種種事情半途而棄,借着剛剛搭建完博客的熱情寫一下是如何搭建此博客的,其實現在搭建博客很簡單,這套博客就是采用 Hexo + Github + Netlify 搭建的靜態博客網站。
博客運行流程本地運行Hexo程序創建文章、程序修改等,將修改后的代碼提交到GitHub,然后通過Netlify自動獲取GitHub上的更新、部署、發布,這樣就形成了一套自動更新部署發布的靜態博客網站,下面讓我一起來看一下是如何實現的。
Hexo
Hexo 是一個快速、簡潔且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在幾秒內,即可利用靚麗的主題生成靜態網頁。
安裝
安裝 Hexo 相當簡單。然而在安裝前,您必須檢查電腦中是否已安裝下列應用程序,這里默認你會使用Git,如果不會請看廖雪峰老師的Git教程:
驗證程序
Node.js驗證:Windows系統打開cmd,然后輸入node -v
查看是否顯示版本號,顯示即表示安裝成功,Mac和Linux則打開命令窗口同樣驗證即可。
Git驗證:Windows系統在桌面右鍵看是否有Git bash here即可,打開后輸入git驗證,Mac和Linux則打開命令窗口輸入git驗證。
安裝Hexo
如果您的電腦中已經安裝上述必備程序,那么恭喜您!接下來只需要使用 npm 即可完成 Hexo 的安裝。
$ npm install -g hexo-cli
安裝 Hexo 完成后,請執行下列命令,Hexo 將會在指定文件夾中新建所需要的文件。<folder>
就是你要將程序安裝在所在文件夾的位置。
$ hexo init <folder>
$ cd <folder>
$ npm install
新建完成后,指定文件夾的目錄如下:
.
├── _config.yml
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts
└── themes
然后在指定的<folder>
文件內執行hexo server
命令,然后訪問 http://localhost:4000/
即可訪問本地已經部署好的Hexo網站。
$ hexo server
INFO Start processing
INFO Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.
Hexo配置及使用
配置
在指定的<folder>
文件內找到_config.yml
配置文件,Hexo的配置都在_config.yml
文件內,大部分說明可以查看官網Hexo配置,如下配置可根據需要自行更改。
網站
配置 | 說明 |
---|---|
title | 網站標題 |
subtitle | 網站副標題 |
description | 網站描述 |
author | 你的名字 |
language | 網站使用的語言,中文:zh-Hans |
其中,description主要用於SEO,告訴搜索引擎一個關於您站點的簡單描述,通常建議在其中包含您網站的關鍵詞。author參數用於主題顯示文章的作者。
網址
參數 | 描述 | 默認值 |
---|---|---|
url | 網址 | |
root | 網站根目錄 | |
permalink | 文章的 永久鏈接 | 格式 :year/:month/:day/:title/ |
網站存放在子目錄
如果您的網站存放在子目錄中,例如 http://yoursite.com/blog
,則請將您的 url
設為 http://yoursite.com/blog
並把 root
設為 /blog/
。
擴展
配置 | 說明 |
---|---|
theme | 當前主題名稱。值為false時禁用主題 |
deploy | 部署部分的設置 |
theme
參數后期修改模板會用到,自己設置模板修改成對應參數。
使用
配置結束后讓開始創建一片文章,使用命令hexo new [layout] <title>
。如果沒有設置 layout 的話,默認使用 _config.yml 中的 default_layout 參數代替。如果標題包含空格的話,請使用引號括起來。hexo generate
命令在<folder>/public
文件夾下生成靜態文件,該命令可以簡寫為hexo g
。發表草稿命令hexo publish [layout] <filename>
。
# 創建文件
hexo new HelloHexo
# 生成靜態文件
$ hexo generate
# 發布文件
$ hexo publish HelloHexo
# 啟動服務
$ hexo server
啟動服務后即可在<folder>/source/_posts
文件下看到生成的HelloHexo.md
文件,可以修改后即可刷新http://localhost:4000/
查看最新內容,更多使用參考官網標簽使用。
上傳GitHub
在托管給GitHub之前先做一些准備工作,在<folder>
文件下執行git init
對git進行初始化,將對不需要上傳的文件放入.gitignore
文件中,使用命令echo "/public" >> .gitignore
屏蔽public文件夾,然后提交所有文件。
# git 初始化
git init
# 屏蔽 public文件夾
echo "/public" >> .gitignore
# 添加到倉庫
git add .
# 提交文件
git commit -m "install hexo project"
GitHub上創建遠程倉庫,選項都是默認即可。然后將<folder>
文件夾與遠程倉庫綁定,綁定后提交文件到遠程倉庫。
# 綁定遠程倉庫,<your repo url>是指你遠程倉庫的ssh地址或者https地址
git remote add origin <your repo url>
# 提交到遠程倉庫
git push origin master
Netlify托管
什么是Netlify?Netlify是一家國外的靜態網站的托管平台,提供免費的https,自動化部署和升級,可以監控GitHub、GitLab或者Bitbucket做到自動更新發布,是不是很贊!這也是為什么現在選擇Netlify的原因,至於以后Netlify怎么發展只能再議。
走到現在就差最后一步,是不是有點小激動,接下來讓我們Netlifyhttps://www.netlify.com/
的官網,然后點擊右上角Sign up注冊賬號,選擇GitHub關聯登錄。
注冊后點擊創建新站點,選擇GitHub會有提示框進行認證。
選擇上傳到遠程倉庫的hexo項目文件,然后進行關聯。
最后發布項目,這個時候點擊deploy site按鍵,萬事具備可以嗑會瓜子喝點茶水然后回來看一下應該就部署成功了。
部署成功后即可生成一個https://xxx.netlify.com
帶有netlify的域名,這時候訪問域名就可以看到一個屬於自己的博客網站了,是不是激動的跳了起來。隨機生成的二級域名是一串隨機的字母數字,如果不喜歡可以自己設置二級域名或者選擇配置自己擁有的域名。
修改域名
修改隨機生成域名
下面教你怎么修改https://xxx.netlify.com
域名為你想要的免費域名,點擊setting
然后點擊change site name
初見彈出框,即可將xxx
修改成想象中的名稱。是不是很完美,沒有問題就可以開始自己的博客之旅了!如果還想追求完美那么接着往下看。
修改為自己的域名
很多朋友不想用帶有netlify名稱的域名,所以也可以像域名改為自己購買的域名,首先你要有一個域名並且已經備案,然后查看就可以進行下面操作了。
域名解析
首先對域名進行解析,添加兩條解析記錄,一條A記錄,一條CNAME記錄。A記錄的記錄值IP是你https://xxx.netlify.com
域名對應的ip,CNAME記錄的記錄值是https://xxx.netlify.com
的xxx.netlify.com
值,添加完解析后就可將你的域名綁定到Netlify了。
綁定域名
點擊第二步:
輸入域名后驗證:
添加成功后即可用自身域名進行訪問:
是不是很完美了,這個時候訪問你的域名即可訪問到屬於自己的博客網站,恨不得現在就讓全宇宙之后你的博客已經建成!下面還有一步就是添加https。
添加HTTPS
Netlify
使用的是 Let’s Encrypt Certificate.
的免費證書,自行按着步驟添加即可,我這里因為域名都是騰訊注冊的,所以也附贈了ssl,不用白不用,現在教你如何添加自己的ssl證書。
首先下載自己的證書,會看到證書里有一個Apache的文件夾,里面有三個文件,結構如下:
.
├── 1_root_bundle.crt
├── 2_hhwen.cn.crt
└── 3_hhwen.cn.key
分別打開三個文件填入復制到下面的內容框中保存即可:
模板修改
完美的博客之旅到這里是不是就是結束了,每一個擁有自己博客的程序猿都想有一個與眾不同的頁面風格,這里可以參考官網的主題進行修改,本博客使用的是GODBMW博主的BMW主題主題,喜歡的也可以關注,這里就由你們自己發揮我就不多介紹了。
修改主題后記得去_config.yml
中修改themes
參數!
總結
到這里已經結束了搭建博客之旅,但是我知道你還在興奮當中,如果喜歡請收藏我的博客,寫作當真不易比我搭建博客還要累。
這算是搭建此博客寫的第一篇博客,寫博客需要靜下來把做過的事情再捋一遍一步一步進行拆解,也讓自己更加深刻,也希望每一個搭建了自己博客朋友善待自己的博客不要冷落。
如果大家有疑問可以留言評論,感謝支持。
喜歡的話請關注我的個人博客我在馬路邊,此文為博主原創,轉載請標明出處。