0

我正在使用带有Syntastic语法检查插件的 Vim,配置为使用默认 sass 和 scss-lint lint 对 scss 文件进行 lint。
在 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 块?

4

1 回答 1

0

在您的用户目录中添加一个 .scss-lint.yml 配置文件,其中包含以下内容:

preprocess_command: "sed '1{/^---$/{:a N;/---$/!ba;d}}'"

scss-lint gem 将首先在当前工作目录中查找配置文件,然后在用户目录中查找。

int 指示scss preprocess_command-lint 首先通过 sed 命令运行 scss 文件的文本。

sed 命令去掉 Front Matter 块;然后将该文件传递给 scss-lint 进行错误检查,现在在第一行使用 @charset 声明。
如果从第一行开始的三个破折号之间没有 Front Matter 块---,则文件按原样从 sed 传递到 scss-lint。

于 2016-11-02T22:43:59.813 回答