网站或页面变量的Jekyll定义



我是Jekyll的新手(实际上我不是前端开发人员(。在许多情况下,当使用Jekyll时,我应该使用site.pagespage.title等。

在官方文档中,这些变量是有意义的。然而,看完之后我还是很困惑。

例如:

  • site.pages:所有页面的列表
  • page.title:页面的标题

我仍然想知道";所有页面":我的项目根目录中的所有页面?或者我项目中任何深度的所有页面?此外,页面的定义是什么?

我认为文档对我来说不够清楚。有人知道更具体的细节吗,比如site.pages的定义位置吗?如果我知道定义在哪里,也许我可以得到更多。

更多:

  • site:站点范围的信息+来自_config.yml的配置设置

所以关于所有";站点范围信息";,或者这些"符号"的定义位置;全站点信息";?

任何帮助都是感激的。

在基本级别上,Jekyll中有5种数据类型

  • 页面
  • 静态文件
  • 文件
  • 集合
  • 数据文件

粗体的前两个可以看作内容类型基元。Jekyll使用前体—由一对三个连续的短划线包围的键值对。例如:

---
foo: bar
---

—以确定给定的内容文件是否需要由Jekyll处理

如果文件一开始就不包含前体,则只需按原样将其从source复制到destination,而不做任何更改。这样的文件被称为静态文件

否则,将发送文件的内容进行处理,最终生成HTML文件。此类文件是页面文档。这两者之间的区别在于文件是否是集合的一部分。

集合是包含在一个特殊目录中的一组文件。目录名以下划线开头,必须在配置文件中显式列出(不带前导下划线(,才能将其视为Collection目录以front matter开头的文件(在集合中(被视为文档。那些没有前端事务的只是静态文件


简单地说,site.pages包括所有在一开始就包含前沿内容但本身不属于任何集合的文件。在项目目录的根目录中有这样一个about.md吗?这是一个页面

集合中的文档可通过集合进行访问。因此,如果您的站点有一个标签为movies的集合和目录_movies中的两个文件,则可以通过site.movies访问它们


posts是一个预定义的集合,以特殊状态处理。个人帖子不需要包含前沿内容,并且仍然可以通过site.posts访问

最新更新