我正在使用带有Syntastic语法检查插件的Vim,配置为使用默认sass和scss-lint linters lint scss文件。
在Jekyll项目中打开css / main.scss,scss-lint返回错误:
css/main.scss:5:1 [E] Syntax Error: Invalid CSS after "@charset "utf-8"": expected "{", was ";"
删除charset声明会在下一行中导致相同的错误,依此类推......
删除Front Matter块和scss-lint不再报告错误,但是Jekyll需要在sass文件的头部处有一个空的Front Matter块来处理它并导入部分和输出css。
如何配置scss-lint以忽略Front Matter块?
答案 0 :(得分:0)
在您的用户目录中添加.scss-lint.yml配置文件,其中包含以下内容:
preprocess_command: "sed '1{/^---$/{:a N;/---$/!ba;d}}'"
scss-lint gem将首先在当前工作目录中查找配置文件,然后在用户目录中查找。
preprocess_command
intstructs scss-lint首先通过sed命令运行scss文件的文本。
sed命令strips out the Front Matter block;然后将文件传递给scss-lint,以便在第一行使用@charset声明进行错误检查
如果在第一行开始的三个短划线---
之间没有Front Matter块,则文件将从sed传递到scss-lint。