Jekyll中文文档__Layouts

Layouts 是环绕内容的模板。它们允许您将模板的源代码放在一个地方,这样您就不必在每一页上重复导航和页脚之类的内容。

Layouts 位于 _layouts 目录中。我们的惯例是,有一个名为 default.html 的基本模板,并根据需要从中 继承 其他布局。

Layouts Directory

Jekyll在站点 source 的根目录或主题的根目录中查找 _layouts 目录。

虽然您可以通过在配置文件中设置 layouts_dir "键"来配置布局所在的目录名,但目录本身应该位于站点 source 目录的根目录。

Usage

第一步是将模板源代码放在 default.html 中。content 是一个特殊变量,其值是要包裹的文章或页面的渲染内容。

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>{{ page.title }}</title>
    <link rel="stylesheet" href="/css/style.css">
  </head>
  <body>
    <nav>
      <a href="/">Home</a>
      <a href="/blog/">Blog</a>
    </nav>
    <h1>{{ page.title }}</h1>
    <section>
      {{ content }}
    </section>
    <footer>
      &copy; to me
    </footer>
  </body>
</html>

你可以完全访问原始的 front matter 。在上面的例子中,page.title 来自页面的 front matter 。

接下来,您需要指定您在页面 front matter 中使用的 layout 。您也可以使用 front matter defaults 来避免在每一页上都设置这个选项。

---
title: My First Page
layout: default
---

This is the content of my page

此页面的渲染输出为:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>My First Page</title>
    <link rel="stylesheet" href="/css/style.css">
  </head>
  <body>
    <nav>
      <a href="/">Home</a>
      <a href="/blog/">Blog</a>
    </nav>
    <h1>My First Page</h1>
    <section>
      This is the content of my page
    </section>
    <footer>
      &copy; to me
    </footer>
  </body>
</html>

Inheritance

当您想要为站点上部分文档的现有布局添加内容时,布局继承非常有用。一个常见的例子是博客文章,你可能希望一篇文章显示日期和作者,但在其他方面与你的基本布局相同。

为了实现这一点,你需要创建另一个布局,在 front matter 中指定你的原始布局。例如,此布局将位于 _layouts/post.html

---
layout: default
---
<p>{{ page.date }} - Written by {{ page.author }}</p>

{{ content }}

现在文章可以使用这种布局,而其他页面则使用默认布局。

Variables

你可以在布局中设置 front matter ,唯一的区别是当你在 Liquid 中使用时,你需要使用 layout 变量而不是 page 。例如:

---
city: San Francisco
---
<p>{{ layout.city }}</p>

{{ content }}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值