`
sunxboy
  • 浏览: 2868953 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

jekyll 中的常用变量

 
阅读更多

常用变量

Jekyll 会遍历你的网站搜寻要处理的文件。任何有 YAML 头信息的文件都是要处理的对象。对于每一个这样的文件,Jekyll 都会通过 Liquid 模板工具来生成一系列的数据。下面就是这些可用数据变量的参考和文档。

全局(Global)变量

变量说明

site

来自_config.yml文件,全站范围的信息+配置。详细的信息请参考下文

page

页面专属的信息 + 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。

site.categories.CATEGORY

所有的在 CATEGORY 类别下的帖子。

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.path

Post 或者 Page 的源文件地址。举例来说,一个页面在 GitHub 上的源文件地址。 这可以在 YAML 头文件信息 中被改写。

ProTip™: Use custom front-matter

任何你自定义的头文件信息都会在 page 中可用。 距离来说,如果你在一个 Page 的头文件中设置了 custom_css: true, 这个变量就可以这样被取到 page.custom_css

分页器(Paginator)

变量说明

paginator.per_page

每一页 Posts 的数量。

paginator.posts

这一页可用的 Posts。

paginator.total_posts

Posts 的总数。

paginator.total_pages

Pages 的总数。

paginator.page

当前页号。

paginator.previous_page

前一页的页号。

paginator.previous_page_path

前一页的地址。

paginator.next_page

下一页的页号。

paginator.next_page_path

下一页的地址。

分页器变量的可用性

这些变量仅在首页文件中可用,不过他们也会存在于子目录中,就像 /blog/index.html

分享到:
评论

相关推荐

    vscode-jekyll-snippets::test_tube:Visual Studio代码的Jekyll片段

    4. **变量(Variables)**:快速插入Jekyll内置变量,如`site.title`、`page.content`等。 5. **Liquid模板标签**:插入常用的 Liquid 模板标签,如`{% include %}`、`{% for %}`、`{% if %}`等。 6. **自定义配置...

    jekyll-base1

    5. **Liquid模板**:Jekyll 使用 Liquid 模板语言来实现动态内容,比如插入变量、控制流程或调用函数。 6. **数据文件**:在 `_data` 目录下的 YAML、JSON 或 CSV 文件可以用来存储非文章内容的数据,这些数据可以...

    blog:我在jekyll上的博客

    Markdown是Jekyll中常用的一种轻量级标记语言,它允许用户使用易读易写的纯文本格式编写文档,然后转换成结构化的HTML文档。掌握Markdown语法,如标题、列表、代码块、链接、图片插入等,可以使你在编辑博客文章时...

    xyzzy.github.io:我的个人博客的Jekyll来源

    此外,Jekyll还支持 YAML Front Matter,这是一种在Markdown文件开头添加元数据的方式,用于控制特定页面的布局和变量。 6. **插件与自定义**:虽然GitHub Pages对可用的Jekyll插件有限制,但用户仍可以通过编写...

    pcdavid.github.io:我的个人网站的源代码

    它是Jekyll中创建网页内容的常用方式,因为它比直接编写HTML更简单。 4. **GitHub Pages**: GitHub Pages是一项免费的服务,允许用户将静态网站托管在GitHub上。对于个人用户,`username.github.io`的命名规则使得...

    loulouyy.github.io

    Jekyll 支持自定义布局、主题和变量,使得创建博客、文档站点等变得简单。它的核心优势在于简洁、高效和易于部署,特别是与 GitHub Pages 配合时。 **GitHub Pages** GitHub Pages 是 GitHub 提供的一项服务,允许...

    python全栈学习

    安装过程中可以选择添加环境变量以便在命令行中直接调用Python命令。 #### Python基本语法 - **变量声明**:Python中的变量无需显式声明类型,如`x = 5`。 - **数据类型**:包括整型(int)、浮点型(float)、字符串...

    RIMEL-UCA.github.io:Le livre

    Jupyter Notebook是一种交互式计算环境,允许用户编写和运行代码,并且可以轻松地组合文本、公式、图像和代码输出,是数据科学和教学中常用的一种工具。 在压缩包子文件"RIMEL-UCA.github.io-master"中,"master...

    EnrichettaMileti.github.io

    2. **变量类型**:Ruby有四种基本的变量类型:局部变量(以小写字母或下划线开头),实例变量(以`@`开头),类变量(以`@@`开头),和全局变量(以`$`开头)。 3. **Ruby中的对象**:在Ruby中,一切都是对象,包括...

    毕业设计MATLAB_偏微分方程的数值方法.zip

    - **有限差分法**(FTCS和BTCS):FTCS代表前向时间、中心空间,而BTCS是后向时间、中心空间,都是求解PDEs的常用差分格式,主要用于模拟时间和空间的变化。 - **ParabolicPDEs, Hyperbolic, Elliptic PDEs**:这...

    博客:有关代码和科学的博客

    `define_method`和`method_missing`是元编程中常用的工具。此外,Ruby的闭包(Proc和Lambda)及块(用do...end或{}包裹的代码段)也是其强大的功能,它们允许在函数或方法中传递可执行的代码。 函数和方法是Ruby中...

    blog:GeveoAustralasia的静态博客网站

    在SCSS的使用中,开发者可能创建了多个独立的 partials(部分文件),如`_variables.scss`来定义全局变量,`_mixins.scss`来包含常用的混合方法,以及`_header.scss`、`_footer.scss`等针对特定组件的样式。...

    mlpack.org:资料来源www.mlpack.org

    1. `_config.yml` - Jekyll 配置文件,定义了站点设置、变量和插件。 2. `_includes` - 用于在多个页面中重用的 HTML 片段。 3. `_layouts` - 网站的布局模板,如首页、文章页等。 4. `_posts` - 包含Markdown格式的...

    github.io

    在IT行业中,GitHub是一个非常重要的平台,特别是对于开发者而言,它是全球最大的开源代码托管仓库。`github.io`是GitHub提供的一项服务,它允许用户创建个人或组织的静态网站。这个服务基于Jekyll,一个静态站点...

    clarkfitzg.github.io:个人博客

    通过对这个博客项目的源代码进行分析,我们可以学习到如何利用Ruby和Jekyll创建和管理个人博客,包括Markdown的语法、Jekyll的变量和插件、自定义主题以及如何部署到GitHub Pages。同时,这也可能是一个了解个人...

    html 压缩使用的 js

    JavaScript可以通过读取HTML源代码,然后进行诸如删除空格、换行符、注释等无用字符,以及进行变量和函数名的混淆来实现压缩。这种方法虽然不能像专业工具那样进行深度优化,但在某些场景下还是非常有用的。 3. ...

    TheLastVvV.github.io

    在IT领域,"现场"这个词并不常用,但在这里可能是为了强调网站的即时性和动态性。 【标签】"SCSS" 指的是Sass(Syntactically Awesome Style Sheets)的一个版本,它是CSS的预处理器。SCSS允许我们使用变量、嵌套...

    lentil-soup.github.io

    6. `_config.yml` - Jekyll配置文件,设置网站的元数据和全局变量。 7. `404.html` - 自定义的404错误页面,当用户尝试访问不存在的页面时显示。 8. `.gitignore` - 定义了在版本控制中忽略哪些文件或目录的规则。 ...

    kbrehme.github.io

    项目中的JavaScript代码会涵盖变量、数据类型、控制结构(如if语句和循环)、函数以及事件处理等基本元素。 2. **DOM操作**:Document Object Model (DOM)是HTML和XML文档的编程接口。在JavaScript中,通过DOM可以...

    小白仿造阅文首页前端练习

    4. CSS样式属性:学习颜色、字体、边框、背景、过渡、动画等常用样式属性,以及如何设置元素的尺寸、位置和对齐方式。 5. 图片处理:了解如何通过CSS调整图片大小、裁剪、平铺等,以及使用`background-size`和`...

Global site tag (gtag.js) - Google Analytics