使用github作为博客引擎2010-08-26 在介绍之前,先普及一下基础知识,大鸟们直接跳过。 什么是gitgit是一个分布式版本控制工具(DVCS),不需要服务端软件支持(即使在地铁里也可以正常commit),Linux内核开发用的版本控制工具就是它。 常用的SVN属于集中式版本控制工具(CVCS),需要在服务端开启SVN服务,然后客户端checkout,commit,update。 更详细的介绍请参考维基百科 什么是githubgithub 的标语是:"secure source code hosting and collaborative development"。一个基于git的类似google code的代码仓库,付费版的用户可以创建私有仓库,支持多人开发。很多项目都选择了github来保存代码,如"jQuery/reddit/RoR/CakePHP/Redis"等等。 github pages先说说pages功能,blog就是在pages的基础上搭建的。如果英文不错的话,可以直接浏览此页 创建一个用户的页面很简单,假设你的用户名为foo 1. 新建一个仓库(repository),名称填"foo.github.com",创建 过1分钟左右,浏览foo.github.com,就可以看到刚刚创建的index.html文件了。 除了创建用户页面,还可以针对每个项目单独创建项目的主页,这不是本文的重点,有兴趣的可以浏览此页 创建blog终于扯到正题上了(-,-),前面已经说过如何创建html页面,其实已经可以写博客了,创建一个index.html页面,在里面列出写过的文章,点击标题进去后又是一个手动创建的html页。就是太麻烦了,一点都不酷,说不定还会被MM鄙视。 github当然知道这个问题,所以他们创建了jekyll模板引擎 。简单来说,就是你可以用textile 或者markdown语法来写博客,提交到github后,会自动转换成html。 这里有很多网站/博客,都是基于github的jekyll模板开发的,如果觉得哪个不错,可以查看source。 先来看看这个仓库,里面有一些特殊的文件/文件夹: _config.yml存储了一些设置,大部分的设置都可以通过命令行指定,但放到配置文件里更方便些 _layouts_layouts文件夹存放的是模板文件,文章会被渲染到这些模板里,变量指代的是文章内容 _posts这里就是真正存放博客文章的地方了,文件命名要遵守这种格式:year-month-day-title.markup _site这个文件夹是程序生成的,如果本地没有安装jekyll的话,是不会有这个文件夹的,如果想要先本地预览一下,再提交到github,最好通过.gitignore把这个文件夹排除。 index.html这个文件也有一个yaml前缀 ,可以指定使用哪个模板,标题等等,所有根文件夹下的.html/.htm/.textile/.markdown都会被解析。 other files/folders上面没有列出的文件/文件夹都会被jekyll放到_site文件夹下,如css/image/script等等。 jekyll的安装参考安装页 ,如果使用时提示"liquid requires RubyGems version >= 1.3.7",可以在这里 下载对应的文件,安装即可。 安装完之后,为了避免路径调用问题,可以在apache/nginx里给对应的文件夹(/path/to/_site)绑定一个本地域名,如"lc.foo.github.com",在终端里输入"jekyll —pygments",然后就可以用该域名访问本地博客了,如果一切正常,再提交到github PS:如果你之前的博客是基于wordpress/movable type/typo 4+,可以参考这篇迁移指南 绑定域名这个就更简单了,新建一个CNAME文本文件,在里面输入域名,如"blog.leezhong.com",然后在域名提供商里,指定该域名的CNAME为"foo.github.com",搞定 添加评论功能使用disqus ,整个注册和使用流程还是挺清晰易懂的,这里就不多说了。 参考文章jekyll wiki 后记之前一直用的wordpress,但是太臃肿了,而且有安全隐患,还得有一个PHP空间,访问速度也得不到保证。平时github用得比较多,正好他们提供"博客"服务,正合我意,初步使用下来,没有什么问题,能在本地用vim写textile语法的博客是一件多么爽的事情啊,还可以本地预览最终效果,数据也不会轻易丢失。 最后再次感谢github提供了这么好的服务,如果对github的创业历程感兴趣,可以参考这篇文章 --EOF-- 若无特别说明,本站文章均为原创,转载请保留链接,谢谢 |
|