本文介紹一種使用Hexo、NexT妈拌、GitHub拥坛、Cloudflar等技術(shù)和服務(wù)發(fā)布靜態(tài)博客的思路,可以實(shí)現(xiàn)完全網(wǎng)絡(luò)化寫作尘分、編譯和發(fā)布博客猜惋。
使用的技術(shù)和服務(wù)有:
- Hexo 是一個(gè)快速、簡(jiǎn)潔且高效的博客框架
- Theme NexT : Stay Simple. Stay NexT
- GitHub:Where the world builds software
- Cloudflare 是一個(gè)全球網(wǎng)絡(luò)培愁,旨在讓您連接到互聯(lián)網(wǎng)的一切都安全著摔、私密、快速和可靠
- Cloudflare Pages
- Cloudflare Web Analytics
實(shí)現(xiàn)的功能和效果有:
- 開箱即用的Hexo和Next主題的博客模板Hexo_NexT定续。你只需fork該模板谍咆,修改部分配置即可完成搭建工作
- GitHub Dependabot alerts 自動(dòng)更新Hexo的依賴包禾锤,保證代碼安全
- 使用Cloudflare Pages實(shí)現(xiàn)編譯發(fā)布
- 域名接入Cloudflare實(shí)現(xiàn)CDN加速訪問
- 使用Cloudflare Web Analytics來進(jìn)行訪問統(tǒng)計(jì)
序言
靜態(tài)博客的優(yōu)勢(shì)很明顯。它不僅輕便摹察、快捷且維護(hù)方便恩掷,還不用操心安全、主機(jī)費(fèi)用等問題供嚎』颇铮可以讓創(chuàng)作者安心的創(chuàng)作內(nèi)容,剩余的瑣碎工作交由程序自動(dòng)化完成克滴。
當(dāng)前靜態(tài)博客不等同于靜態(tài)網(wǎng)頁 逼争。基于各類博客架構(gòu)的生成的靜態(tài)博客劝赔,和最初網(wǎng)頁三劍客制作的靜態(tài)網(wǎng)頁有本質(zhì)上的差別氮凝,尤其內(nèi)容創(chuàng)作、主題使用和頁面生成都不再是逐個(gè)頁面的去實(shí)現(xiàn)望忆,博客架構(gòu)已經(jīng)考慮了所有自動(dòng)化的工作。
靜態(tài)博客已經(jīng)可以脫離本地化環(huán)境竿秆,完全網(wǎng)絡(luò)化寫作启摄、編譯和發(fā)布。利用各種CI工具幽钢,可以輕松的實(shí)現(xiàn)在代碼倉庫發(fā)生變化時(shí)自動(dòng)拉取內(nèi)容編譯后發(fā)布歉备。比如使用 Travis CI或GitHub action等CI,或者Netlify等發(fā)布工具匪燕。
建立hexo靜態(tài)博客倉庫
- 在GitHub上新建代碼倉庫Hexo_NexT
- 使用Gitpod或其它在線IDE打開倉庫蕾羊,安裝好npm環(huán)境和Hexo,初始化hexo博客后推送至代碼倉庫
- 在Github代碼倉庫中編輯Hexo配置文件帽驯,配置博客基本信息龟再,設(shè)置使用NexT主題
- 在Github代碼倉庫中編輯NexT主題配置,并同步編輯package.json添加依賴包
- 在Github代碼倉庫中刪除package-lock.json和yarn.lock
- 在Github代碼倉庫中啟用Dependabot alerts尼变,并配置環(huán)境為npm
- Dependabot發(fā)現(xiàn)更新依賴版本時(shí)會(huì)提交一個(gè)合并請(qǐng)求利凑,點(diǎn)擊合并就好
使用Cloudflare 實(shí)現(xiàn)發(fā)布、加速和訪問統(tǒng)計(jì)
- 注冊(cè)登錄Cloudflare嫌术,并以NS方式接入博客域名
- 使用Cloudflare pages創(chuàng)建項(xiàng)目哀澈,綁定Hexo_NexT倉庫并配置相關(guān)信息,即可自動(dòng)編譯發(fā)布
- 在設(shè)置中為該項(xiàng)目添加自定義域名即可實(shí)現(xiàn)cdn加速
- 在設(shè)置中開啟Cloudflare web analytics
- 在Github代碼倉庫中編輯NexT主題配置,添加cloudflare_analytics的站點(diǎn)標(biāo)識(shí)度气,提交更新到主分支編譯發(fā)布割按,實(shí)現(xiàn)訪問統(tǒng)計(jì)
日常寫作
- 使用印象筆記等進(jìn)行多端寫作
- 成稿后,在Github代碼倉庫_posts文件夾中新增文章
- 提交到主分支后自動(dòng)編譯發(fā)布
寫在最后
本文可能對(duì)完全新手不太友好磷籍,因?yàn)槲闹械拿恳徊蕉夹枰鄳?yīng)的背景知識(shí)和實(shí)踐經(jīng)驗(yàn)适荣,可能每一步都需要一篇完整文章來解釋和指導(dǎo)操作现柠,所以只能算是給讀者提供思路,但是這是我已經(jīng)實(shí)現(xiàn)的束凑。