开博志

View Count: 66

缘起

上大学前经常玩qq空间,写日志的习惯从小学起就养成了,话题从奶奶的红薯到武汉的大水再到“黑夜里也健步如飞的路”。虽然现在看来当时文笔幼稚得不行,不过回看这些记录,也是一种对时光的味道的品尝。

然而上大学后因故关闭了空间,在电脑上敲字也由写日志转变成写代码。记得去年同时上计算机系和软院的两门编程课,年末被微信点名2016想做的五件事时,我写下这样的感慨:

昨夜交了DS课的最后一个代码,老实讲感慨深深。这学期干的最多的一件事就是码代码了,课里课外码,日里夜里码,醒着梦着码(是真的梦到过)。尤其是码每月的lab,室友说我那一周的精神状态都是不正常的。但码多了,也开始体会到代码的趣味和神奇。站在2015年的年底看这学期来写的程序,基础的如树、图、哈希表,进阶的如24点、编译器、压缩器,心里是真的会沸腾的。想起以前妈妈说到当她看见自己画的图纸的机械最终被制造出来,心里觉得无比地骄傲和自豪。大概被心血浇灌出来的作品都是如此。
在我看来,程序员敲出的代码是有着文学王国的浩瀚与深邃的,是有灵性和人味的。就是那凝集着你执着与抱怨的几KB程序,竟能帮你计算24点的式子,帮你进行词语接龙,帮你压缩文件再解压⋯⋯它几乎是要为你跑出一个世界来。
上大学前从未想过干程序员这一行,但后来专业分流时进CS的意志却又异常强烈。这学期码代码时而身处焦虑和崩溃,也体会过思如泉涌手指如飞的畅快,偶尔的overdue使我心情低沉,但更多时候在跑出来的那一刻左右四顾,踌躇满志,恨不得一拍桌子站起来。心绪波动,峰回路转之后依旧爱得深沉,看来这一行和我之间,还是有缘混。

代码和文字,why not both?这样的想法在我内心蛰伏着,直到来交换前海哥开了博客,然后在网上发现了一些很有意思的程序员的博客,才发现,博客对于程序员而言,既能用来写写文字,又能用于展示项目、交流思想,总之是一个能提升自己的平台。

那么,开干!

经过

本以为开github page的博客就像开新浪、网易博客一样简单,注册后再选个模板就万事大吉了,但结果,我被现实无情地打脸了。

回想起来,流程大致是:

  • 注册GitHub账户,拿到博客的域名,即ID.github.io
  • 安装Ruby,配置Jekyll环境
  • fork一个模板并修改

前两步很轻松。第三步,其实模板选的好,一小时应该就能配好,无非是改改_config.yml的基本信息,换换image文件夹下的图片。然而,本人由于相中的模板坑留了特别多,所以改下来费了不少力气和时间。

在搜寻模板时看到的不错的汇总贴:Jekyll 博客主题精选

我相中的模板虽然外观上很有质感,然而功能上它有这么几个问题:

  • 沿用了GitHub Pages已经不支持或即将不支持的rdiscount、pygments等工具,以致于生成博客页面后GitHub给你发一大堆警告邮件

  • 没有加入评论系统,诸如Disqus和Disqus的山寨版多说

  • 没有设置目录元素

  • 没有进行响应式设计,导致在手机和平板上看得非常费劲

挨个谈谈改进的过程:

  • 将_config.yml的配置中涉及到rdiscount和pygments的部分改成:
      markdown:         kramdown
      kramdown:
          smart_quotes:   ["apos", "apos", "quot", "quot"]
          input:          GFM
      highlighter:      rouge
    
  • 注册多说,把多说公共js代码贴在default.html中,再把评论框代码贴在post.html对应的位置,还可以进一步设计出最近访客的侧边栏。

  • 下载category.md ,放到博客根目录下,并在index.html中添加category.html的超链接。可以新建一个layout域category.html方便查看category页面

  • 参考这篇博客 ,先在default.html中添加相关meta,再改css文件,增添了屏幕宽度较小时的格式设置,如不显示导航栏、侧边栏和底边栏等等。

结语

第一次做网页,由于有很多想法所以折腾了不少,但总的来说建立一个独立博客还是很有成就感的,至少以后不用担心被和谐。重新开始写博的旅程,一方面是希望今后的生活能有些许积淀;最主要是想逼着自己去成长,去“折腾”一些东西(不然写什么呢)。

2017.01更新

  • 之前开博时觉得统计阅读量会是一件很麻烦的事情,直到今天看到一篇博客,发现并没有想象中那么麻烦,两个脚本就能解决的事情,而且是免费服务。详见:访问量统计工具 Hit Kounter v0.2。虽然这样做后在本地预览很成功,但上传到GitHub后台之后,谷歌却给出了脚本警告,因而还是失效。最后找到GitHub里的一篇帖子解决了这个问题。原来把脚本下载下来并传到后台就能顺利解决,详见:js modify。最后,如果之前_config.yml文件中的url地址是http,记得改成https。由于浏览器的安全策略,在访问 https的站点时无法引入http协议的内容,所以会加载不了脚本。

  • 最近还做的一点修改是评论区的美化,并加入了一些动态效果,这个在多说开发者后台贴一段自定义的css就能实现。

2017.10更新

最近在北京实习,断断续续改了很多天的主页,总结如下:

  1. 最根本的改变是换了个模板!由于最近要忙申请,所以打算把个人博客升级成个人主页,于是以前的模板已经不再适用,尽管我觉得它颜值很高。这次建站的模板来源于AcademicPages,是学术界比较流行的一款。

  2. 对新模板的更改主要是外观上,我比较抗拒把别人的模板一成不变地拿来使用,所以在外观上做足了功夫。对比这个站点和源模板你就可以发现很多改动,比如顶部栏和侧边栏。其他很多细节可能不太明显,但也费了不少心思,例如页面跳转的按钮,知乎图标的引入。这里要吐槽一下font awesome这个package居然没有知乎的icon,而且很多人跑去在它的issue里request了,结果已经三年了竟然还没有解决。

  3. 此外,这个模板没有设计paginator,所以它只能把所有博客在一个页面陈列而不能分页展示。我依照jekyll的文档调整了一下。心得是因为分页展示区不在index文件里而是blogs,所以要在config文件里设置好路径:
    paginate_path: "/blog/page:num/"
    

    而jekyll-paginate这个插件又只会去找index文件,所以要把blogs.html这个页面置换成blogs/index.html。

  4. 还有评论系统也彻底换了。没办法,多说在今年六月停止了服务,之前的几十条评论也挂掉了。早晓得一开始就用Disqus的……

  5. 最后说一下调前端的经验吧。虽然我之前没有上过css和javascript的相关课程,最开始连margin和padding的概念都分不清楚,但是在上学期设计了两个工科创网站后,我发现用Chrome的inspect栏能进行即时的调整和显示,这会让前端的开发如虎添翼。基本上你就在Chrome里把每个元素调整到你满意为止,然后复制到css文件里就好了。

Leave a Comment