2017-06-05 2 views
1

Ich habe ein Problem, bei dem jekyll serve in einer Endlosschleife gefangen wird, wenn eine Datei geändert wird. Um dies zu debuggen, möchte ich wissen, welche Datei die Regeneration verursacht, aufgelistet in der Regenerating: 1 file(s) changed at ... Ausgabe.Wie mache ich `jekyll serve --watch` Liste, welche Datei neu generiert wird?

Zum Beispiel, hier ist meine Ausgabe:

[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. 

wie kann ich wissen, welche Datei die Regeneration ausgelöst hat?

+0

Derzeit ist es nicht möglich, sofort zu debuggen, welche Datei die Regenerierung auslöst. Wenn Sie mit Ruby vertraut sind und sich mit der Bearbeitung von Edelsteinen auskennen, habe ich einen [Patch] (https://github.com/jekyll/jekyll-watch/pull/42/files) im 'jekyll-watch'-Repo, der ' Ich werde darauf hinweisen, welche Datei (en) genau die Regeneration auslösen. – ashmaroli

Antwort

0

fand ich einen Weg, dies zu tun, aber ich wünschte, es gäbe einen einfacheren Weg war (wie durch @ashmaroli im Kommentar oben erwähnt):

Run bundle show jekyll-watch, wo befindet sich Ihre jekyll-watch Modul zu finden.

Sie sollten eine Datei mit dem Namen watcher.rb finden. Es sollte wie folgt aussehen: https://github.com/jekyll/jekyll-watch/blob/master/lib/jekyll/watcher.rb#L56

Fügen Sie dann eine Print- oder Debugger-Anweisung in Zeile 55-56 hinzu, um Informationen über die Datei zu erhalten, die die Generierung verursacht.

Verwandte Themen