Jekyll Sass Converter 3.0 最近发布了,适用于 Jekyll 4.3 及以上版本。这次更新包含了一些重大变更: 特别是,这个插件停止使用 sassc 来将您的 Sass 部分文件和样式表转换为 CSS 文件。现在,转换器使用 sass-embedded gem 作为 Dart Sass 的接口,而 Dart Sass 是目前正在积极开发的 Sass 主要实现。sassc 所依赖的 libsass 已被开发者弃用。

不过,Dart Sass 与旧的 Ruby Sass 工作流不完全兼容

要求Permalink

  • 最低 Ruby 版本:Ruby 2.6.0(适用于所有平台)。
  • 最低 Rubygems 版本:3.3.22(适用于基于 Linux 的平台)。

迁移指南Permalink

移除 implementation 选项Permalink

v3.0.x 中,sass-embedded 是唯一支持的 Sass 实现,因此在 v2.2.0 中引入的配置选项 sass.implementation 已被移除。

移除 add_charset 选项Permalink

转换器将不再为 sassifyscssify Jekyll 过滤器生成 @charset "UTF-8";U+FEFF(字节顺序标记),因此 sass.add_charset 这个多余的选项已不再生效。

移除 line_comments 选项Permalink

sass-embedded 不支持 sass.line_comments 选项。

停止支持导入非标准扩展名的文件Permalink

sass-embedded 仅允许导入扩展名为 .sass.scss.css 的文件。在 .css 扩展名的文件中使用 SCSS 语法会导致语法错误。

停止支持相对站点源目录的文件导入Permalink

v2.x 版本中,即使站点源目录不在 Sass 的 load_paths 选项中,转换器也允许使用相对于站点源目录的路径进行导入。这是转换器中的一个错误所导致的副作用,由于其在实际使用中的存在,该行为在 v2.x 中将保持不变。

v3.x 版本中,使用相对站点源目录的路径进行导入将无法直接使用。要允许这些导入,必须在 load_paths 选项中显式添加 .(表示当前目录或站点源目录)。

停止支持导入与父文件同名的文件Permalink

v2.x 版本中,转换器允许从 sass_dirload_paths 中导入与父文件同名的文件。这是转换器中一个错误的副作用,由于其在实际使用中的存在,该行为在 v2.x 中将保持不变。

v3.x 版本中,导入与父文件同名的文件将会导致循环导入。要修复这种导入,需重命名其中一个文件,或者使用从父文件开始的完整相对路径。

Sass 实现中的行为差异Permalink

Dart Sass 和 Ruby Sass 之间存在一些有意的行为差异。详细信息请参考 Ruby Sass 的行为差异

希望 Jekyll 给你带来愉快的体验!

JekyllDo 持续为你提供优质的 Jekyll 中文教程服务,Jekyll 中文文档还看 JekyllDo.CN