从Jekyll手表中排除目录

时间:2016-02-09 20:12:54

标签: jekyll

我正在使用Jekyll 3.1.1生成博客,最近我推出了一个Git钩子,可以在推送前自动发布更改。

引入此挂钩后,我在运行jekyll serve时发现了以下错误:

Configuration file: /Users/egillespie/Projects/blog.givingjar.org/_config.yml
            Source: /Users/egillespie/Projects/blog.givingjar.org
       Destination: /Users/egillespie/Projects/blog.givingjar.org/_site
 Incremental build: disabled. Enable with --incremental
      Generating... 
                    done in 0.223 seconds.
        ** ERROR: directory is already being watched! **

        Directory: /Users/egillespie/Projects/blog.givingjar.org/node_modules/git-scripts/bin/hooks

        is already being watched through: /Users/egillespie/Projects/blog.givingjar.org/node_modules/git-scripts/bin/hooks

        MORE INFO: https://github.com/guard/listen/wiki/Duplicate-directory-errors
 Auto-regeneration: enabled for '/Users/egillespie/Projects/blog.givingjar.org'
Configuration file: /Users/egillespie/Projects/blog.givingjar.org/_config.yml
    Server address: http://127.0.0.1:4000/
  Server running... press ctrl-c to stop.

我在node_modules中排除_config.yml的特殊情况是什么:

exclude:
  - Gemfile
  - Gemfile.lock
  - LICENSE
  - README.md
  - package.json
  - Gruntfile.js
  - node_modules

node_modules被正确排除在构建之外(即node_modules中没有_site子目录。

我也在node_modules中排除.gitignore

# project
node_modules
_site*
.sass-cache
.jekyll-metadata

# general
.DS_Store
Thumbs.db
ehthumbs.db

基于this GitHub issuethis commit似乎node_modules似乎应从手表中排除,但事实并非如此。如果有另一种方法可以从手表中排除文件,我无法从文档中解读。

从手表中排除目录并避免上述错误的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

_config.yml中exclude参数的值应该是一个数组,即

exclude: ['_site', 'node_modules', ...]

来源:Jekyll Documentation - Configuration

答案 1 :(得分:0)

试试这个Tr

_config.yml

其中keep_files: [node] 是要从node中排除的文件夹。这样做会保留文件夹--watch untouched by jekyll build。然后添加您要保留在网站node中但未由Jekyll呈现的所有文件。