千里追踪博客之殇

细心的同学会发现虽然公众号每周还在更新,但是我的博客www.ityouknow.com有一月多都没有更新了。这其中有两个原因,第一呢去了新公司996各种忙乱,没有太多的时间,但最主要的问题是博客更新不了,每次提交都会报错。

我的博客托管在Github上,每次写文章的节奏都是这样子的:在sublime text3上面使用markdown语法来写文章,写完文章之后,使用Github Desktop提交到Github,Github会自动进行构建,这样文章就发布到博客中,然后我再复制文章内容同步到公众号、博客园、CSDN。这次博客突然提交文章报错,导致我写文章的节奏完全被打乱了,为什么会这样呢,这个事还得从头说起。

起因

我最开始只是在博客园写文章,虽然博客园的阅读量和用户氛围都很不错,但还是有很多的限制,做为一个博客的爱好者,还是希望有自己的独立博客,考察了很多方案,最后还是觉得Github直接提交代码发布博客的方式最喜欢,并且还完全免费。使用github pages之后,很长的一段时间内都没有发现喜欢的博客主题。有一次查找资料的时候偶然发现了DONGChuan同学的这个博客主题Yummy-Jekyll,简洁大方非常符合我的审美观,果断入手。后来又根据自己的情况对博客主题做了一些定制,就成了现在的样子。

博客使用了一年多,期间一直都很稳定,中间做过一次升级,增加了移动端动态适配。一月前,答应给丑胖侠同学加一个友情连接,按照往常的情况,修改link.md文件添加一条记录然后提交。过了一会发现博客link页面并没有更新过来,反而收到了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官方发了一封邮件:

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使用打包的相关组件版本在这里:https://pages.github.com/versions。我试着按照这个网址的内容修改Gemfile.lock里面的相关组件版本后,再次进行了提交,结果仍然是报这个错误,再次陷入了死胡同中。

过了两天我突然想到,Yummy-Jekyll主题的作者会不会也遇到了这个问题,于是到作者的Github主页是fork了她的博客相关代码,在我的Github账户下面进行了测试,也报同样的错误,接着又试着将作者Gemfile的相关内容覆盖我的博客相对应的文件中,结果还是报错,于是我就在Yummy-Jekyll主题下创建了一个issues,将问题描述了一下,希望作者能给帮忙解决掉,同时根据作者在github留下的邮箱,同步发送了一封邮件。

Hi 您好:

首先非常感谢你开源这个主题,我使用了你的主题做了博客:www.ityouknow.com。最近提交的时候总是报错,我给Github官方发送了邮件,回复说有可能是组件依赖过低的问题,我自己对前端来说是小白,请求给予帮忙,谢谢。

可以有偿帮助,我的微信/QQ:xxxxx.

过了一周,可能作者没有注意到github提交的issues和我的邮件,然后我再次发送了邮件给作者,仍然没有收到回复。于是我想使用这个主题的博主应该也不只我一个,会不会他们也遇到了同样的问题,有的可能有能力解决了此问题。在Github上面查看了Yummy-Jekyll主题的所有fork记录,查看了很多的博主,大多都仅仅是停留在fork没动过,或者写了一两篇后就停止了,这个方向又陷入了死胡同。

又过了几天想着自己好好研究下前端和Gemfile兴许可以解决掉,于是我将博客代码在coding.net复制了一份ityouknow,因为使用coding.net在打包的时候可以查看日志,如果报错可以看到具体的错误信息。于是我就一边试着修改相关代码和配置,一边不断的重新部署查看错误日志,再根据错误日志在谷歌上搜索相关的解决方案,这个过程持续了大概两个半天,终究还是没有解决,前端对我来说仍然像谜一样。

出现转机

求助主题作者和自力更生都无果之后,就想着找一些对jekyll和前端比较熟悉的大牛,帮我看看如何去解决。在QQ群中发了一些求助信息后,也没有找到合适的对象,于是就想到了v2ex,以前总听说v2ex是一个神奇的社区,但我完全不明白神奇在哪里,以前也使用过一两次,也么看出个所以然。当然我还是抱着死马当作活马医的态度在v2ex发了一个帖子:

