title: 記錄一下博客的由來
date: 2020-07-02 15:11:24
tags: firebase
1.前言
這個博客是於2020年7月2日創建的。使用的是hexo博客框架+firebase hosting 託管主機建立的。
因爲之前自己也搭建過博客,但當時使用的是vps+wordpress的方案(不穩定,數據容易丟,而且要租用服務器自己託管網站)這段時間學習Linux的過程中偶然發現了谷歌的副firebase平臺(它是谷歌旗下一個*後端即服務(BaaS)*的平臺,簡單來說就是後端在雲端,不用再擔心數據庫、認證、存儲和擴張等,直接調用即可。)
目前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 ,谷歌的又一個神器,具體怎麼神我就不多作介紹了,我們只用上了其中很小的一部分功能:託管。
關於託管,官方是這樣介紹的:
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/