利用firebase+hexo搭建個人博客網站


title: 記錄一下博客的由來
date: 2020-07-02 15:11:24
tags: firebase


1.前言

這個博客是於2020年7月2日創建的。使用的是hexo博客框架+firebase hosting 託管主機建立的。

img

因爲之前自己也搭建過博客,但當時使用的是vps+wordpress的方案(不穩定,數據容易丟,而且要租用服務器自己託管網站)這段時間學習Linux的過程中偶然發現了谷歌的副firebase平臺(它是谷歌旗下一個*後端即服務(BaaS)*的平臺,簡單來說就是後端在雲端,不用再擔心數據庫、認證、存儲和擴張等,直接調用即可。)

img

目前Firebase提供了非常多的服務,這裏我們用到了其中的託管

免費的託管方案提供了:

  • 1G的儲存空間
  • 10G/月的流量超出後可以付費購買。

總的來說得益於Google在世界各地的cdn加速,使得在firebase平臺託管的網站能夠免費地高速訪問(比github pages快多了)

現在博客正式上線了,這將記錄我的一些學習記錄。

2.博客運行的代碼

hexo部分

1.安裝npm、Node.js

sudo apt update -y
sudo apt install -y nodejs nodejs-legacy npm
sudo apt-get install -y npm

2.初始化文件夾

在一個空白的目錄執行安裝hexo博客的框架

sudo hexo init

初始化完成後,就有了如下的文件目錄:

.
├── _config.yml
├── package.json
├── scaffolds
├── source
|   ├── _drafts
|   └── _posts
└── themes

其中_config.yml爲配置文件,source裏存放所有的文章,themes文件夾可以配置不同的主題,大量的主題可以在官網上找到。

3.寫作

當一切準備就緒之後就可以興建第一篇文章了,在hexo主目錄下

hexo new post <title>

就會在source/_posts文件夾下生成一篇文章,比如運行了

hexo new post 第一篇文章

就會在上述目錄下找到一個名爲第一篇文章.md的文件,然後就可以在裏面用markdown寫作了。這裏推薦使用Typora作爲markdown的寫作工具

4.生成靜態頁面html文件

寫作完成後,在根目錄運行命令

hexo g

就會將文章和主題打包在一起生成HTML文件,生成的文件會放在根目錄的public文件夾下。網站運行所需的所有東西全都被放在這個文件夾下。

同時,也可以運行

hexo server

這個命令會在本地啓動服務器,可以通過http://localhost:4000/來預覽效果。

可以看到hexo的使用非常簡單。更多詳細的說明可以查看官方文檔

但是我這裏firebase作爲託管服務器,實際運行的時候無需啓動本地服務器可以直接執行命令把hexo博客提交到firebase平臺。

完整提交內容:

firebase deploy

只提交更改內容:

firebase deploy --only hosting

部署就完成了,內容將部署至 Firebase項目的默認託管網址:project-id.firebaseapp.com

這樣在我的博客網站:https://usg-cn.web.app/ 就可以看到修改後的結果了。

firebase部分

Firebase ,谷歌的又一個神器,具體怎麼神我就不多作介紹了,我們只用上了其中很小的一部分功能:託管。

img

關於託管,官方是這樣介紹的:

Firebase 託管爲您的網頁應用提供快速、安全的靜態託管。
Firebase 託管是爲開發者提供的生產級網頁內容託管服務。 藉助 Firebase 託管,您只需一條命令,便可輕鬆快捷地將網頁應用和靜態內容部署到全球內容分發網絡。

使用Firebase有很多非常難得的好處:

  • 全球SSD CDN,速度比GitHub快。
  • 一鍵回滾。Firebase託管使用一鍵式回滾提供完整的版本控制和管理。
  • 零配置的SSL,自動啓動HTTPS。
  • 完美的中文文檔支持。

使用Firebase的體驗非常好,雖然是谷歌的產品但是提供了非常完整的中文文檔支持,而且寫得非常簡單易懂,同一個代碼示例提供多種編程語言的版本,裏面的很多功能都能快速上手。

1.創建項目

首先訪問Firebase創建一個項目。

創建時項目ID要注意,它會被用在URL上,如果不想自己定義域名的話以後就會一直用這個ID來作爲域名訪問。比如ID是usg-cn,那麼域名就會是https://usg-cn.firebaseapp.com/ 和 https://usg-cn.web.app/

2.初始化

運行以下命令來安裝Firebase(需預先安裝Node.js):

npm install -g firebase-tools

然後運行以下命令來登錄,運行完後會彈出一個瀏覽器窗口:

firebase login

登錄後再切換到剛纔生成的Hexo目錄下,

cd hexo/

運行

firebase init

運行時會讓選擇要使用什麼功能,因爲我們使用過的是託管所以這裏選擇Hosting,然後會提示選擇一個用作公共根目錄的目錄。這個目錄就是放所有靜態文件的地方,默認爲public名字剛好和Hexo生成的靜態文件目錄名字一樣,所以無需更改。

這個命令會在項目目錄下創建一個firebase.json配置文件,可以通過它來自定義託管行爲。

運行

最後,完全所有改動後運行

hexo g

這個命令會讓Hexo生成public文件夾,因爲Firebase部署的就是public文件夾,所以要先運行Hexo。

然後運行

firebase deploy

部署就完成了,內容將部署至 Firebase項目的默認託管網址:project-id.firebaseapp.com

大功告成了,接下來就是欣賞博客的時候了。

常用命令

hexo clean
hexo generate
hexo deploy
  • hexo clean用於清除舊版本生成的靜態文件(推送到遠端的public文件)
  • hexo generate生成新的靜態文件(public文件),生成這個文件是根據/source文件中的內容生成
  • hexo deploy推送github部署博客
hexo new "postName" # 新建文章
hexo new page "pageName" # 新建頁面
hexo generate # 生成靜態頁面至public目錄
hexo server # 開啓預覽訪問端口(默認端口4000,'ctrl + c'關閉server)
hexo deploy # 將靜態博客頁面部署到GitHub
hexo help  # 查看幫助
hexo version  # 查看Hexo的版本
  • hexo new創建新的文章,創建的文章會在source/_posts/目錄下,文章格式.md(Markdown格式),每次就可以直接編輯博客直接編輯這個文件就可以了,也可以把寫好.md的文件直接拖到這個文件夾中
  • hexo generate生成靜態頁面,生成的文件都是在public/文件下,這個文件就是最後推送到github的文件

博客地址:https://usg-cn.web.app/
參考地址:https://hyrepo.com/tech/hexo-firebase-blog/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章