渲染过程 Rendering Process

Jekyll 站点的 构建过程 包括以下几个阶段:设置插件、读取源文件、运行生成器、渲染模板将文件写入磁盘

这些阶段比较容易理解,不过 渲染阶段 需要详细的说明下。

渲染阶段分三个步骤。每个被渲染的文件会根据文件的内容、页面头部参数(Front matter)和扩展名。就像流水线一样,每个步骤的 输出 会成为下一步骤的 输入(内容、页面头部参数(Front matter)如果为空会直接进入下一步):

  1. 解读文件中的 Liquid 表达式
    • 这一步会计算当前文件中的 Liquid 表达式。默认情况下,这是浅层次的解读,结果输出中的任何 Liquid 表达式都不会被进一步解析。此外,文件的 页面头部参数(Front matter) 中的任何 Liquid 表达式都不会被处理。
  2. 转换文件(生成文件)
    • 这一步调用与文件扩展名对应的转换器,并转换输入字符串。例如,将 Markdown 转换为 HTML,将 Sass/Scss 转换为 CSS,或者将 CoffeeScript 转换为 JavaScript。这一步取决于文件的扩展名,所以 .html 文件中的 Markdown 或 Sass 不会被处理。
  3. 应用布局
    • 到这一步,源文件 被认为已经渲染完毕,不会被重新处理。然而,根据文件的扩展名和头部参数,可以决定是否将前一个步骤的 输出 放入布局中。Sass 文件或 CoffeeScript 文件的输出 永远不会 被放入布局中,而普通文本输出是否放入布局取决于头部参数中是否指定了布局。放入布局的过程类似于将一个小盒子放入一个大盒子,前一步的转换输出形成核心,布局会在核心上逐层 渲染