Jekyll文档(七) -- Variables

Jekyll会遍历网站寻找可以处理的文件。每个包含YAML Front Matter的文件都会被Jekyll处理。对于每个一文件,Jekyll都会通过Liquid templating system来创建很多可供使用的数据。下面是一些可用的数据。


全局变量

变量 说明

site

_config.yml文件中配置的全网站范围的信息和配置项。更详细的内容参考下面。

page

page专用的信息以及YAML Front Matter。用户在YAML front matter中设置的自定义变量也可以在这里使用。更详细的内容参考下面。

content

在布局文件中,post和page的内容会被封装起来。这个变量在post和page文件中没有定义。

paginator

这个变量在变量paginate变量被设置后才产生作用。详细内容参考Pagination


Site变量

变量 说明

site.time

当前时间(当你运行jekyll时)

site.pages

所有pages的列表

site.posts

所有posts的列表,按时间顺序倒序排列。

site.related_posts

如果当前处理的页面是post,则这个变量包含了至多十个的相关的posts的列表。 By default, these are low quality but fast to compute. For high quality but slow to compute results, run the jekyll command with the --lsi (latent semantic indexing) option.

site.categories.CATEGORY

所有指定分类CATEGORY中的posts的列表。

site.tags.TAG

所有包含标签TAG的posts的列表。

site.[CONFIGURATION_DATA]

所有通过命令行以及通过_config.yml设置的变量都可以通过变量site来访问。例如,在配置文件中设置了url:http://mysite.com,那么在posts和pages中可以通过变量site.url来使用设置的变量值。在watch模式下,Jekyll并不会去解析_config.yml文件,只在Jeykll服务启动的时候才会解析,因此如果你改变了配置项的值,你需要重新启动Jekyll来使改变生效。


Page变量

变量 说明

page.content

The un-rendered content of the Page.

page.title

page的标题

page.excerpt

The un-rendered excerpt of the Page.

page.url

post的URL,不包含域名,以"/"开头。例如:/2008/12/14/my-post.html

page.date

post指定的日期。这个变量可以在post的front matter中指定一个新的日期/时间来覆盖已有的日期,格式为:YYYY-MM-DD HH:MM:SS(假定是UTC世界标准时间),或者:YYYY-MM-DD HH:MM:SS +/-TTTT(使用一个相对UTC的偏移量来指定时区,例如:2008-12-14 10:30:00 +0900)。

page.id

post的唯一标识ID(对RSS feeds有用)。例如:/2008/12/14/my-post

page.categories

post所属的类别的列表。类别(categories)派生于_posts之上的目录结构。例如,一个设置page.categories变量为['work, 'code']的post将位于/work/code/_posts/2008-12-24-closures.md。这些可以在YAML Front Matter中进行设置。

page.tags

post所属的tags的列表。可以在YAML Front Matter中进行设置。

page.path

原生post或者page文件的路径。用法实例:链接到github上的page或者post的源文件。可以在YAML Front Matter中覆盖这个变量。

使用自定义的front-matter

任何你设置的front matter都可以在page下使用。例如:如果你在page的front matter中设定了custom_css: true,那么你就可以使用变量page.custom_css


Paginator

变量 说明

paginagor.per_page

每个page页面包含的posts数目。

paginator.posts

page页面可用的posts

paginator.total_posts

posts的总数

paginator.total_pages

pages的总数

paginator.page

当前page页面的编号

paginator.previous_page

前一个page页面的编号

paginator.previous_page_path

前一个page页面的path路径

paginator.next_page

后一个page页面的编号

paginator.next_page_path

后一个page页面的path路径

paginator变量的用途

这些变量只能用在index索引文件中。当然,索引文件可以放到子目录里,例如:/blog/index.html


PS:

文章翻译自jekyll官方文档(2013-09-20):

Variables



—  我的个人空间 |   —