jekyll-sass-converter不支持Sass注释?求配置解决方案
问题解答
核心原因
当你在SCSS文件顶部添加---(YAML Front Matter)时,Jekyll会将该文件识别为Liquid模板文件,而非单纯的Sass文件。此时文件会先经过Liquid解析器处理,而Sass的//和/* */注释语法并不被Liquid解析器认可,因此会抛出语法错误。
Jekyll本身并非有意不支持Sass注释,而是YAML Front Matter改变了文件的处理优先级。
解决方法
移除YAML Front Matter
如果你的SCSS文件不需要使用Liquid变量/标签(比如引用site配置、循环逻辑等),直接去掉顶部的---即可。默认情况下,只要文件后缀为.scss/.sass,放在_sass目录或assets目录下,jekyll-sass-converter会自动编译处理,完全支持原生Sass注释语法。保留Front Matter时兼容注释
若确实需要在SCSS中使用Liquid功能,需改用Liquid兼容的注释方式:- 单行注释替换为Liquid注释标签:
{% comment %} 这里是注释内容 {% endcomment %} - 多行注释也可嵌套使用Liquid注释块,或者确保
/* */注释内不包含Liquid语法(如{{ }}、{% %}),避免被Liquid解析器误判。
- 单行注释替换为Liquid注释标签:
确认Sass转换器配置
在_config.yml中可配置Sass编译选项,但这无法解决Front Matter带来的Liquid解析冲突,示例配置如下:sass: style: compressed # 可选:nested/expanded/compressed/compact source_map: false
内容的提问来源于stack exchange,提问作者zeozod
相关产品推荐
相关产品推荐

