jekyll及github建立简单网站(博客)
2014-08-18 (2014-08-18更新)
jekyll是什么
jekyll是一个免费的文档转换引擎,它可以把markdown,Textile等格式的文档根据模板及配置转换成静态网站。大名鼎鼎的开源网站github将jekyll作为每个开源项目的wiki引擎。每个人都可以以建立开源项目的名义通过github建立静态网站(github pages技术)。用户不需要编辑复杂的网页,只需要编写简单的markdown、textile文档即可。
jekyll怎么建立静态网站
新人建议到 https://github.com/jekyll/jekyll/wiki/Sites 下载别人的模板,直接上传到github上即可测试。具体步骤如下:
编写简单jekyll网站源代码
以下最简单的jekyll结构,每个文件用户都可以自己用记事本或其他文本编辑器建立。
jekyll_demo
|-- _config.yml
|-- _layouts
| |-- default.html
|-- _posts
| |-- 2012-08-25-hello-world.html
|-- index.html
_config.yml 为yaml格式配置文件,设置一些jekyll参数,例如markdown引擎,代码颜色等等。如果_config.yml文件是空文件,则jekyll会使用默认配置。
_layouts 为模板文件夹,模板将提供markdown,html等源文件转换为目标html的方法。Jekyll使用Liquid模板语言,{{ page.title }} 表示文章标题,{{ content }}表示文章内容,page.title等为jekyll内置变量,具体详见本站“jekyll变量和liquid语法”。
简单的网站可以仅放一个default.html作为默认模板。文件内容可以如下:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title> {{ page.title }}</title>
</head>
<body>
{{ content }}
</body>
</html>
_posts 文件夹存放网站文章。文件名必须为”年-月-日-文章标题.后缀名”的格式。如果网页代码采用html格式,后缀名为html;如果采用markdown格式,后缀名为md。)
在该文件中,可以填入以下内容:(注意,行首不能有空格)
---
layout: default
title: 你好,世界
---
<h2>{{ page.title }}</h2>
<p>我的第一篇文章</p>
<p>{{ page.date | date_to_string }}</p>
每篇文章的头部,必须有一个yaml文件头,用来设置一些元数据。它用三根短划线”—“,标记开始和结束,里面每一行设置一种元数据。”layout:default”,表示该文章的模板使用_layouts目录下的default.html文件;”title: 你好,世界”,表示该文章的标题是”你好,世界”,如果不设置这个值,默认使用嵌入文件名的标题,即”hello world”。
index.html 为默认网站首页,可以填入以下内容。
https://github.com/ruanyf/jekyll_demo/blob/gh-pages/index.html
它的Yaml文件头表示,首页使用default模板,标题为”我的Blog”。然后,首页使用了{\% for post in site.posts %},表示对所有帖子进行一个遍历。这里要注意的是,Liquid模板语言规定,输出内容使用两层大括号,单纯的命令使用一层大括号。
github上建立jekyll网站
有多种方法,本文建议采用如下方法(更多方法及说明可见本站“jekyll在github上部署”一文)。:
- 在github上注册,假设用户名为username
- 建立一个开源项目,名为username.github.io (username为用户名)
- 将jekyll_demo目录下文件全部上传到username.github.io项目的master分支
- 浏览器访问username.github.io即可
上传jekyll_demo到username.github.io的方法
首先安装github for win,本文介绍命令行方式
- clone username.github.io到本地目录
- 进入git shell
- cd xxx/username.github.io //进入clone的本地目录
- 把jekyll_demo下文件全部copy到username.github.io文件夹下
- git add -A
- git commit -m “my blog”
- git push -f
相关文档链接
- github pages
- Jekyll+多说,建立属于你的轻博客
- 搭建一个免费的,无限流量的Blog—-github Pages和Jekyll入门
- 另外,静态博客系统有很多很多,github有很多优点,也有一定缺点,各种静态博客可参考(免费静态博客系统)