jekyll的一个最好的特点就是关注blog本身。简单的说就是写博客的过程被铸造进了jekyll的功能中。你只需要简单的管理你的电脑中的一个文件夹下的文本文件就可以写文章并方便的在线上发布。
文章文件夹
所有的文章都在_posts文件夹中。这些文件可以用Markdown编写,也可以用Textile格式编写。只要文件中由YAML头信息,它们就会从源格式转化成html页面,从而成为你的静态网站的一部分。
创建文章的文件
发表一篇新文章,你所需要做的就是在_posts文件夹中创建一个新的文件。文件名的命名非常重要。jekyll要求一篇文章的文件名遵守下面的格式
年-月-日-标题.MARKUP
在这里,年是四位数字,月和日都是2位数字。MARKUP扩展名代表了这篇文章是用什么格式写的。
2011-12-31-how-to-write-a-blog.md
内容格式
所有博客文章顶部必须有一段YAML头信息(YAML front-matter)。在它下面,就可以选择你喜欢的格式来写文章。
引用图片和其他资源
很多时候,你需要在文章中引用图片、下载或其它数字资源。尽管Markdown和Textile在链接这些资源时的语法并不一样,但你只需要关心在站点的哪些地方保存这些文件。
由于jekyll的灵活性,很多方式可以解决这个问题。一个常用的做法是在工程的根目录下创建一个文件夹,命名为assets或者downloads,将图片文件,下载文件或者其他的字眼放到这个文件夹下。然后在任何一篇文章中,它们都可以用站点的根目录来进行应用。这和你站点的域名、二级域名和目录的设置相关,下面有一些例子(markdown格式)来颜色这样利用site.url
变量来解决这个问题。
![有帮助的截图]({{ site.url }}/assets/screenshot.jpg)
连接一个读者可下载的PDF文件:
[下载pdf]({{ site.url }}/assets/mydoc.pdf)
文章目录
所有文章都在一个目录中是没有问题的,但是如果你不将文章列表列出来,博客文章是不会被人看到。在另一个页面上创建文章的列表(或者使用模板)是很简单的。下面是如何创建文章列表的简单例子:
<ul>
{% for post in site.posts %}
<li>
<a href="{{ post.url }}">{{ post.title }}</a>
</li>
{% endfor %}
</ul>
当然,你可以完全控制怎么(在哪里)显示你的文章,如何管理你的站点。如果你想了解更多你需要读一下jekyll的模板是这样工作的这篇文章。
文章摘要
jekyll会自动取没篇文章从开头到第一次出现excerpt_separator的地方作为文章的摘要,并将此内容保存到变量post.excerpt中。拿上面生成文章列表的例子,你可能想在每个标题下给出文章内容的提示,你可以在每篇文章的第一段加上如下的代码:
<ul>
{% for post in site.posts %}
<li>
<a href="{{ post.url }}">{{ post.title }}</a>
{{ post.excerpt }}
</li>
{% endfor %}
</ul>
高亮代码片段
jekyll自带语法高亮功能,它是由Pygments来实现的。在文章中插入一段高亮代码非常容易,只需要使用下面的liquid标记:
{% highlight ruby %}
def show
...
{% endhighlight %}
#显示行数
{% highlight ruby linenos %}
def show
...
{% endhighlight %}
有了这些基础知识就可以开始你的第一篇文章了。