2016-07-18 23 views
3

私はJekyllを使ってウェブサイトを作成しようとしています。私はカスタムデザインをしたいと思うまで。Jekyllは `jekyll serve`でscssファイルをコンパイルしません。

私は_sass/theme.scssで私のカスタムテーマを含めるために、私のcss/main.scssを更新しました:

// Import partials from `sass_dir` (defaults to `_sass`) 
@import 
     "base", 
     "layout", 
     "syntax-highlighting", 
     "theme" 
; 

jekyll serve -H 0.0.0.0が私の新しいSASSファイルをコンパイルしていなかったので、私はまた、_config.ymlを更新しました。私は、次を追加しました:

sass: 
    sass_dir: _sass 

問題がjekyll serveであることは、私は常にデフォルトのCSSを参照してください、私のSASSファイルをコンパイルしません。私はまた、の内容をcss/main.scssの最後に直接コピーしようとしましたが、何も起こりませんでした。

jekyll serveが実行されている間に、これらのファイルのいずれかを修正するまで。事はjekyll-watchは私の更新を理解し、scssファイルをコンパイルしています。 jekyll build最初の試行でsassファイルをコンパイルしないでください。あなたがそれを必要とする場合には

、ここに私のプロジェクトツリー:

. 
├── _config.yml 
├── css 
│   ├── main.css 
│   └── main.scss 
├── _images 
├── img 
├── index.html 
└── _sass 
    ├── _base.scss 
    ├── _layout.scss 
    ├── _syntax-highlighting.scss 
    └── _theme.scss 

誰かがこの問題を解決する方法を知っていますか?

+0

を削除しましたか? –

+0

私はそれを見つけることができます:[github.com/bj0rge](https://github.com/bj0rge/bjorge.xyz/tree/sassTest) – bjorge

答えて

6

よろしくお願いします。

css/main.cssファイルは、_site/css/main.cssに静的ファイルとしてコピーされています。

ターゲットと同じ名前の問題は、_site/css/main.cssです。最初のビルドでそう

  • css/main.scssは、静的なファイルがコピーされるとき、それはcss/main.cssによって上書きされ、その後、main.css
  • に処理されます。

ソリューション:あなたは私たちがあなたのコードを取得し、テストすることができリポジトリをcss/main.css

+0

ありがとう、ありがとう!奇妙なことに、 'css/main.css'と' css/main.scss'は 'jekyll new myblog'コマンドで生成されています。なぜなら、ファイル間に矛盾がある場合、なぜそれらの両方を作成するのでしょうか? – bjorge

+0

'jekyll new myblog'は' css/main.css'を作成しません。 –

1

はあなたmain.scssファイルの先頭に前付を追加した、ありがとう!

+0

はい、私の 'main.scss'ファイルは2行で始まります3つのダッシュの – bjorge

1

まず次に

あなたのCMDコンソールでその書き込み後 https://jekyllrb.com/docs/assets/

--- 
--- 

@charset "utf-8"; 

、あなたのmain.scssファイルでトップに2本の破線を追加するには、config.ymlに

sass: 
    sass_dir: _sass 

を追加

ジキルサイド

と編集内容を確認してください。

+0

私はすでにそれをしましたが、[@ david-jacquel](http://stackoverflow.com/questions/38437416/jekyll-doesnt-compile-scss-files-with-jekyll-serve#answer-38442415)何が間違っていた。とにかくありがとうございました! – bjorge

関連する問題