jekyll - 站点或页面变量的 Jekyll 定义?
问题描述
我是 Jekyll 的新手(实际上我不是前端开发人员)。在很多情况下,当使用 Jekyll 时,我应该使用site.pages
or page.title
ect。
在官方文档中,这些变量是有含义的。然而,读完之后,我还是一头雾水。
例如:
site.pages
:所有页面的列表;page.title
:页面的标题;
我仍然想知道“所有页面”是什么意思:我项目根目录中的所有页面?还是我项目任何深度的所有页面?除了页面的定义是什么?
我认为文档对我来说不够清楚。任何人都知道更具体的细节,例如代码中的定义位置site.pages
?如果我知道定义在哪里,也许我可以得到更多。
和更多:
site
:站点范围的信息+配置设置来自_config.yml
。
那么关于所有“站点范围信息”的更多信息,或这些“站点范围信息”的定义位置?
任何帮助都将不胜感激。
解决方案
在基础层面,Jekyll 中有5 种数据类型。
- 页面
- 静态文件
- 文件
- 收藏品
- 数据文件
前两个粗体可以看作是内容类型原语。Jekyll 使用前面的东西——由一对连续的三个破折号包围的键值对。例如:
---
foo: bar
---
— 确定给定的内容文件是否需要由 Jekyll处理。
如果文件一开始不包含前面的内容,则将其简单地从原样复制source
到destination
原样而不做任何更改。这样的文件称为静态文件。
否则,文件的内容将被发送以进行处理,最终生成一个 HTML 文件。此类文件是Pages或Documents。这两者之间的区别在于文件是否是集合的一部分。
集合是包含在特殊目录中的一组文件。目录名称以下划线开头,并且必须在配置文件中明确列出(不带前导下划线),才能将其视为 Collection 目录。以开头内容开头的文件(在集合中)被视为Documents。那些没有前题的只是静态文件。
简而言之,site.pages
包括所有那些一开始就包含前沿内容但本身不属于任何集合的文件。about.md
在你的项目目录的根目录下有这样一个吗?它是一个Page。
集合内的文档是通过集合访问的。因此,如果您的网站有一个 Collection 标签和movies
目录中的_movies
几个文件,那么它们可以通过以下方式访问site.movies
posts
是预定义的集合并以特殊状态处理。个别帖子不需要包含前面的内容,它们仍然可以通过以下方式访问site.posts
推荐阅读
- android - Flutter:如何修复多行启用文本字段底部的 SuffixIcon?
- azure-web-app-service - 从 ASP.NET CORE WEB API 向应用程序洞察添加请求
- javascript - 如何立即更新子组件中的父状态
- salesforce - 无法在 SFCC Demandware 中保存用户选择的选项列表值
- c++ - 在 Linux 上将正在运行的应用程序中的共享对象热更新到新版本
- javascript - Cordova webview + 角度
- java - Spring Boot JPA:GetRequest 没有输出
- spring-boot - Spring Boot REST Api中的一对多关系
- javascript - 在参数链接中添加随机值
- azure - 如何在 Azure SSAS 上部署多维数据集(XMLA 格式)