当前位置:Home > Git > “.使用 GitHub Pages 建立博客、

“.使用 GitHub Pages 建立博客、1,445 views

pages

      一直在寻求能够快速发表文章的工具,于是不停地尝试。这星期折腾了下 GitHub Pages,并尝试在上面建立起我的博客副本,感觉挺不错的,可以通过 vim 编辑文章,然后快速地发布出来。

      Github Pages 除了支持常规的 HTML 内容,还支持 Jekyll——简单的静态网站发生器。Jekyll 使得我们很容易地创建站点范围内通用的模板,而无需复制。当我们做好了页面页脚之后,每次就只需提交文章就好了。

      之前已经在自己搭好的 GitHub Pages 上简单记录了这个过程,趁今天天气不错,阳光灿烂,心情大好,就把这个过程发表出来吧。

在阅读这篇文章之前,你也许需要:

      1,拥有一个 GitHub 的帐号;

      2,懂得 GitHub 命令;

      3,在自己终端建立了 GitHub 连接。

建立 GitHub Pages 的过程导读

      其实很简单。首先需要建立起自己的项目,然后到项目控制中心建立 Pages,最后进行一些 Jekyll 模板的设置和美化。尔后,假如你的 GitHub 用户名是 pizn ,项目名是 test,你就访问这个路径就可以了 http://pizn.github.com/test

建立自己的项目

      登录 GitHub,到 GitHub 面板,右下方可以创建一个新的 Repository,如图:

      create-new-repository

      填写完名字和描述之后,点击 Create Repository  之后,就会刷新到一个页面,该页面会教你如何在自己本地建立相应的库,并建立连接。正常情况下你可以看到下面的代码:

  1. mkdir test //创建 test 文件夹
  2. cd test //切换到 test 文件夹
  3. git init //初始化
  4. //接着会在这里输出 Initialized empty Git repository in yourUrl/test/.git/
  5. touch README //新文件
  6. git add README //添加
  7. git commit -m 'first commit' /commit 信息
  8. //接着会在这里输出 [master (root-commit) 4f8d7e8] first commit
  9. // 0 files changed, 0 insertions(+), 0 deletions(-)
  10. // create mode 100644 README
  11. git remote add origin git@github.com:pizn/test.git
  12. git push -u origin master //上传到 Master 目录
  13. //接着会在这里输出 00% (3/3), 203 bytes, done.
  14. // Total 3 (delta 0), reused 0 (delta 0)
  15. // To git@github.com:yourUserName/test.git
  16. // * [new branch]      master -> master
  17. //Branch master set up to track remote branch master from origin.

      然后回到 GitHub 的 test 目录下,你就可以发现很神奇的时期发生了,如下图:

      connet-result

创建 GitHub Pages

      在相应的项目,例如 test ,通过 Admin 进入项目的控制面板。

      click-admin

      然后建立点击 GitHub 建立自己的页面。

      create-pages

      点击弹出窗口的链接,自动创建一个 Pages,当然,这还需要填写一个表单,关于这个页面的。你也可以直接点击继续跳过。当页面建立好之后,你就可以通过这样的一个路径访问到了:http://yourUserName.github.com/test

建立本地与页面分支的连接

      在终端下切换到刚刚的 test 文件夹

  1. git fetch origin
  2. //输出内容:remote: Counting objects: 3, done.
  3. //remote: Compressing objects: 100% (2/2), done.
  4. //remote: Total 3 (delta 0), reused 0 (delta 0)
  5. //Unpacking objects: 100% (3/3), done.
  6. //From github.com:pizn/test
  7. //* [new branch]      gh-pages   -> origin/gh-pages
  8. git checkout -b gh-pages origin/gh-pages//切换分支
  9. //输出内容Branch gh-pages set up to track remote branch gh-pages from origin.
  10. //Switched to a new branch 'gh-pages'

使用 Jekyll 配置 Pages 模板
      一般的 pages 所需要具备的目录结构:

  1. .
  2. |-- _config.yml
  3. |-- _layouts
  4. | |-- default.html
  5. | `-- post.html
  6. |-- _posts
  7. | |-- 2011-09-23-markdown.md
  8. | `-- 2011-09-23-helloworld.md
  9. |-- _site
  10. `-- index.html

      _layouts 目录是用来存放模板的,在这里你可以定义页面中不同的头部和底部。

      _posts 目录是用来存放你的文章的,一般以日期的形式书写标题。

      index.html是你的页面首页。

      _config.yml 是配置文件。

      明确了这个文件目录之后,应该如何动手来写自己的页面呢?简单的方法就是查看别人是怎么写的,这里有很多。具体的就不说了,当你在本地建立起这些目录和文件之后,你还需要将他们上传到你的 gh-pages 分支下。这样的话访问你的主页才能看到。

一般使用到的命令有:

  1. git add .
  2. git commit -m 'commit messages'
  3. git push origin gh-pages

      因为你可能要修改很多次,需要重复提交才能看到修改过的地方。这频繁的修改并不利于你的效率,所以最好能在本地搭建好 Jekyll 环境,直接运行 jekyll –server 你就可以通过 localhost:4000 进行本地访问。如何搭建本地 jekyll 环境,请查看这里

使用一些函数来获取你的数据

      站点的

  1. site.time//时间
  2. site.posts//文章
  3. site.related_posts
  4. site.categories.CATEGORY //分类
  5. site.tages.TAG//标签

      页面

  1. page.url //页面路径
  2. page.content//页面内容

      文章

  1. post.title //标题
  2. post.url//路径
  3. post.date //数据
  4. post.id
  5. post.categories//分类
  6. post.tags
  7. post.content

      分页

  1. paginator.per_page
  2. paginator.posts
  3. paginator.total_posts
  4. paginator.total_pages
  5. paginator.page
  6. paginator.previous_page
  7. paginator.next_page

关于文章页面
      Github Pages 上的文章支持 MarkDown 语法,只需要将文件保存为 .md 的格式,就可以了。

后续补充

      折腾 GitHub Pages 不是很久,相信在以后会不断地学到新的知识,到时候再更新下。如果你有什么不懂的地方,欢迎一起研究和探讨。我在 GitHub 上的博客副本——PIZn.Me,建立这样的一个博客,是为了在工作中将总结的东西快速发布出来,当作是自己记录的一个地方吧。只要一有时间,我会整理文章放到这边来的。:D

声明: 本文采用署名-非商业性使用-相同方式共享协议进行授权. 转载请注明转自:PIZn

10 ResponsesLeave a comment

  1. 这个太专业了,我们不是计算机系的只会发发纯文字博客。。。

  2. @ Aliaosha
    悲剧,写的很深奥了。

  3. 不错的教程,收藏了

  4. 不错不错,我也重新构造下我的github blog

  5. 太深奥了,看不懂啊…

  6. 不折腾了,用着WP就行了。

  7. 感谢pizn分享,又学到一招了。
    最近我也在研究github,但一直都是照着教程来写,也不是很清楚原理和命令的意思。
    你有没有一些资源可以推荐的呢?

  8. 申请了github账号,想用来管理代码,方便服务器上更新,结果发现免费版好像没有提供private repo。你的github更新博客的话是不是也是public的呢?

  9. @ 立方
    都是public的。

  10. @ 立方

    private repo就要收费了

Leave a Reply