摘要:原文鏈接需求像這種靜態博客用起來很方便,但是硬傷就是沒有后臺管理,每次想寫博客或者說想要修改原博客的話,都需要在本機上找文件,修改之后發布,尤其是如果機器上沒有安裝等工具的時候,就無法修改了。
原文鏈接
需求像Hexo這種靜態博客用起來很方便,但是硬傷就是沒有后臺管理,每次想寫博客或者說想要修改原博客的話,都需要在本機上找markdown文件,修改之后發布,尤其是如果機器上沒有安裝hexo,git等工具的時候,就無法修改了。因此hexo可不可以以像wp,ghost這種有后臺管理, 隨時隨地編輯博客呢?
正巧hexo專門有一個插件hexo-admin 提供了在web UI下增刪改查博客的功能,我也正好有一個VPS, 于是就有了下面的一種方法.
解決方法首先說一下條件與需求。 我自己有一個的VPS,本來是可以直接將hexo部署到VPS的,但是考慮到自己維護的VPS的穩定性等問題,最后決定將hexo的靜態頁面部署github-pages上。
我的目的有兩個:
擁有在線編輯博客的后臺
本地機器同時也可以編輯發布博客
二者需要保持同步
基于這樣的需求,僅僅靠github pages顯然不可行了,必須借助VPS了.保持同步的意思是VPS的內容與本地機器上的博客的資源要保持一致。就是說我在線修改了某篇博客,然后之后如果可以很簡單的同步到本地,使得兩端保持同步,反過來一樣。
我的做法是:
將hexo目錄下的相關文件包括_config.yml,source/等文件建立一個私人repo(個人使用coding.net)
VPS上安裝好hexo,具體過程與換臺機器安裝同理, 可參考這篇博客hexo遷移重裝。
VPS上安裝hexo-admin插件,這樣可以在線編輯了. 在這一步的時候, 為了方便,我用了一個子域名以及在VPS上用nginx做前段端口轉發.
到這里后臺管理基本沒有問題了. 接下來就是在線發布了. 正巧的是hexo-admin提供了這個功能, 有一個Deploy的功能,具體實現是使用nodejs的spawn函數來執行發布腳本的. 一開始不太懂spawn這個函數的使用, 就直接在deploy中隨便輸入了東西,結果各種 spawn err. 后來查過資料,才知道deploy的輸入的位置其實是對hexo-admin的配置里面deployCommand的選項,可以為空. 打個比方,如果我在deployCommand寫的是./hexo-deploy, 然后點擊deploy按鈕之后, 后臺就可以執行hexo-deploy腳本的內容了. 有了這個接口就非常靈活了. 因為基于此, 我們不但來發布博客,甚至可以把同步的腳本加進去.具體參考 https://github.com/jaredly/he...
下面說一下發布以及同步的操作:
在博客目錄寫一個有關git同步的小腳本:server-upload.sh 用來同步VPS目錄下的變化,主要代碼其實就是先git pull 拉取repo最新, 之后在push. 具體腳本代碼不再贅述.
建一個hexo-deploy的腳本,內容:
hexo g && hexo d ./server-upload.sh
利用hexo-admin的deploy功能,可以在線發布,注意修改_config.yml: 加上hexo-admin的admin選項, 加一個deployCommand: ./hexo-deploy的字段,如下:
admin: username: XXX password: XXXXX deployCommand: "./hexo-deploy"
編輯完博客時候,發布的時候,需要點擊hexo-admin的deploy。這樣在后臺就可以執行前面定義的hexo-deloy腳本了
本地機器也需要有一個upload.sh的腳本, 每次同樣需要先git pull 在git push 到私人repo. 其實就是版本控制那一套.
到現在基本完成了自己可以隨時隨地編輯博客并且多端同步的需求了. 之前也考慮過CI持續集成,但是大部分都是再建立一個分支, 需要把博客的source公開, 不太合適. 所以就選擇了hexo-admin這種方法.
這篇博客便是在線完成的.
其實這里面的坑還是蠻多的(主要不熟悉node). 此外開始使用supervisor做后臺運行監控, 結果不知為何, 在hexo d包括git的pull或者push等操作,都會報錯,提示讓我確認git用戶, 但是我已經設置了git config的email和name. 查了很多資料也沒有解決, 后來直接拋棄supervisor, 直接使用nohup來放后臺運行了. 大概是這樣了, 有什么問題可以留言或者郵件.
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/84537.html
摘要:可是我們勤勞的程序猿們不甘心不那么完美,所以大神們寫了各種教程,通過其他的方法解決了因為谷歌而不能使用的功能,今天就來說說為博客網站加上的瀏覽量功能。 版權聲明:更多文章請訪問我的個人站Keyon Y,轉載請注明出處。 Hexo是和WordPress一樣的完善的博客系統,但是好多輔助功能/插件需要是訪問谷歌的服務器的,在我大天朝就只能看看了。可是我們勤勞的程序猿們不甘心不那么完美,所以...
記錄一下用hexo搭建博客的過程和一些坑安裝 Node.jsbrewinstallnode具體看Post not found: NodeJs基本使用,當前版本的hexo在node14中會有告警,建議安裝12并使用nvm管理node版本安裝 Hexonpminstallhexo-cli-g初始化Hexomkdirblog&&cdblog#創建文件夾并進入hexoinit#初始化hex...
原文鏈接 隨著Vateral主題的開發接近了尾聲,在對主題速度優化的時候發現之前用的githubpage問題多多:首先就是因為在國內的原因,訪問速度本身就很慢,曾經有次加載一張16kb的圖標時間耗費了26s!!?其次,在對資源做CDN托管加速時,域名是需要備案的,顯然githubpage也是做不了的;所以果斷舍棄了這個把hexo搭建到了我的阿里云服務器上 總體來說還是比把hexo搭建到github...
摘要:后端主要使用的框架,數據庫采用。后臺管理登錄采用與后端進行登陸狀態的確認。本文首發于小站,這是一個積累和分享知識的個人博客 這篇文章擱置了很長時間,最終決定還是把它寫出來,給剛開始學習vue并且想用vue寫個人博客的同學一個參考。因為當初我也是參考了其他人分享的知識,從一個vue小白變成了一個入門級選手,并最終完成了這個個人博客的搭建工作,代碼已托管在Github-justJokee。...
閱讀 4751·2021-11-15 11:39
閱讀 2698·2021-11-11 16:55
閱讀 2206·2021-10-25 09:44
閱讀 3510·2021-09-22 16:02
閱讀 2441·2019-08-30 15:55
閱讀 3129·2019-08-30 13:46
閱讀 2670·2019-08-30 13:15
閱讀 1958·2019-08-30 11:12