撰写博客
Jeklly 的一个最好的特点是『关注 blog 本身』。这是指什么呢?简单的说就是写博客的过程被铸造进了 Jekyll 的功能中。你只需简单的管理你电脑中的一个文件夹下的文本文件就可以写文章并方便的在线上发布。与繁琐的配置和维护数据库和基于网站的内容管理系统 (CMS) 相比,这是一个非常受欢迎的改变。
文章文件夹
在目录结构介绍中说明过,所有的文章都在_posts
文件夹中。这些文件可以用 Markdown 编写,也可以用 Textile 格式编写。只要文件中有YAML 头信息,它们就会从源格式转化成 HTML 页面,从而成为你的静态网站的一部分。
创建文章的文件
发表一篇新文章,你所需要做的就是在_posts
文件夹中创建一个新的文件。文件名的命名非常重要。Jekyll 要求一篇文章的文件名遵循下面的格式:
年-月-日-标题.MARKUP
在这里,年
是4位数字,月
和日
都是2位数字。MARKUP
扩展名代表了这篇文章是用什么格式写的。下面是一些合法的文件名的例子:
2011-12-31-new-years-eve-is-awesome.md
2012-09-12-how-to-write-a-blog.textile
内容格式
所有博客文章顶部必须有一段YAML头信息(YAML front- matter)。在它下面,就可以选择你喜欢的格式来写文章。Jekyll支持2种流行的标记语言格式:Markdown 和 Textile。这些格式都有自己的方式来标记文章中不同类型的内容,所以你首先需要熟悉这些格式并选择一种最符合你需求的。
引用图片和其它资源
很多时候,你需要在文章中引用图片、下载或其它数字资源。尽管 Markdown 和 Textile 在链接这些资源时的语法并不一样,但你只需要关心在站点的哪些地方保存这些文件。
由于 Jekyll 的灵活性,有很多方式可以解决这个问题。一种常用做法是在工程的根目录下创建一个文件夹,命名为assets
或者 downloads
,将图片文件,下载文件或者其它的资源放到这个文件夹下。然后在任何一篇文章中,它们都可以用站点的根目录来进行引用。这和你站点的域名/二级域名和目录的设置相关,下面有一些例子(Markdown 格式)来演示怎样利用site.url
变量来解决这个问题。
在文章中引用一个图片
… 从下面的截图可以看到:
![有帮助的截图]({{ site.url }}/assets/screenshot.jpg)
链接一个读者可下载的 PDF 文件:
… 你可以直接 [下载 PDF]({{ site.url }}/assets/mydoc.pdf).
提示™:链接只使用站点的根 URL
如果你确信你的站点只在域名的根 URL 下做展示,你可以不使用 {{ site.url }}
变量。在这种情况下, 直接使用/path/file.jpg
即可。
文章的目录
所有文章都在一个目录中是没有问题的,但是如果你不将文章列表列出来博客文章是不会被人看到。在另一个页面上创建文章的列表(或者使用模版)是很简单的。感谢 Liquid 模版语言和它的标记,下面是如何创建文章列表的简单例子:
<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>
<p>{{ post.excerpt }}</p>
</li>
{% endfor %}
</ul>
如果你不喜欢自动生成摘要,你可以在文章的YAML中增加excerpt
来覆盖它。完全禁止掉可以将excerpt_separator
设置成""
.
高亮代码片段
Jekyll 自带语法高亮功能,它是由 Pygments 来实现的。在文章中插入一段高亮代码非常容易,只需使用下面的 Liquid 标记:
{% highlight ruby %}
def show
@widget = Widget(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @widget }
end
end
{% endhighlight %}
将输出下面的效果:
def show
@widget = Widget(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @widget }
end
end
提示™:显示行数
你可以在代码片段中增加关键字linenos
来显示行数。 这样完整的高亮开始标记将会是:{% highlight ruby linenos %}
。
有了这些基础知识就可以开始你的第一篇文章了。当你准备更深入的了解还可以做什么的时候,你可能会对如何定制文章的永久链接 或在文章和站点的其它位置中使用定制变量感兴趣。
使用草稿
草稿是没有日期的文章。它们是你还在创作中而暂时不想发表的文章。想要开始使用草稿,你需要在网站根目录下创建一个名为 _drafts
的文件夹(如在目录结构章节里描述的),并新建你的第一份草稿:
|-- _drafts/
| |-- a-draft-post.md
为了预览你拥有草稿的网站,运行 jekyll serve
或者带有 --drafts
配置选项的 jekyll build
。此两种方法皆会将 Time.now
的值赋予草稿文章,作为其发布日期,所以你将看到草稿文章作为最新文章被生成。
相关推荐
jekyll 简洁博客主题
Jekyll 博客管理工具
主题特性 主题基于 jekyll 3.8.1 开发 响应式布局 文章标签索引 文章时间线索引 博主个人信息展示 支持9种代码高亮主题色
Jekyll-Base, Jekyll的基本文件和文件夹结构 这是一个将让你开始的基础,由 Daniel McGraw ( @danielmcgraw ) 创建。用法查看我的文章系列如何使用Jekyll创建你自己的Jekyll博客。结构. |--. gitignore
jekyllthemes, Jekyll博客的最佳外观主题目录 主题Jekyll博客的最佳外观主题目录提交主题有一个你想分享的主题?fork 上的站点在 _posts 目录中创建一个新帖子并填写相关的YAML字段制作 250 x200缩略图并将它的放到...
infinite-jekyll, 基于Jekyll的博客无限滚动 无限 Jekyll基于Jekyll的博客无限滚动。 参见 tobiasahlin.com/blog/ 中的实际操作。正在启动将 js 文件夹和 all-posts.json 添加到你的osm站点的root 。 如果你还没有...
win32-ia32版本,使用jekyll搭建博客必不可少的本地化markdown语法编辑器
jekyll-now, 在几分钟内,不接触 命令行,构建一个Jekyll博客 现在的Jekyll是一个适合GitHub托管博客( Jekyll )的网站生成器通过消除很多前端设置,你可以更轻松地创建你的osm博客,从而创建你的博客。你不需要触摸 ...
Jekyll Now 让你在几分钟内构建Jekyll博客,而不用接触命令行
Atom-jekyll-atom.zip,在atom中使用jekyll的工具和片段的集合杰基尔原子,atom是一个用web技术构建的开源文本编辑器。
githubpage+jekyll构建博客的解决方案.docx
startbootstrap-clean-blog-jekyll, 一个全新的博客主题 Jekyll Bootstrap 启动 Bootstrap 博客官方版本博客是一个时尚的,反应性的博客主题,为 Bootstrap 创建,由启动 Bootstrap 。 这个主题有一个博客主页,关于...
该文档详细的介绍了如何在ubuntu服务器利用jekyll搭建属于自己的个人博客系统,教程非常简洁明了,手把手、一步步实现,能够快速的搭建起属于自己的个人博客网站。
jekyll-snippets, Jekyll站点常用Fragment库 ... 我已经在博客上建立了自己的博客,以及 Bootstrap 文档的文档和一个系列的主题文件。 这个库是一个常用的Jekyll Fragment库。电子邮件内容电子邮件日志用于归档或者 co
jekyll-admin 是一个 jekyll 插件,为用户提供了传统 CMS(内容管理系统)风格的图形化界面来创作内容和管理 jekyll 网站。该项目分为两部分。基于 Ruby 的 HTTP API 处理 jekyll 和文件系统的操作部分,以及在这个 ...
jekyll-blog 使用 github 写博客
启动和发布由 Jekyll 驱动的博客的最快方式。 100% 兼容 GitHub 页面 用法 有关所有用法和文档,请参阅: : 版本 0.3.0 - 使用稳定和版本。 注意: 0.3.0 引入了一个不向后兼容的新主题,因为它看起来不像旧版本...
用例您有一个使用Jekyll构建的博客,并且希望纯博客客户端具有轻量级的搜索功能吗? 无需维护服务器配置或数据库。 只需5分钟即可拥有一个可以正常运行的可搜索博客。维基查阅了解所有可用选项,并帮助进行故障排除...
jekyll-bootstrap-theme, jekyll Bootstrap/( sass版本) jekyll-bootstrap-themeJekyll Bootstrap/;参见现场演示 @ henrythemes.github.io/jekyll-bootstrap-theme 注意:主题使用 Bootstrap/scss