細心的同窗會發現雖然公衆號每週還在更新,可是個人博客www.ityouknow.com有一月多都沒有更新了。這其中有兩個緣由,第一呢去了新公司996各類忙亂,沒有太多的時間,但最主要的問題是博客更新不了,每次提交都會報錯。html
個人博客託管在Github上,每次寫文章的節奏都是這樣子的:在sublime text3上面使用markdown語法來寫文章,寫完文章以後,使用Github Desktop提交到Github,Github會自動進行構建,這樣文章就發佈到博客中,而後我再複製文章內容同步到公衆號、博客園、CSDN。此次博客忽然提交文章報錯,致使我寫文章的節奏徹底被打亂了,爲何會這樣呢,這個事還得從頭提及。前端
我最開始只是在博客園寫文章,雖然博客園的閱讀量和用戶氛圍都很不錯,但仍是有不少的限制,作爲一個博客的愛好者,仍是但願有本身的獨立博客,考察了不少方案,最後仍是以爲Github直接提交代碼發佈博客的方式最喜歡,而且還徹底免費。使用github pages以後,很長的一段時間內都沒有發現喜歡的博客主題。有一次查找資料的時候偶然發現了DONGChuan同窗的這個博客主題Yummy-Jekyll,簡潔大方很是符合個人審美觀,果斷入手。後來又根據本身的狀況對博客主題作了一些定製,就成了如今的樣子。git
博客使用了一年多,期間一直都很穩定,中間作過一次升級,增長了移動端動態適配。一月前,答應給醜胖俠同窗加一個友情鏈接,按照往常的狀況,修改link.md文件添加一條記錄而後提交。過了一會發現博客link頁面並無更新過來,反而收到了github自動回覆的一封郵件,以下:github
主題:[ityouknow/ityouknow.github.io] Page build failure
內容:
The page build failed for the `master` branch with the following error:
Page build failed. For more information, see https://help.github.com/articles/troubleshooting-github-pages-builds/.
For information on troubleshooting Jekyll see:
https://help.github.com/articles/troubleshooting-jekyll-builds
If you have any questions you can contact us by replying to this email.複製代碼
當時正在上班,沒有時間細看,就先放了下來,等有空閒了再仔細瞧瞧。微信
過了兩天恰好得空的時候,就研究下究竟是啥緣由,想着應該是哪一個文件的格式沒寫對致使報語法錯誤,因而回退了最近修改的link.md文件,提交上去以後又報一樣的錯誤,因而索性把最近一週提交的文件全都進行回退,提交以後仍是報一樣的錯誤,因而我意識到應該不是由於我最近提交文件致使的此問題,仔細的查看了報錯的郵件內容,按照郵件中提示的兩個網址覈對了相關信息,嘗試着修改了一些配置,但仍是沒有解決。因而用我蹩腳的英語就給github官方發了一封郵件:markdown
Hi:
I don’t know why page build failure,I just modified a MD file, and now the page cannot be submitted again。
Can you tell me the reason,Thank you for your reply.複製代碼
次日就收到了Github官方的回覆郵件:工具
Hi ityouknow,
Here's the full error we're seeing:
[31m Liquid Exception: no implicit conversion of Integer into String in /_layouts/default.html[0m
[31m Fatal: TypeError[0m
[31m no implicit conversion of Integer into String[0m
You can also find this by building your site locally with Jekyll:
https://help.github.com/articles/setting-up-your-github-pages-site-locally-with-jekyll/
I notice in your Gemfile you're using some outdated dependancies that may be causing the Pages build process to fail. You may want to follow the instructions above, and make sure you're running the same versions of each dependancy listed on this page:
https://pages.github.com/versions/
Hope this helps!
Thanks,
Thomas複製代碼
郵件內容一方面把具體的報錯信息幫我貼了出來,一方面說個人Gemfile文件中有一些組件版本太低,可能會致使這方面的緣由,Github Page使用打包的相關組件版本在這裏:pages.github.com/versions。我試着按照這個網址的內容修改Gemfile.lock裏面的相關組件版本後,再次進行了提交,結果仍然是報這個錯誤,再次陷入了死衚衕中。測試
過了兩天我忽然想到,Yummy-Jekyll主題的做者會不會也遇到了這個問題,因而到做者的Github主頁是fork了她的博客相關代碼,在個人Github帳戶下面進行了測試,也報一樣的錯誤,接着又試着將做者Gemfile的相關內容覆蓋個人博客相對應的文件中,結果仍是報錯,因而我就在Yummy-Jekyll主題下建立了一個issues,將問題描述了一下,但願做者能給幫忙解決掉,同時根據做者在github留下的郵箱,同步發送了一封郵件。ui
Hi 您好:
首先很是感謝你開源這個主題,我使用了你的主題作了博客:www.ityouknow.com。最近提交的時候老是報錯,我給Github官方發送了郵件,回覆說有多是組件依賴太低的問題,我本身對前端來講是小白,請求給予幫忙,謝謝。
能夠有償幫助,個人微信/QQ:xxxxx.複製代碼
過了一週,可能做者沒有注意到github提交的issues和個人郵件,而後我再次發送了郵件給做者,仍然沒有收到回覆。因而我想使用這個主題的博主應該也不僅我一個,會不會他們也遇到了一樣的問題,有的可能有能力解決了此問題。在Github上面查看了Yummy-Jekyll主題的全部fork記錄,查看了不少的博主,大多都僅僅是停留在fork沒動過,或者寫了一兩篇後就中止了,這個方向又陷入了死衚衕。this
又過了幾天想着本身好好研究下前端和Gemfile興許能夠解決掉,因而我將博客代碼在coding.net複製了一份ityouknow,由於使用coding.net在打包的時候能夠查看日誌,若是報錯能夠看到具體的錯誤信息。因而我就一邊試着修改相關代碼和配置,一邊不斷的從新部署查看錯誤日誌,再根據錯誤日誌在谷歌上搜索相關的解決方案,這個過程持續了大概兩個半天,終究仍是沒有解決,前端對我來講仍然像謎同樣。
求助主題做者和自力更生都無果以後,就想着找一些對jekyll和前端比較熟悉的大牛,幫我看看如何去解決。在QQ羣中發了一些求助信息後,也沒有找到合適的對象,因而就想到了v2ex,之前總據說v2ex是一個神奇的社區,但我徹底不明白神奇在哪裏,之前也使用過一兩次,也麼看出個因此然。固然我仍是抱着死馬看成活馬醫的態度在v2ex發了一個帖子:
不一會,就收到了一個網友的回覆:"上班中,如今沒時間幫你驗證, 你把 readme 刪掉試試是否 ok",雖然我明明知道這個建議是多麼的不靠譜,但我仍是試了,仍然報錯。忽然在v2ex上有一個叫作"lzhr"的小夥伴給我回復了這麼一條信息:
這個錯誤好像持續一段時間了,/DONGChuan/Yummy-Jekyll/issues/40 。
要不換個很近似的:/smartjinyu?tab=repositories複製代碼
跟着裏面的連接我找到了這個地址:github.com/smartjinyu/…,這個哪是近似,就是和我使用了同一個模板主題。做者也是在原來的模板上進行了一些改造,趕忙瞄了一下Gemfile.lock的最新修改時間,是14天前貌似有戲,因而我迅速複製了一份代碼在coding.net上面進行了測試,但仍然仍是報錯,感受很奇怪給"lzhr"回覆了仍是不行,不一會"lzhr"又給我回復了信息:"不是啊,我直接 fork,改改地址就好了 github.com/RGXY/rgxy.g…",因而我想是否是coding.net和github的打包環境不一致致使的,因而fork了smartjinyu做者的代碼在github上面進行了測試,果真能夠!
就在週五的晚上,終於看到了勝利的曙光。使用對比工具"Beyond Compare"將原來個人博客和smartjinyu的博客進行了一一對比。不斷的改動、提交、查看報錯,持續了一個多小時以後,發現這樣效率過低了,因而轉變了思路,直接在smartjinyu的博客上面進行修改定製,花費了兩個多小時,終於將smartjinyu的博客修改爲和我原先博客如出一轍,而後再同步上博客內容,提交上去作了測試,都很是成功,完了一看時間已經凌晨3點了,但終究是搞定了一件事情。
在對照改造的過程當中,我發現smartjinyu將依賴的組件包都相應的作了升級,之前不少的模板寫法到如今的環境已經不經過編譯。問題的本質應該是Github官方升級了相關的打包環境,致使博客中有一些寫法和組件包不兼容。雖然最後修改的版本在Github上已經沒有問題了,但我複製到了coding.net上面進行打包測試仍是報錯,有機會的話哪位對Jekyll熟悉的朋友能夠一塊兒看看,最後再次感謝v2ex的lzhr。
喜歡個人文章,請關注個人公衆號
做者:純潔的微笑
出處:www.ityouknow.com/
版權歸做者全部,轉載請註明出處