2017-06-05 6 views
1

私は、ファイルが変更されたときにjekyll serveが無限ループで捕捉されるという問題を抱えています。これをデバッグするには、どのファイルが再生を引き起こしているのかを、Regenerating: 1 file(s) changed at ...出力に列挙します。どのファイルを再生成する `jekyll serve --watch`リストを作成するのですか?

たとえば、ここに私の出力です:

[my-pc]/home/.../websites/openseattle.github.io$ bundle exec jekyll serve 
Configuration file: /home/lucas/projects/websites/openseattle.github.io/_config.yml 
      Source: /home/lucas/projects/websites/openseattle.github.io 
     Destination: /home/lucas/projects/websites/openseattle.github.io/_site 
Incremental build: disabled. Enable with --incremental 
     Generating... 
        done in 0.616 seconds. 
Auto-regeneration: enabled for '/home/lucas/projects/websites/openseattle.github.io' 
Configuration file: /home/lucas/projects/websites/openseattle.github.io/_config.yml 
    Server address: http://127.0.0.1:4000/ 
    Server running... press ctrl-c to stop. 
     Regenerating: 2 file(s) changed at 2017-06-04 19:40:58 ...done in 0.485150987 seconds. 
     Regenerating: 1 file(s) changed at 2017-06-04 19:40:59 ...done in 0.45860538 seconds. 
     Regenerating: 1 file(s) changed at 2017-06-04 19:41:00 ...done in 0.482768408 seconds. 
     Regenerating: 1 file(s) changed at 2017-06-04 19:41:00 ...done in 0.46793245 seconds. 
     Regenerating: 1 file(s) changed at 2017-06-04 19:41:01 ...done in 0.466628054 seconds. 

どのように私は再生をトリガしたファイルを知っていますか?

+0

現在、どのファイルが再生をトリガーするかをデバッグするのは不可能です。あなたがRubyに慣れていて、宝石の編集に慣れているなら、私は 'jekyll-watch'リポジトリに[patch](https://github.com/jekyll/jekyll-watch/pull/42/files)どのファイルが再生を引き起こすかを指摘するでしょう。 – ashmaroli

答えて

0

私はこれを行う方法を見つけましたが、私はもっと簡単な方法(上記のコメントに@ashmaroliで述べたように)があったことを望む:

実行bundle show jekyll-watchがあなたのjekyll-watchモジュールが置かれている場所を見つけるために。

watcher.rbという名前のファイルがあります。 https://github.com/jekyll/jekyll-watch/blob/master/lib/jekyll/watcher.rb#L56

次に、55-56行目に印刷またはデバッガーのステートメントを追加して、生成の原因となっているファイルに関する情報を取得してください。

関連する問題