記Halo1.5版本遷移Halo2.10.0版本

one發表於2023-10-15

原文地址: 記Halo1.5版本遷移Halo2.10.0版本 - Stars-One的雜貨小窩

上一篇Window10安裝linux子系統及子系統安裝1Panel皮膚 - Stars-One的雜貨小窩將對應的環境都準備好了,這下我們可以透過1Panel進行halo的2.10版本安裝,來測試新版本升級是否有什麼問題

本篇文章實際是在本地Linux系統進行的資料遷移和新版本使用的,僅供參考

各位如果要參考實踐,請注意資料備份!!

安裝halo

先進入1Panel皮膚,我們需要先安裝資料庫,之後再Halo的話

我這裡資料庫是選擇了MySql的8.1.0版本(halo好像也支援其他資料庫,具體有興趣各位自行研究下)

安裝halo選擇mysql資料庫即可,也要記得勾選允許外部訪問設定

之後透過ip+halo埠號訪問halo

PS: 透過ifconfig的linux命令檢視ip地址(具體可參考上一篇文章)

第一次訪問會提示初始化一個賬號,初始化賬號就正式進入到halo後臺管理了

資料遷移

這裡參考官方文件,下面記錄我的步驟

提示: 官方目前只支援1.5和1.6版本遷移到halo2.x版本,如果halo是之前的版本,得先升級到1.5或1.6版本,再繼續升到2.x版本

1.安裝遷移外掛

站點遷移:https://halo.run/store/apps/app-TlUBt

2.必要的3個外掛

3.安裝MD編輯器外掛

我這裡選擇了 ByteMD:https://halo.run/store/apps/app-HTyhC

Halo 2.0 目前沒有內建 Markdown 編輯器,如果需要重新編輯遷移後的文章,需要額外安裝 Markdown 編輯器外掛

4.匯出1.5版本的json資料

5.新版本匯入資料

到此,資料就是成功匯入了

其他問題

1.文章連結發生變更

之前部落格文章地址都是日期開頭的,新版本確實變更為固定

  • [](https://stars-one.site/2023/06/03/android-studio-version-list)
  • http://172.23.147.149:9888/archives/android-view-circle

到論壇問了下,可以在主題路由那裡進行修改

2.主題遷移

之前用的Joe2,不過不支援halo2.x版本了,好在有大佬移植整成了Joe3版本

之前Joe2包含有live2d看板娘,但Joe3沒有了,於是裝了個live2d看板孃的外掛,不過外掛似乎有些快取問題,後臺配置的模型id不是優先生效了,和作者提了個issue,不知道作者有沒有處理就是了

Joe3有些配置不一樣,首頁輪播圖選擇文章不是很好,連模糊搜尋都沒有,直接一個列表自己選文章,也和作者提了個issue建議

3.文章釋出者頭像

現在文章詳情頁的頭像,需要修改當前賬號的個人配置才行,就是左下角,賬號旁邊有個省略號的編輯,要去裡面自己重新上傳頭像

我想著能不能直接輸入一個圖片連結使用,在論壇提了意見,halo社群成員考慮安全隱私方面,就不考慮加這個功能了,也就算了,也還是能用

4.自定義頁面連結變更

之前舊版本有些自定義頁面,遷移過來後,需要重新配置下

預設遷移過來的是屬於自定義連結了,所以要調整下

我這裡就是重新在下面的主選單去新建選單,選擇我們的自定義頁面就可以了

5.文章列表查詢篩選有問題

之前舊版本存在一些私密和草稿文章,遷移到新版本之後,文章列表確實是有這些文章,且顯示文章的狀態是未釋出的

但是我透過篩選未釋出的文章,卻是提示我資料為空...好像是一個bug,到論壇裡提了個帖子反饋,目前還沒人回覆

6.主題編輯

新版本不像之前版本那樣,有個主題編輯功能

論壇裡也問了,官方建議自己去fork一份程式碼進行修改,我看那個主題檔案都是一個gradle專案了,一想要配環境之類就放棄了

官方不提供,那我們自己改就好了

實際主題檔案和之前一樣,是放在本地的一個資料夾目錄的

我們在1Panel皮膚的檔案管理進入到/opt/1panel/apps/halo/halo/data/themes此目錄下就可以找到我們安裝的主題了

這個opt資料夾,實際上就是你之前1Panel安裝時候的配置項,我是直接預設,所以就是opt資料夾

之後裡面的主題檔案和相關規則,可以參考halo官方主題開發文件

注意下: 新版本使用了theleaf模版引擎,和之前的freemarker不一樣了

其他補充

最後,目前我是在本地進行測試使用,還沒準備放在伺服器上

遷移步驟有2種:

1.透過透過1Panel的容器選單,將mysql和Halo的2個docker映象匯出,之後伺服器那邊安裝1Panel匯入映象即可

2.透過halo管理內建的遷移資料

在halo的備份選單,將資料備份,然後新版本那邊重新安裝mysql,halo,之後初始化,再匯入備份資料

當然,上面2種只是個理論,具體過程中會不會有什麼問題,得後續實踐才知道了

參考

相關文章