故事是这样的,我开始想要在vim写博客,找到Markdown是写技术博客的很好用的一种标记语言, 同时发现Github Pages可以托管用Markdown写的博客站点,然后就尝试在Github写博客。
Markdown
Markdown 是一种轻量级标记语言,创始人为John Gruber和Aaron Swartz。它允许人们“使用易读易写的纯文本格式编写文档, 然后转换成有效的XHTML(或者HTML)文档”。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。 Github的README.md文件就是用Markdown格式写的。在这里了解Markdown语法的语法把,学习10分钟就可以用它学博客了,是不是很简单。
Github Pages
然后很自然的了解到了Github Pages。Github就设计了Pages功能,允许用户自定义用户首页,和项目首页。也就是说, 用户可以把静态页面托管到Github。当然,Github Pages的功能不止是托管静态页面,否则用html写博客,同时关注样式呢很容还是很难受的。 Github Pages同时提供了模板功能,可以用解析引擎是Jekyll。
一句话教程:
在gh-pages分支add一个index.html文件,push到github,访问
http://username.github.com/projectname/
就可以看见你发布的网页了。
很重要一点,Github Pages支持绑定域名。
Jekyll
Jekyll是一个静态站点生成器,它会根据网页源码生成静态文件。它提供了模板、变量、插件等功能,不需要数据库,文章可以使用Markdown、HTML、Textile格式的文件保存。 Github可以解析符合Jekyll规范的网站源码。
使用上面说的仨,你就可以建立很酷的博客了,这个博客的特点是:
- 完善的版本管理,你可以找回你每一次新增、修改的信息。
- 在Github你可以有免费、无限的流量。
- 使用你喜欢的编辑器写博客,使用简洁的Markdown,不必在忍受在线编辑器。
- 绑定自己的域名。
- 当然,这样做很酷。
Octopress
使用上面的方案你就可以DIY你个人博客的每一部分。 从零开始不是多数人的选择,你可以参考开源的Jekyll模板。 当然,你还可以选择Octopress。使用Octopress的方案也用到了上面的仨,不一样的地方在于Jekyll生成静态页面的过程发生在本地。使用它提供的发布命令rake deploy
即可发布到github。 这样做带来的好处有:
- 有一系列便捷命令负责生成、发布、新建文章、新建页面等等。
- 有本地预览功能。
- 有一套还算美观的模版,这个模板修改起来还是很方便的。
- 网站源码和静态页面分离。可以在git以不同分支管理。
社会化评论
大家或许想到了,静态页面怎么能有评论功能?一个答案就是社会化评论系统。社会话评论系统的好处是方便管理,降低网站复杂度,分享功能有助网站推广。坏处也很明显,数据不可控。社会化评论是一个趋势了。 这是我在Octopress使用社会化评论的过程。
域名
访问部署在github的页面使用的网站是:http://username.github.com/projectname/
。你也可以绑定自己的域名。 在Github Pages使用域名很方便了。方法是:
- 让网站根目录,也就是gh-pages分支的根目录,新建一个叫
CNAME
的文件,里面写上自己的域名。 - 如果绑定顶级域名,新建A记录指向
204.232.175.78
(这是Github的文档给出的,也许已经改变) - 如果绑定二级域名,修改CNAME指向
username.github.com
即可。
好嘞,博客搭建完成。请在这里看下效果:http://hswg.info
如果你有兴趣,也可以参考阮一峰的博客: 搭建一个免费的,无限流量的Blog—-github Pages和Jekyll入门
还有,这篇博客是用Markdown写的。