由于Front Matter

时间:2016-11-02 22:27:28

标签: sass jekyll scss-lint

我正在使用带有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块?

1 个答案:

答案 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。