在Github上写博客
2012-02-08 20:02 lvkun 阅读(12320) 评论(6) 编辑 收藏 举报起因
工作后,我一直在博客园写博客,不过这几年一共只写了几篇。分析其中的原因:
-
不够专注
工作和生活上的事情有很多,很难一次性写完一篇长的博客; 常常会没有思路,或者突如其来的一些事情打断了写作。
-
更喜欢用本地工具
使用本地编辑器习惯了,在网页里面写总会感到别扭。
-
喜欢纯文本格式
喜欢reStructuredText,以及Markdown;不愿意在调整格式上,花太多时间。
-
其实更喜欢写代码
作为程序员,写代码的时候很快乐,而写文档的时候很痛苦。
转向Github
虽然很早就听说了Git,但是2011年才开始学习和使用Git, 主要还是因为公司要将版本管理工具从Synergy转向Git。 在学习过程中接触到了Github。我眼中的大牛刘未鹏的文章《怎样花两年时间去面试一个人》, 让我认识到Github是程序员展示自己的最佳网站。 而蒋鑫老师的文章用 Git 维护博客?酷!启发了我使用Git Page服务来展示自己的博客。
使用Git Page
在Github上创建个人主页非常方便,只要创建一个名为(user-id).github.com的版本库, 并将自己编写的网页文件推送到master分支即可。
用 Git 维护博客?酷!中有成熟的解决方案Jekyll,不过本人厌恶生成过程, 更懒得装Ruby环境(本人是坚定的Python拥护者),就自己写了个简单的静态页面, 通过javascript代码动态加载markdown格式的博客文章,在前台转换成html展示。 这样只需要文本编辑器和Git即可方便的进行维护(在添加新博文时,需要手动维护index.json)。
对网页样式一直很苦恼,第一不熟悉,第二做不到美观,借用了蒋鑫老师的部分样式,希望不要介意 :)
优点
- 使用Markdown格式,感觉有点像写代码,而且不容易因为格式调整打断思路。
- 可以写一部分提交一次,git保存了完整的提交历史,让自己的思路更有延续性。
- 使用写字板和git就可以维护此博客。
部分细节
-
导航
本博客的文章使用Markdown格式保存在post目录下,路径(path)的命名格式为(date)-(title).md。 使用jQuery hashChange插件获取hashChange事件, 并且通过location.hash来判断应该显示某篇文章还是博客目录。
-
显示目录: (页面地址)
-
使用Tag过滤(显示同时有Tag1,Tag2,...标签的文章): (页面地址)+(#!)+(@Tag1)+(@Tag2)+...
-
显示某篇文章: (页面地址)+(#!)+(path)
-
-
如果当前需要显示某篇文章,通过location.hash获取文章路径。 请求后,使用showdown.js进行转换,并插入到页面中。
-
评论
采用Disqus评论系统。参照Universal Code,在页面中添加相应代码即可。 另外就是切换文章时,需要参照Using Disqus on AJAX sites,重新加载Disqus thread。
-
代码高亮
使用highlight.js,文章加载完成后,高亮所有代码模块:
$('pre code').each(function(i, e) {hljs.highlightBlock(e, ' ')});
题外话
本人在工作中一直使用C/C++,网页开发可以说刚刚入门。如果博客上有什么Bug,请及时指出,万分感谢。 对博客样式有什么改进意见的,更加欢迎。 另外如果大家对以下话题感兴趣,尽可以找我讨论:
- Git
- C/C++
- Python
- Javascript