Jekyll(四). 常用变量

在_layouts的布局文件与_includes的模块中能够看到 site.theme_mode,if page.mermaid 等语句调用常量与变量,那么其中site,page就是Jekyll的全局(Global)变量。
Jekyll 会遍历你的网站搜寻要处理的文件。任何有 YAML 头信息的文件都是要处理的对象。对于每一个这样的文件,Jekyll 都会通过 Liquid 模板工具来生成一系列的数据。下面就是这些可用数据变量的参考和文档。

变量说明
site来自_config.yml文件,全站范围的信息+配置。
page页面专属的信息 + YAML 头文件信息。通过YAML头文件自定义的信息都可以在这里被获取。
layout布局特定信息 +YAML 头信息。通过 YAML 前言设置的自定义布局变量。
content被 layout 包裹的那些 Post 或者 Page 渲染生成的内容。但是又没定义在 Post 或者 Page 文件中的变量
paginator每当 paginate 配置选项被设置了的时候,这个变量就可用了。

全站(site)变量

变量说明
site.time当前时间(运行jekyll这个命令的时间点)
site.pages所有 Pages 的清单。
site.posts一个按照时间倒序的所有 Posts 的清
site.related_posts如果当前被处理的页面是一个 Post,这个变量就会包含最多10个相关的 Post。默认的情况下,相关性是低质量的,但是能被很快的计算出来。如果你需要高相关性,就要消耗更多的时间来计算。用 jekyll 这个命令带上 --lsi (latent semantic indexing) 选项来计算高相关性的 Post。注意,GitHub 在生成站点时不支持 lsi。
site.static_files静态文件的列表 (此外的文件不会被 Jekyll 和 Liquid 处理。)。每个文件都具有三个属性: path, modified_time 以及 extname。
site.html_pages‘site.pages’的子集,存储以‘.html’结尾的部
site.html_files‘site.static_files’的子集,存储以‘.html’结尾的部分。
site.collections一个所有集合(collection)的清单。
site.data一个存储了 _data 目录下的YAML文件数据的清单。
site.documents每一个集合(collection)中的全部文件的清单。
site.categories.CATEGORY所有的在 CATEGORY 类别下的帖子。
site.url包含您在 _config.yml 中配置的站点的 URL。例如,如果您的配置文件中有 url: http://mysite.com,那么它可以在 Liquid 中作为 site.url 访问。对于开发环境有一个例外,如果你在开发环境中运行jekyll serve,site.url将被设置为host,port和SSL相关选项的值。这默认为 url:http://localhost:4000
site.tags.TAG所有的在 TAG 标签下的帖子。
site.[CONFIGURATION_DATA]所有的通过命令行和 _config.yml 设置的变量都会存到这个 site 里面。 举例来说,如果你设置了 url: http://mysite.com 在你的配置文件中,那么在你的 Posts 和 Pages 里面,这个变量就被存储在了 site.url。Jekyll 并不会把对 _config.yml 做的改动放到 watch 模式,所以你每次都要重启 Jekyll 来让你的变动生效。

页面(page)变量

变量说明
page.content页面内容的源
page.title页面的标
page.excerpt页面摘要的源
page.url帖子以斜线打头的相对路径,例子: /2008/12/14/my-post.html。
page.date帖子的日期。日期的可以在帖子的头信息中通过用以下格式 YYYY-MM-DD HH:MM:SS (假设是 UTC), 或者 YYYY-MM-DD HH:MM:SS +/-TTTT ( 用于声明不同于 UTC 的时区, 比如 2008-12-14 10:30:00 +0900) 来显示声明其他 日期/时间 的方式被改写,
page.id帖子的唯一标识码(在RSS源里非常有用),比如 /2008/12/14/my-post
page.categories这个帖子所属的 Categories。Categories 是从这个帖子的 _posts 以上 的目录结构中提取的。举例来说, 一个在 /work/code/_posts/2008-12-24-closures.md 目录下的 Post,这个属性就会被设置成 [‘work’, ‘code’]。不过 Categories 也能在 YAML 头文件信息 中被设置。
page.tags这个 Post 所属的所有 tags。Tags 是在YAML 头文件信息中被定义的。
page.pathPost 或者 Page 的源文件地址。举例来说,一个页面在 GitHub 上的源文件地址。 这可以在 YAML 头文件信息 中被改
page.next当前文章在site.posts中的位置对应的下一篇文章。若当前文章为最后一篇文章,返回nil
page.previous当前文章在site.posts中的位置对应的上一篇文章。若当前文章为第一篇文章,返回nil

分页器(Paginator)

变量说明
paginator.per_page每一页 Posts 的数量。
paginator.posts这一页可用的 Posts。
paginator.total_postsPosts 的总数。
paginator.total_pagesPages 的总数。
paginator.page当前页号。
paginator.previous_page前一页的页号。
paginator.previous_page_path前一页的地址。
paginator.next_page下一页的页号。
paginator.next_page_path下一页的地址。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值