本文主要記錄出現(xiàn)問題,去找問題,踩了一些坑,最后回歸本源找到問題并解決問題的過程
問題
本地hexo s啟服務(wù)能正確顯示,推到遠端github或者博客上就無法顯示
本地正常顯示:

遠端博客無法渲染:

找問題的過程
懷疑主題沒有做很好的兼容
一開始是懷疑這個問題的,因為這個主題的作者太佛系,介紹也就一句話,issue也少,fork人氣也不高
如下兩句話,還是廢話...

更關(guān)鍵的,這個文檔還是16年的,如今3年過去了...技術(shù)怎么著也得更新了吧...
于是傻傻的繼續(xù)往下做實驗
懷疑插件問題
之所以懷疑這個問題,是因為google相關(guān)問題后,一堆出現(xiàn)推薦xxx插件的博文,點開一看其實很多都差不多,到處復制而已
然后我也屁顛屁顛試咯下,結(jié)果仍然是不行
emmm...前前后后實驗各種插件,各種折騰,環(huán)境各種被玩壞,一上午基本都在這種折騰中過去了
- hexo-math
- hexo-katex
- hexo-renderer-mathjax
- hexo-renderer-pandoc
- ...
備份的重要性
這里強調(diào)下,在找問題的過程中,如果需要改變環(huán)境配置、插件、或者其他的你不能一一記下的東西時,最好先把目前穩(wěn)定的環(huán)境打個包backup一下,避免后面改出問題來了,也沒法回到目前的穩(wěn)定版本
回到最開始狀態(tài)
折騰了快一上午了,仍然解決不了我目前的問題 ,于是發(fā)現(xiàn)似乎是上面兩個假設(shè)不太成立...
最后整理一下郁悶的心情,決定從頭開始再分析一遍
如今啊,發(fā)現(xiàn)問題就上來一頓Google,有時候確實能解決不少問題
而有時候,卻讓人疏忽了真正解決問題的方法和能力
看看時間,已經(jīng)到飯點了,隨手抓起一個面包,灌一口水,重新打起精神
這次先加載最初出問題的相對穩(wěn)定的那個版本
重新編譯生成靜態(tài)網(wǎng)頁,啟服務(wù),訪問,本地依然完美,推到博客依然失敗
但是這次仔細觀察,發(fā)現(xiàn)遠端出現(xiàn)了一點不一樣的地方

瞬間一個機靈,怕是問題在這里了,果斷點了上去

看到這里,我心里預感,這次應該是找到問題了,估計是被攔截腳本了,繼續(xù)加載

果然,點了加載腳本就能顯示公式了,但是這里出現(xiàn)了不安全,https也被橫殺了
終于找到問題
其實,到了這里問題已經(jīng)被找到了,原因就是網(wǎng)頁中需要加載不信任的js腳本,而網(wǎng)站默認不加載,導致了公式?jīng)]法被js渲染出來
接下來就是怎么解決這個問題了,總不能每次都讓人點這個小x盾,再讓人點加載不安全的腳本吧,難道還得寫個博客訪問指南么...
一個字 low...
解決問題
關(guān)閉https
一種方法是關(guān)閉自己博客的https鏈接,直接http訪問
因為我的博客是掛載在github.io上的,默認開啟了https,關(guān)閉方法如下:
- 找到github上的xxx.github.io的repo
- 進入settings頁簽
- 找到如下,把Enforce https取消勾選即可
https.png
腳本鏈接選擇https
上面的方法雖然可行,但是犧牲掉了一定的安全性,安全出身的我果然不能這樣忘本
那就選擇第二條路吧:在mathjax腳本中修改http腳本鏈接到https
方法如下:
- 定位到:
xxx\node_modules\hexo-renderer-mathjax\mathjax.html - 把原來的:
<script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
修改為:
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
- 再重新編譯,推送,訪問:
hexo clean
hexo g
hexo d
Job done !