不一会,就收到了一个网友的回复:"上班中,现在没时间帮你验证, 你把 readme 删掉试试是否 ok",虽然我明明知道这个建议是多么的不靠谱,但我还是试了,仍然报错。突然在v2ex上有一个叫做"lzhr"的小伙伴给我回复了这么一条信息:

这个错误好像持续一段时间了,/DONGChuan/Yummy-Jekyll/issues/40 。 

要不换个很近似的:/smartjinyu?tab=repositories

跟着里面的链接我找到了这个地址:https://github.com/smartjinyu/smartjinyu.github.io,这个哪是近似,就是和我使用了同一个模板主题。作者也是在原来的模板上进行了一些改造,赶紧瞄了一下Gemfile.lock的最新修改时间,是14天前貌似有戏,于是我迅速复制了一份代码在coding.net上面进行了测试,但仍然还是报错,感觉很奇怪给"lzhr"回复了还是不行,不一会"lzhr"又给我回复了信息:"不是啊,我直接 fork,改改地址就行了 https://github.com/RGXY/rgxy.github.io",于是我想是不是coding.net和github的打包环境不一致导致的,于是fork了smartjinyu作者的代码在github上面进行了测试,果然可以!

就在周五的晚上,终于看到了胜利的曙光。使用对比工具"Beyond Compare"将原来我的博客和smartjinyu的博客进行了一一对比。不断的改动、提交、查看报错,持续了一个多小时之后,发现这样效率太低了,于是转变了思路,直接在smartjinyu的博客上面进行修改定制,花费了两个多小时,终于将smartjinyu的博客修改成和我原先博客一模一样,然后再同步上博客内容,提交上去做了测试,都非常成功,完了一看时间已经凌晨3点了,但终究是搞定了一件事情。

在对照改造的过程中,我发现smartjinyu将依赖的组件包都相应的做了升级,以前很多的模板写法到现在的环境已经不通过编译。问题的本质应该是Github官方升级了相关的打包环境,导致博客中有一些写法和组件包不兼容。虽然最后修改的版本在Github上已经没有问题了,但我复制到了coding.net上面进行打包测试还是报错,有机会的话哪位对Jekyll熟悉的朋友可以一起看看,最后再次感谢v2ex的lzhr

时间: 2024-07-31 08:59:05

千里追踪博客之殇的相关文章

《千里追踪》热拍吴佳佳抵制“潜规则”(图)

曾参演过电影<棒子老虎鸡><精舞门>的福建女孩吴佳佳,最近正在东莞拍摄央视的电视电影<千里追踪>.在这部反腐题材的作品中,实力派演员邵峰扮演反贪组组长,吴佳佳则扮演女检察官李籽妍. 距离电影处女作<棒子老虎鸡>的拍摄已有2年,如今吴佳佳是北京电影学院表演系本科大三学生.面对自己投身的演艺圈,吴佳佳有些无奈地表示,新演员入行难,更要抵御不少诱惑和"潜规则"的威胁.她表示:"当然最怕潜规则."她说拍戏这两年,也遇到过难以启

博客园与啊里云的故障假设:高需与低配(补充了降频论)

背景:  博客园自从上了啊里云,故障频繁,使得大伙每星期都在看故障报告,对503不知不觉也建立直了深厚的友谊. 故障从硬盘IO到SLB到应用级别的,各自怀疑,各自检测,都各自坚持没问题,但情况是问题依旧. 而解决的方式是博客园不断的购买高配,但仍逃不出503的魔掌. 最终,博客园把怀疑点指向了啊里云的CPU. 啊里云,也怀疑是博客园自身程序问题.  对此问题,园里园外都比较关心,所以,在这背景下,我假设性的分析一下.   注意,以下内容纯属个人意淫,假设性内容,不代表符合事实,仅供各位看热门的参

建个企业博客好营销

