一直在寻求能够快速发表文章的工具,于是不停地尝试。这星期折腾了下 GitHub Pages,并尝试在上面建立起我的博客副本,感觉挺不错的,可以通过 vim 编辑文章,然后快速地发布出来。
Github Pages 除了支持常规的 HTML 内容,还支持 Jekyll ——简单的静态网站发生器。Jekyll 使得我们很容易地创建站点范围内通用的模板,而无需复制。当我们做好了页面页脚之后,每次就只需提交文章就好了。
之前已经在自己搭好的 GitHub Pages 上简单记录了这个过程,趁今天天气不错,阳光灿烂,心情大好,就把这个过程发表出来吧。
在阅读这篇文章之前,你也许需要
- 拥有一个 GitHub 的帐号
- 懂得 GitHub 命令
- 在自己终端建立了 GitHub 连接
建立 GitHub Pages 的过程导读
其实很简单。首先需要建立起自己的项目,然后到项目控制中心建立 Pages,最后进行一些 Jekyll 模板的设置和美化。尔后,假如你的 GitHub 用户名是 pizn ,项目名是 test,你就访问这个路径就可以了 http://pizn.github.com/test
建立自己的项目
登录 GitHub,到 GitHub 面板,右下方可以创建一个新的 Repository,如图:
填写完名字和描述之后,点击 Create Repository 之后,就会刷新到一个页面,该页面会教你如何在自己本地建立相应的库,并建立连接。正常情况下你可以看到下面的代码:
mkdir test //创建 test 文件夹 cd test //切换到 test 文件夹 git init //初始化 //接着会在这里输出 Initialized empty Git repository in yourUrl/test/.git/ touch README //新文件 git add README //添加 git commit -m 'first commit' /commit 信息 //接着会在这里输出 [master (root-commit) 4f8d7e8] first commit // 0 files changed, 0 insertions(+), 0 deletions(-) // create mode 100644 README git remote add origin git@github.com:pizn/test.git git push -u origin master //上传到 Master 目录 //接着会在这里输出 00% (3/3), 203 bytes, done. // Total 3 (delta 0), reused 0 (delta 0) // To git@github.com:yourUserName/test.git // * [new branch] master -> master //Branch master set up to track remote branch master from origin.
然后回到 GitHub 的 test 目录下,你就可以发现很神奇的时期发生了,如下图:
创建 GitHub Pages
在相应的项目,例如 test ,通过 Admin 进入项目的控制面板。
然后建立点击 GitHub 建立自己的页面。
点击弹出窗口的链接,自动创建一个 Pages,当然,这还需要填写一个表单,关于这个页面的。你也可以直接点击继续跳过。当页面建立好之后,你就可以通过这样的一个路径访问到了:http://yourUserName.github.com/test
建立本地与页面分支的连接
在终端下切换到刚刚的 test 文件夹
git fetch origin //输出内容:remote: Counting objects: 3, done. //remote: Compressing objects: 100% (2/2), done. //remote: Total 3 (delta 0), reused 0 (delta 0) //Unpacking objects: 100% (3/3), done. //From github.com:pizn/test //* [new branch] gh-pages -> origin/gh-pages git checkout -b gh-pages origin/gh-pages//切换分支 //输出内容Branch gh-pages set up to track remote branch gh-pages from origin. //Switched to a new branch 'gh-pages'
使用 Jekyll 配置 Pages 模板
一般的 pages 所需要具备的目录结构:
. |-- _config.yml |-- _layouts | |-- default.html | `-- post.html |-- _posts | |-- 2011-09-23-markdown.md | `-- 2011-09-23-helloworld.md |-- _site `-- index.html
_layouts 目录是用来存放模板的,在这里你可以定义页面中不同的头部和底部。
_posts 目录是用来存放你的文章的,一般以日期的形式书写标题。
index.html是你的页面首页。
_config.yml 是配置文件。
明确了这个文件目录之后,应该如何动手来写自己的页面呢?简单的方法就是查看别人是怎么写的,这里有很多。具体的就不说了,当你在本地建立起这些目录和文件之后,你还需要将他们上传到你的 gh-pages 分支下。这样的话访问你的主页才能看到。
一般使用到的命令有
git add . git commit -m 'commit messages' git push origin gh-pages
因为你可能要修改很多次,需要重复提交才能看到修改过的地方。这频繁的修改并不利于你的效率,所以最好能在本地搭建好 Jekyll 环境,直接运行 jekyll –server 你就可以通过 localhost:4000 进行本地访问。如何搭建本地 jekyll 环境,请查看这里。
使用一些函数来获取你的数据
站点的:
site.time//时间 site.posts//文章 site.related_posts site.categories.CATEGORY //分类 site.tages.TAG//标签
页面:
page.url //页面路径 page.content//页面内容
文章:
post.title //标题 post.url//路径 post.date //数据 post.id post.categories//分类 post.tags post.content
分页:
paginator.per_page paginator.posts paginator.total_posts paginator.total_pages paginator.page paginator.previous_page paginator.next_page
关于文章页面
Github Pages 上的文章支持 MarkDown 语法,只需要将文件保存为 .md 的格式,就可以了。
后续补充
折腾 GitHub Pages 不是很久,相信在以后会不断地学到新的知识,到时候再更新下。如果你有什么不懂的地方,欢迎一起研究和探讨。我在 GitHub 上的博客副本—— pizn.github.com,建立这样的一个博客,是为了在工作中将总结的东西快速发布出来,当作是自己记录的一个地方吧。只要一有时间,我会整理文章放到这边来的。:D