如何在github建免费,无限流量的个人blog

来源:互联网 发布:金融seo 编辑:程序博客网 时间:2024/04/28 10:17

github pages

github就设计了Pages功能,允许用户自定义项目首页,用来替代默认的源码列表。所以,github Pages可以被认为是用户编写的、托管在github上的静态网页。

github提供模板,允许站内生成网页,但也允许用户自己编写网页,然后上传。有意思的是,这种上传并不是单纯的上传,而是会经过Jekyll程序的再处理。

(但是,真心很难用啊,除了generate pages,自定义的blog地址,要十分钟才能生效,不建议读者继续弄github pages,天下没有免费的午餐)好好用csdn blog吧.

国内访问速度还是挺快的.)

Jekyll

Jekyll(发音/'dʒiːk əl/,"杰克尔")是一个静态站点生成器,它会根据网页源码生成静态文件。它提供了模板、变量、插件等功能,所以实际上可以用来编写整个网站

整个思路到这里就很明显了。你先在本地编写符合Jekyll规范的网站源码,然后上传到github,由github生成并托管整个网站。


优点

* 免费,无限流量。* 享受git的版本管理功能,不用担心文章遗失。 * 你只要用自己喜欢的编辑器写文章就可以了,其他事情一概不用操心,都由github处理。

缺点

* 有一定技术门槛,你必须要懂一点git和网页开发。* 它生成的是静态网页,添加动态功能必须使用外部服务,比如评论功能就只能用disqus。* 它不适合大型网站,因为没有用到数据库,每运行一次都必须遍历全部的文本文件,网站越大,生成时间越长。* 国内连github速度略慢* github修改一个页面到生效要十分钟 

Jekyll基本结构

建议直接使用https://github.com/mojombo/tpw 这个是官方的示例库,改成自已想要的吧,比较方便

rm .gitgit init git checkout --orphan gh-pagesgit add .git commit -m "first post"git remote add origin https://github.com/***git push origin gh-pages


|-- _config.yml|-- _includes|-- _layouts| |-- default.html| `-- post.html|-- _posts| |-- 2007-10-29-why-every-programmer-should-play-nethack.textile| `-- 2009-04-26-barcamp-boston-4-roundup.textile|-- _site    `-- index.html

_config.yml配置文件,用来定义你想要的效果,设置之后就不用关心了。_includes可以用来存放一些小的可复用的模块,方便通过{ % include file.ext %}(去掉前两个{中或者{与%中的空格,下同)灵活的调用。这条命令会调用_includes/file.ext文件。_layouts这是模板文件存放的位置。模板需要通过YAML front matter来定义,后面会讲到,{ { content }}标记用来将数据插入到这些模板中来。_posts你的动态内容,一般来说就是你的博客正文存放的文件夹。他的命名有严格的规定,必须是2012-02-22-artical-title.MARKUP这样的形式,MARKUP是你所使用标记语言的文件后缀名,根据_config.yml中设定的链接规则,可以根据你的文件名灵活调整,文章的日期和标记语言后缀与文章的标题的独立的。_site这个是Jekyll生成的最终的文档,不用去关心。最好把他放在你的.gitignore文件中忽略它。其他文件夹你可以创建任何的文件夹,在根目录下面也可以创建任何文件,假设你创建了project文件夹,下面有一个github-pages.md的文件,那么你就可以通过yoursite.com/project/github-pages访问的到,如果你是使用一级域名的话。文件后缀可以是.html或者markdown或者textile


创建好username.github.io项目之后,提交一个index.html文件,然后push到GitHub的master分支(也就是普通意义上的主干)。第一次页面生效需要一些时间,大概10分钟左右。


原创粉丝点击