2016-11-02 6 views
0

SyntasticシンタックスチェックプラグインでVimを使用しています。デフォルトのsassとscss-lintのlintersでlint scssファイルを設定しています。ダウン次の行に同じエラーのcharset宣言結果を削除
css/main.scss:5:1 [E] Syntax Error: Invalid CSS after "@charset "utf-8"": expected "{", was ";"フロントマットのため、@ charset UTF-8でscss-lintエラーが発生する

、およびように...
削除:ジキルプロジェクトで
オープニングCSS/main.scss、SCSS-lintのリターンエラーFront Matterブロックとscss-lintはエラーを報告しなくなりましたが、Jekyllはsassファイルの先頭にある空のFront Matterブロックを処理し、partialsをインポートしてcssを出力する必要があります。

Front Matterブロックを無視するようにscss-lintを設定するにはどうすればよいですか?で、その後、現在の作業ディレクトリに最初の設定ファイルを探します

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

SCSS-lintの宝石:

+0

これは、Vimやsyntasticとは関係ありません。 – romainl

+0

同意しない。私の目標は、Vimで編集中にファイルをリントすることです。文字セットエラーがこれをブロックしていました。 Vimの問題を解決することで、scss-lintがコマンドラインから使用されたときに同じエラーで窒息するのを防ぐことができます。 '.scss-lint.yml'がSyntasticによってまたはのVimで使用されていないSCSS、糸くずの設定ファイルであることを –

+1

。あなたの問題はscss-lintの問題であり、あなたの「修正」はscss-lintの修正です。あなたがVimでSyntasticを使用しているという事実は、修正の問題*と*に完全に直交しています。 – romainl

答えて

0

次を含むユーザーディレクトリに.scss-lint.yml設定ファイルを追加します。ユーザーディレクトリ。

最初のsedコマンドによってSCSSファイルのテキストを実行するために、SCSS-lintはpreprocess_command intstructs。

sedコマンドstrips out the Front Matter block;そのファイルは最初の行に@charset宣言を付けてエラーチェックのためにscss-lintに渡されます。
最初の行から始まる三角ダッシュ---の間にFront Matterブロックがない場合、ファイルはそのままsedからscss-lintに渡されます。

関連する問題