我是Jekyll的新手(实际上我不是前端开发人员(。在许多情况下,当使用Jekyll时,我应该使用site.pages
或page.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
访问