github上搭建博客的流程

这两天在研究github博客怎么弄,怎么在github上写博客,写的是大家通俗易懂的博客,而不是一大堆代码. 网上有很多这样的博客,我是通过参考网上的一些文章结合自己的实际从不会到会的一步步实现成功的,自己一个人 摸索期间,遇到很多问题,都解决了。下面给大家分享下我这两天研究成果和学习的一些心得,逐步建立github博客的步骤。 还有就是网上的一些其他文章里面存在一些问题。这里介绍的是window系统的

要用到的一些工具和知识:

网上其他博客遇到的一些问题:

  • 第一篇博客one
    http://www.ruanyifeng.com/blog/2012/08/blogging_with_jekyll.html这是我研究怎样写github博客看的第一篇文章。也照做了, 但是遇到了一些问题,在执行“$ git checkout –orphan gh-pages”这步的时候,遇到了“You are on a branch yet to be born”; 后面我就现在github.com上先建立了这个库jekyll_demo,就顺利通过了。解决了这个问题,跟着步骤,分支gh-pages都生成了,所有的页面 也上传上去了,但是访问的时候,就是报404错误。这篇博客最终还是没试验成
  • 第二篇博客two
    因为第一篇博客没成功,后来问了下同事,推荐了一个博客,确实不错,http://www.mceiba.com/develop/jekyll-introduction.html; 这篇博客下面的3分钟搭建Jekyll Blog,在git bash上对着敲那些命令,就可以了。但是这个过程中我遇到了一个问题,就是在执行 $ git push origin master这个命令的时候,会报permission denied就是没有权限的意思了。这个是ssh key的问题。可以参考官方的 https://help.github.com/articles/generating-ssh-keys进行解决,解决好后,重新用git bash工具进入要提交的目录,敲下这些命令 ,访问username.github.com就可以顺利看到我们熟悉的Hello World

github上写博客的步骤:

  • 在本地搭建jekyll环境
    可以参考下http://www.cnblogs.com/purediy/archive/2013/03/07/2948892.html
  • 在_post文件夹里面写自己的文章
    怎么写文章可以参考下,https://github.com/plusjade/jekyll-bootstrap.git这个clone下来后的代码 ,参考markdown标签
  • 本地测试jekyll
    在安装好的ruby控制台上面,进入到项目的目录下,执行这个命令jekyll serve。声明下:我看到网上这些命令$ jekyll –server,是不成功的, 我是直接输入jekyll serve这个命令后就可以执行了。这个命令输完之后,在浏览器上输入http://localhost:4000,就可以访问了。_site目录 是最终的静态网页.在访问的时候可能出现乱码问题,修改下_includes/themes/default.html的编码就可以了,改成gb2312。还有遇到一些中文标题,列表无效,一个标题里面要 含有英文才可以正常有列表的样式。经过多次测试,虽然在本地可以,但是在github上是会build failed的,而且会有很多问题。下面这种方式我是百试百灵的, 有三个注意点:
    (1)把博客文章保存成utf8无bom格式
    (2)解决jekyll中文文章的问题,改下convertible.rb这个文件的31行<pre>self.content=File.read(File.join(base,name),:encoding=>"utf-8")</pre>
    (3)解决jekyll模板中文问题,在tags/include.rb的23行<pre>source=File.read(@file,:encode=>"utf-8")</pre>
  • git提交
    最后使用git工具提交到github.com上
    从github.com下载文件的git命令如下:
    <pre>git clone https://github.com/zms91/---.git git clone git@github.com:username/username.github.com.git</pre> 从本地上传文件到github.com的git命令:

     git init
     git add .
     git commit -m 
     git push