中介交易 SEO诊断 淘宝客 云主机 技术大厅 相对于传统媒体广告或是公司网站宣传而言,企业博客有着诸多好处:它不唐突,能够直接获知客户意见.帮助企业树立创新者的形象.即便你的企业并不需要立即创建一个企业博客,也需要对博客圈中与企业相关的言论保持敏感,因为在这个消费者创作内容的时代,尝试新方法来保持与客户的接触极为必要. 在过去五年中,所有基于网络的应用程序(如电子邮件.网上论坛等)里,博客的增长率是最高的.用户能够在15分钟之内建成自己的博客,并不需要掌握任何特殊机能便能轻松更新博客.博客的访

巧用博客给网站养权重 你会做吗?

通常对于一个站长而言,我们主要的工作分为:网站建设,网站内部优化,网站外链辅助三大方面.对于这三个任意一方面我们都需要做很多,特别是内部优化和外链优化,然而笔者今天主要针对的是博客外链优化来养权重来与大家进行一个分享. 关于博客养站,相信很多站长与笔者一样有着深刻的感受,特别是对于我们网站的关键词排名帮助特别大,因为在发布博客文章的时候我们可以任意的自由插入我们的关键词锚文本进行指向相关页面,不像去那些论坛.问答平台等去发布,只能带一个站点裸链,所以说博客相对而言更加的有优势.说了这么多,笔者下

Jekyll搭建个人博客 韩俊强的博客

之前写了一篇HEXO搭建个人博客的教程获得了很好评,有很多读者主动给我打赏,在此感谢. 如果你看过我的文章会发现我现在的博客样式跟之前是有很大的区别的,之前我也是使用 HEXO 搭建的博客,后来发现使用 HEXO 在多台电脑上发布博客,操作起来并不是那么方便,果断就转到了 Jekyll 上,接下来我会讲如何使用 Jekyll 搭建博客,博客模板效果. 介绍 Jekyll 是一个简单的博客形态的静态站点生产机器.它有一个模版目录,其中包含原始文本格式的文档,通过 Markdown (或者 Text

原汁原味是博客价值所在

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 王海鹰,市场一线营销实战专家,最近三个月,已有四个客户通过博客找到他,不仅谈成了生意上的合作,而且发现彼此非常有共同语言.但是用王海鹰的话来讲,他的公司业绩还是不错的,也没有通过博客来刻意营销自己的想法,他写博客就是在表达自己真实的营销体验,让外界真正了解他和他的企业. 用率性求真的态度写博客 在王海鹰与<成功营销>记者的谈话中,

博客园博客撰写工具【开源】(可以直接黏贴图片) (转)

  更新2015-05-26 已经解决掉那个BUG,并增加了一些新功能优化了代码 BUG 如果你的用户名和你的博客Id不同的话,发布博客不成功 感谢若云帮忙重现BUG 2015-5-21更新 可以从博客园拉取最近一篇博客,并修改这篇博客了 (注意:如果拉取到的最近一篇博客,并非你草稿箱里的博客,那么你修改过之后,再保存是不会保存成功的:博客园API里获取到的数据信息没法判断这篇博客是否为草稿,如果能的话就好多了) 先说废话 最近在写Nim相关的博客 (Nim是门非常不错的语言,我接下来还会写很多

在Windows Live Writer中添加google的博客账户

微软的 windows live writer 是一个不错的离线博客撰写终端.提供了不少blog的离线撰写. 并且相应的各种功能的插件也不少,为我们写blog提供了不少的方便.其中google的 blogger 支持的也不错.不过因为伟大的墙的存在,我们用起来始终不那么方便.下面介绍一样怎么在最新的 windows live writer 里添加博客账户以及如何通过代理发布博客. 1.添加一个日志账户,选择[其他日志服务]. 2.填入blogger的网址, http://[yourname].b

新博客如何做到人脉流量双丰收

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 最近接触到很多开始接触独立博客的小盆友,很能折腾,这会还问我问题呢,没多久就把这个问题搞定了,一天下来博客也就有模有样了,两三天不联系,QQ上线 后看到留言,"我的博客被谷歌收录了首页,很有成就感--"本来并不惊奇的事情,当知道他才初中毕业,即将上高中,心里开始佩服现在的这些小盆友们了!你 们好样的!今天写下这篇文章是给这